Message 1 of 3
How to Exclude WorkFeatures in Parts in a Derived Assembly(Shrink Wrap) ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello Friends,
I am facing a problem in my program. I need to Shrink Warp my Assembly file but after finishing all the WorkFeatures of subparts/ subassemblies are available in simplified parts.
I have provided my code below, please help to resolve my issue.
public static void CreateSimplifiedPartFile(AssemblyDocument assemDoc, string targetFolderName)
{
AssemblyComponentDefinition oCompDef = assemDoc.ComponentDefinition;
UtilResx.TemplatePath = UtilResx.TemplatePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string tempFileName = System.IO.Path.Combine(UtilResx.TemplatePath, "Templates", UtilResx.PartTemplateName);
PartDocument oPartDoc = (PartDocument)InventorModelGenerator.InventorApp.Documents.Add(DocumentTypeEnum.kPartDocumentObject, tempFileName, false);
PartComponentDefinition oPartCompDef = oPartDoc.ComponentDefinition;
DerivedAssemblyDefinition oDrivedAssyDef = oPartCompDef.ReferenceComponents.DerivedAssemblyComponents.CreateDefinition(assemDoc.FullDocumentName);
oDrivedAssyDef.DeriveStyle = DerivedComponentStyleEnum.kDeriveAsSingleBodyNoSeams;
oDrivedAssyDef.IncludeAllTopLevelWorkFeatures = DerivedComponentOptionEnum.kDerivedExcludeAll;
oDrivedAssyDef.IncludeAllTopLevelSketches = DerivedComponentOptionEnum.kDerivedExcludeAll;
oDrivedAssyDef.IncludeAllTopLeveliMateDefinitions = DerivedComponentOptionEnum.kDerivedExcludeAll;
oDrivedAssyDef.IncludeAllTopLevelParameters = DerivedComponentOptionEnum.kDerivedExcludeAll;
oDrivedAssyDef.SetHolePatchingOptions(DerivedHolePatchEnum.kDerivedPatchAll);
oDrivedAssyDef.SetRemoveByVisibilityOptions(DerivedGeometryRemovalEnum.kDerivedRemovePartsAndFaces, 35);
oDrivedAssyDef.ReducedMemoryMode = true;
DerivedAssemblyComponent oDrivedAssy = oPartCompDef.ReferenceComponents.DerivedAssemblyComponents.Add(oDrivedAssyDef);
string fileName = String.Format("{0}{1}",assemDoc.FullDocumentName.Substring(0,assemDoc.FullDocumentName.Length -4),"-SimplifiedPart.ipt");
oPartDoc.SaveAs(fileName, false);
oPartDoc.ReleaseReference();
}