Hallo Zusammen,
wer kann mich hier kurz Unterstützen- ich möchte gerne:
- Benuterspezifische Iprops aus Baugruppe auslesen
- Vereinfachung wie im Code durchführen
- Step unter Ipropnamen in einen bestimmten Pfad ablegen.
Hier der Code den ich bisher zusammengebastelt habe: Vielen Dank schon mal für alle Hilfestellungen
Sub Modelvereinfachung_Volumen()
Dim oApp As Inventor.Application
Set oApp = ThisApplication
If oApp.ActiveDocument Is Nothing Then
MsgBox "Kein Dokument geöffnet", vbInformation
Exit Sub
End If
If oApp.ActiveDocument.DocumentType <> kAssemblyDocumentObject Then
MsgBox "Die Funktion ist nur bei Baugruppen zulässig", vbInformation
Exit Sub
End If
' Set a reference to the active assembly document
Dim oDoc As Inventor.AssemblyDocument
Set oDoc = oApp.ActiveDocument
Dim oDef As AssemblyComponentDefinition
Set oDef = oDoc.ComponentDefinition
' Create a new part document that will be the shrinkwrap substitute
Dim oPartDoc As Inventor.PartDocument
Set oPartDoc = oApp.Documents.Add(kPartDocumentObject)
Dim oPartDef As PartComponentDefinition
Set oPartDef = oPartDoc.ComponentDefinition
Dim oDerivedAssemblyDef As DerivedAssemblyDefinition
Set oDerivedAssemblyDef = oPartDef.ReferenceComponents.DerivedAssemblyComponents.CreateDefinition(oDoc.FullDocumentName)
' Options shrinkwrap_1
'oDerivedAssemblyDef.DeriveStyle = kDeriveAsSingleBodyWithSeams
oDerivedAssemblyDef.DeriveStyle = kDeriveAsSingleBodyNoSeams
'oDerivedAssemblyDef.DeriveStyle = kDeriveAsWorkSurface
'oDerivedAssemblyDef.DeriveStyle = kDeriveAsMultipleBodies
oDerivedAssemblyDef.InclusionOption = kDerivedIncludeAll
' Options shrinkwrap_2
oDerivedAssemblyDef.IncludeAllTopLevelWorkFeatures = kDerivedExcludeAll
oDerivedAssemblyDef.IncludeAllTopLevelSketches = kDerivedExcludeAll
oDerivedAssemblyDef.IncludeAllTopLeveliMateDefinitions = kDerivedExcludeAll
oDerivedAssemblyDef.IncludeAllTopLevelParameters = kDerivedExcludeAll
' Options shrinkwrap_3
'oDerivedAssemblyDef.ActiveDesignViewRepresentation = True
'oDerivedAssemblyDef.ActivePositionalRepresentation = True
' Options shrinkwrap_4
Call oDerivedAssemblyDef.SetRemoveByVisibilityOptions(kDerivedRemovePartsOnly, 2, False)
' Bauteile nach Größe
Call oDerivedAssemblyDef.SetRemoveBySizeOptions(True, 2)
' Lochabdeckung
'Call oDerivedAssemblyDef.SetHolePatchingOptions(kDerivedPatchNone)
Call oDerivedAssemblyDef.SetHolePatchingOptions(kDerivedPatchRange, 0, 3)
' Skalierung
'Call oDerivedAssemblyDef.ScaleFactor
' Spiegeln
'Call oDerivedAssemblyDef.MirrorPlane=kDerivedPartMirrorPlaneXY
' Sonstiges
oDerivedAssemblyDef.UseColorOverridesFromSource = False
oDerivedAssemblyDef.ReducedMemoryMode = True
oDerivedAssemblyDef.IndependentSolidsOnFailedBoolean = True
oDerivedAssemblyDef.RemoveInternalVoids = True
' Create the shrinkwrap component
Dim oDerivedAssembly As DerivedAssemblyComponent
Set oDerivedAssembly = oPartDef.ReferenceComponents.DerivedAssemblyComponents.Add(oDerivedAssemblyDef)
'oDerivedAssembly.BreakLinkToFile
' Set a reference to the active part document
Dim oDoc2 As Inventor.PartDocument
Set oDoc2 = oApp.ActiveDocument
' Get the STEP translator Add-In.
Dim oSTEPTranslator As TranslatorAddIn
Set oSTEPTranslator = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")
If oSTEPTranslator Is Nothing Then
MsgBox "STEP Translater nicht aufrufbar."
Exit Sub
End If
Dim oContext As TranslationContext
Set oContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oOptions As NameValueMap
Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap
If oSTEPTranslator.HasSaveCopyAsOptions(ThisApplication.ActiveDocument, oContext, oOptions) Then
'Set application protocol.
' 2 = AP 203 - Configuration Controlled Design
' 3 = AP 214 - Automotive Design
oOptions.Value("ApplicationProtocolType") = 3
oContext.Type = kFileBrowseIOMechanism
Dim oData As DataMedium
Set oData = ThisApplication.TransientObjects.CreateDataMedium
oData.filename = "C:\Vereinfachung.stp"
Call oSTEPTranslator.SaveCopyAs(ThisApplication.ActiveDocument, oContext, oOptions, oData)
End If
'Call oDoc2.Close(True)
'Call oDoc.Close(True)
Call ExportToSat
MsgBox "Die Vereinfachung wurde als Step und Sat Format unter -- C: -- gespeichert!!"
End Sub
------------------
MFG
BlueJay
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP