Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

@Guthery1 

If you look at what actually happens when you create a plane by line, plane and angle in an assembly, it adds a plane and then it adds a mate constraint to the line and an angle constraint to the plane. You can write your own function to mimic this behaviour.

See example below:

 

 

Sub Main
	Dim yAxis As WorkAxis = ThisDoc.Document.ComponentDefinition.WorkAxes("Y Axis")
	Dim YZPlane As WorkPlane = ThisDoc.Document.ComponentDefinition.WorkPlanes("YZ Plane")
	Dim oWPlane As WorkPlane = AddPlaneByLinePlaneAndAngle(yAxis, YZPlane, 45)
	oWPlane.Name = "Plane_Name"
End Sub

Function AddPlaneByLinePlaneAndAngle(_line As Object, _plane As Object, _angle As Double) As WorkPlane
	Dim oAsm As AssemblyDocument = ThisDoc.Document
	Dim oDef As AssemblyComponentDefinition = oAsm.ComponentDefinition
	Dim oOriginPnt As Point
	Dim oXaxis As UnitVector
	Dim oYaxis As UnitVector
	oOriginPnt = ThisApplication.TransientGeometry.CreatePoint(0#, 0#, 0#)
	oXaxis = ThisApplication.TransientGeometry.CreateUnitVector(1#, 0#, 0#)
	oYaxis = ThisApplication.TransientGeometry.CreateUnitVector(0#, 1#, 0#)
	Dim oPlane As WorkPlane = oDef.WorkPlanes.AddFixed(oOriginPnt, oXaxis, oYaxis)
	oPlane.AutoResize = True
	oDef.Constraints.AddMateConstraint(_line, oPlane, 0, InferredTypeEnum.kInferredLine, InferredTypeEnum.kNoInference)
	Dim oAngleConstraint As AngleConstraint = oDef.Constraints.AddAngleConstraint(_plane, oPlane, 0, AngleConstraintSolutionTypeEnum.kDirectedSolution)
	oAngleConstraint.Angle.Expression = _angle.ToString
	oPlane.AutoResize = False
	ThisDoc.Document.Update
	Return oPlane
End Function