ShrinkWrap with RemoveHolesStyle and RemovePocketsStyle

ShrinkWrap with RemoveHolesStyle and RemovePocketsStyle

klaus.kapeller
Participant Participant
322 Views
1 Reply
Message 1 of 2

ShrinkWrap with RemoveHolesStyle and RemovePocketsStyle

klaus.kapeller
Participant
Participant

Hi,

 

when creating a shrinkwrap without these 2 remove features, everything works fine.

When creating a shrinkwrap with one of these features, everything works also fine.

 

But when I turn on both, I always get an error:

Error HRESULT E_FAIL has been returned from a call to a COM component

 

Works:

$ShRDef.RemoveHolesStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveNone
$ShRDef.RemovePocketsStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveNone

 

Works:

$ShRDef.RemoveHolesStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveByRange
$ShRDef.RemovePocketsStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveNone
$ShRDef.RemoveHolesDiameterRange = 8

 

Works:

$ShRDef.RemoveHolesStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveNone
$ShRDef.RemovePocketsStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveByRange
$ShRDef.RemovePocketsMaxFaceLoopRange= 25

 

Does not work:

$ShRDef.RemoveHolesStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveByRange
$ShRDef.RemovePocketsStyle = [Inventor.ShrinkwrapRemoveStyleEnum]::kShrinkwrapRemoveByRange
$ShRDef.RemoveHolesDiameterRange = 8
$ShRDef.RemovePocketsMaxFaceLoopRange = 25

 

Has anyone any idea or experience getting that stuff working?

And as I found in an example, the values for the range must be used in cm...is that correct?

 

Thanks for your help...

Klaus

 

 

0 Likes
323 Views
1 Reply
Reply (1)
Message 2 of 2

Anonymous
Not applicable

Hi Klaus

 

I just tested the code below, it seems to do what you are looking for.

 

Sub createShrinkWrapWithDefinition()

Dim oApp As Application

Dim oAD As AssemblyDocument

Dim oACD As AssemblyComponentDefinition

 

Set oApp = ThisApplication

Set oAD = oApp.ActiveDocument

Set oACD = oAD.ComponentDefinition

oPath = oAD.FullDocumentName

 

Dim oPartDoc As PartDocument

Dim oPCD As PartComponentDefinition

Dim ShRDef As ShrinkwrapDefinition

Dim ShrComp As ShrinkwrapComponent

 

Set oPartDoc = oApp.Documents.Add(kPartDocumentObject, , True)

Set oPCD = oPartDoc.ComponentDefinition

Set ShRDef = oPCD.ReferenceComponents.ShrinkwrapComponents.CreateDefinition(oPath)

 

ShRDef.ActiveDesignViewRepresentation = "Default"
ShRDef.ActiveLevelOfDetailRepresentation = "Master"
ShRDef.ActivePositionalRepresentation = "Master"
'Call ShRDef.AdditionalExcludedOccurrences.Add(Object) 'Need User Selection
'Call ShRDef.AdditionalIncludedOccurrences.Remove(Object)'Need User Selection
ShRDef.BreakLink = False
ShRDef.CreateIndependentBodiesOnFailedBoolean = True
ShRDef.DeriveStyle = kDeriveAsSingleBodyWithSeams
ShRDef.IsAssociativeDesignView = False
'Call ShRDef.PreservedFeatures.Add(Object) 'Need User Selection
ShRDef.RemoveAllInternalVoids = False
ShRDef.RemoveChamfersDistanceRange = 10 'cm
ShRDef.RemoveChamfersStyle = kShrinkwrapRemoveByRange
ShRDef.RemoveFilletsRadiusRange = 10 'cm
ShRDef.RemoveFilletsStyle = kShrinkwrapRemoveByRange
ShRDef.RemoveHolesDiameterRange = 10 'cm
ShRDef.RemoveHolesStyle = kShrinkwrapRemoveByRange
ShRDef.RemoveInternalParts = False
ShRDef.RemovePartsBySize = True
ShRDef.RemovePartsSize = 10 'cm
ShRDef.RemovePocketsMaxFaceLoopRange = 10 'cm
ShRDef.RemovePocketsStyle = kShrinkwrapRemoveByRange
ShRDef.RenameComponent = True
ShRDef.UseColorOverrideFromSourceComponent = True

 

Set ShrComp = oPCD.ReferenceComponents.ShrinkwrapComponents.Add(ShRDef)


End Sub

This was originally posted here:

https://forums.autodesk.com/t5/inventor-customization/how-to-use-shrinkwrapcomponents-and-shrinkwrap...

0 Likes