Is there a trick to making a sub-component participate in a feature (ExtrudeFeature, SweepFeature, etc.)?
I've tried using the SweepFeature.AddParticipant(ComponentOccurrence) and ExtrudeFeature(ComponentOccurrence) functions, and both work fine when the ComponentOcurrence is a direct component of the assembly.
However, if I explode down another level, and pass in a ComponentOccurrence for a sub-component, I get an INVALID_ARG error.
I can do this manually in the Inventor model browser.
I worked around the problem by collapsing the assembly structure, but now my customer is pressing me "to do it right".
If necessary, I'll reconstruct a the code snippet that was failing.
Any help is appreciated. thanks
Below sample will show how to implement it:
Sub AddParticipantSample() ' New an assembly, place a sub-assembly which has two occurrences ' create an extrude feature on the first occurrence of the sub-assembly Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument Dim oExtrude As ExtrudeFeature Set oExtrude = oDoc.ComponentDefinition.Features.ExtrudeFeatures(
1) Dim oOcc As ComponentOccurrence Set oOcc = oDoc.ComponentDefinition.Occurrences(1) Dim oSubOccProxy As ComponentOccurrenceProxy oOcc.CreateGeometryProxy oOcc.SubOccurrences(2), oSubOccProxy oExtrude.AddParticipant oSubOccProxy End Sub
You may want to see a topic in API document titled "Introduction to proxies", it will explain the concept of proxy. Hope this helps.
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register