By Adam Nagy
Projecting entities into a sketch is really easy through the API.
E.g. projecting the origin planes which are perpendicular to the sketch can be done like this in VBA:
Public Sub ProjectPerpendicularOriginPlanes() Dim doc As Document Set doc = ThisApplication.ActiveDocument If Not TypeOf doc Is PartDocument Then Call MsgBox("You need to be inside a part document") Exit Sub End If Dim ao As PlanarSketch Set ao = ThisApplication.ActiveEditObject If Not TypeOf ao Is PlanarSketch Then Call MsgBox("You need to be inside a sketch") Exit Sub End If Dim pd As PartDocument Set pd = doc Dim cd As PartComponentDefinition Set cd = pd.ComponentDefinition Dim sk As PlanarSketch Set sk = ao ' The origin planes are the first 3 ' in the WorkPlanes collection Dim i As Integer For i = 1 To 3 Dim wp As WorkPlane Set wp = cd.WorkPlanes(i) ' If the WorkPlane was already added ' then AddByProjectingEntity would throw ' an error. ' To avoid that we can do error handling: On Error Resume Next If wp.Plane.IsPerpendicularTo(sk.PlanarEntityGeometry) Then ' Checking if the workplane is perpendicular might ' be an overkill because if not, then the below ' function would throw an error. ' But I think it's nicer if we check :) Call sk.AddByProjectingEntity(wp) End If On Error GoTo 0 Next i End Sub