In an assembly document, I try to add a MateConstraint between male and female side of an 45 degres elbow.
The male side is built on the XZ Plane and Y Axis And I try to create a workplane on the female face.
But a got an error with the last line of code. Here's my code (vb.net code) :
' Get application object
Dim app As Inventor.Application = GetObject(, "Inventor.Application")
Dim doc As Inventor.AssemblyDocument = app.ActiveDocument
' Get the selected occurrence
Dim occ As Inventor.ComponentOccurrence = doc.SelectSet.Item(1)
Dim body As Inventor.SurfaceBody = occ.SurfaceBodies(1)
' Get the face on female side
Dim face As Inventor.Face = body.Faces(58)
Dim params(3), normals(3) As Double
Dim vector As Inventor.Vector = app.TransientGeometry.CreateVector(normals(0), normals(1), normals(2))
Dim plane As Inventor.Plane = app.TransientGeometry.CreatePlane(face.PointOnFace
Dim workplane As Inventor.WorkPlane = doc.ComponentDefinition.WorkPlanes.AddByPlaneAndPo
Thank for help.
Solved! Go to Solution.
Comments from the API Help Files for method AddByPlaneAndPoint :
"This method is not currently supported when creating a work plane within an assembly"
In an assembly document only AddFixed method is supported. This is valid for all kind of wokfeatures.
Developer Technical Services
Global Subscription & Support
Thanks for your answer.
I've found a solution. I didn't know that I could create constraint between FaceProxy and WorkPlaneProxy.
Dim app As Inventor.Application = GetObject(, "Inventor.Application") Dim doc As Inventor.AssemblyDocument = app.ActiveDocument Dim occ As Inventor.ComponentOccurrence = doc.ComponentDefinition.Occurrences(1) Dim occ2 As Inventor.ComponentOccurrence = doc.ComponentDefinition.Occurrences(2) Dim faceProxy As Inventor.FaceProxy = occ.SurfaceBodies(1).Faces(58) Dim wp As Inventor.WorkPlane = occ2.Definition.WorkPlanes.Item("XZ Plane") Dim wpProxy As Inventor.WorkPlaneProxy = Nothing occ2.CreateGeometryProxy(wp, wpProxy) doc.ComponentDefinition.Constraints.AddFlushConstr
aint(wpProxy, faceProxy, "0""")
How to do the same for a part? And how to create a workplane from a selected face?
Thank you for the answer