Ilogic Extrusion from Derived Part
Not applicable
04-21-2018
09:55 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I'm trying to create an extruded cut 'through all' from a sketch that I have included from a derived part however the sketch is not recognised as a profile when calling the extrude feature in iLogic. All my search results thus far have been referencing extrusions in standard parts but I imagine that my problem would be very common to skeletal modelling when coupled with iLogic...
I have attached my model with the code in question
Apologies in advance for some potentially horrendous code, I'm still very much a beginner and at the copy from forum to ilogic rule stage and repeat as required
Any help would be much appreciated.
'Prompt for user form
'iLogicForm.Show("Create Wedge Type Sideliner")
'set a reference to the setup sideliner component definintion.
'this assumes a part document is open.
Dim oPartCompDef As PartComponentDefinition
oPartCompDef = ThisApplication.ActiveDocument.ComponentDefinition
'define the path and file name
Dim sPathandName As String
sPathandName = ThisDoc.PathAndFileName(False)
' Create a new part file to derive the selected part into
'note: kPartDocumentObject is the default template
'you could specify a path and file name for a custom template
Dim oPartDoc As PartDocument
oPartDoc = ThisApplication.Documents.Add(kPartDocumentObject, ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))
'create the derived setup sideliner part definition
Dim oDerivedPartDef As DerivedPartDefinition
oDerivedPartDef = oPartDoc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.CreateDefinition(sPathandName & ".ipt")
'Set derive style options
oDerivedPartDef.DeriveStyle = DerivedComponentStyleEnum.kDeriveAsSingleBodyWithSeams
'options:
'kDeriveAsSingleBodyWithSeams
'kDeriveAsSingleBodyNoSeams
'kDeriveAsMultipleBodies
'kDeriveAsWorkSurface
'Create the derived part
Dim oDerivedPart As DerivedPartComponent
'MsgBox(sPathandName)
oDerivedPart = oPartDoc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.Add(oDerivedPartDef)
Dim oDerivedPartComp As DerivedPartComponent
oDerivedPartComp = oPartDoc.ComponentDefinition.ReferenceComponents.DerivedPartComponents(1)
Dim oDerivedPartDef_2 As DerivedPartUniformScaleDef
oDerivedPartDef_2 = oDerivedPartComp.Definition
Dim oDerEntity As DerivedPartEntity
Dim oProfile As Profile
For Each oDerEntity In oDerivedPartDef_2.Sketches
If (oDerEntity.ReferencedEntity.Name = "final_sideliner_height_mod") Then
oDerEntity.IncludeEntity = True
'MsgBox("found it")
Exit For
End If
Next
Dim oSketch As DerivedPartEntity
oSketch = oDerivedPartDef_2.Sketches("final_sideliner_height_mod")
'***THIS {PART HERE IS NOT WORKING FOR DERIVED PART SKETCH AS PROFILE LOOP IN THE EXTRUSION BELOW
'oProfile = oSketch.AddForSolid
'Set Definition back, so DerivedPart Document is updated
oDerivedPartComp.Definition = oDerivedPartDef_2
Dim oPartCompDef_2 As PartComponentDefinition
oPartCompDef_2 = ThisApplication.ActiveDocument.ComponentDefinition
'Modify the Derived Setup Sideliner into the Final Geometry
'Step 1 - Adjust the height:
' Create an extrusion
Dim oExtrude As ExtrudeFeature
oExtrude = oPartCompDef_2.Features.ExtrudeFeatures.AddByDistanceExtent(oSketch,1000,kSymmetric,kCutOperation)
iLogicVb.UpdateWhenDone = True