Hallo zusammen
ich habe eine iLogic Regel zum erstellen von STL Daten die auch funktioniert.
Der Nachteil bei der Regel ist das ich für jede Datei die ich gerade geöffnet habe die Regel anstoßen muss.
iLogic - STL erstellen:
sTLname = ThisDoc.ChangeExtension(".stl")
Dim oTranslator As TranslatorAddIn
oTranslator = ThisApplication.ApplicationAddIns.ItemById("{533E9A98-FC3B-11D4-8E7E-0010B541CD80}")
Dim oContext As TranslationContext
oContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oOptions As NameValueMap
oOptions = ThisApplication.TransientObjects.CreateNameValueMap
If oTranslator.HasSaveCopyAsOptions (ThisApplication.ActiveDocument, oContext, oOptions) Then
oOptions.Value("ExportUnits") = 5 'Millimeter
oOptions.Value("Resolution") = 0 'High
oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
Dim oData As DataMedium
oData = ThisApplication.TransientObjects.CreateDataMedium
oData.FileName = sTLname
oTranslator.SaveCopyAs(ThisApplication.ActiveDocument, oContext, oOptions, oData)
End If
Jetzt habe ich mir überlegt das es gut wäre eine iLogic Regel zu haben die von allen geöffneten Dateien eine STL erstellt.
Hier wäre mein Regel dazu aber leider funktioniert sie nicht wie gedacht, kann mir hier jemand weiter helfen?
iLogic - STL für alle geöffneten Dateien:
Dim Doc As Document
For Each Doc In ThisApplication.Documents
Doc.Activate
' Get the STL translator Add-In.
Dim oSTLTranslator As TranslatorAddIn
oSTLTranslator = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")
If oSTLTranslator Is Nothing Then
MsgBox ("Could not access STL translator.")
Exit Sub
End If
Dim oContext As TranslationContext
oContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oOptions As NameValueMap
oOptions = ThisApplication.TransientObjects.CreateNameValueMap
If oSTLTranslator.HasSaveCopyAsOptions(ThisApplication.ActiveDocument, oContext, oOptions) Then
' Set application protocol.
' 2 = AP 203 - Configuration Controlled Design
' 3 = AP 214 - Automotive Design
oOptions.Value("ApplicationProtocolType") = 3
' Other options...
'oOptions.Value("Author") = ""
'oOptions.Value("Authorization") = ""
'oOptions.Value("Description") = ""
'oOptions.Value("Organization") = ""
oContext.Type = kFileBrowseIOMechanism
Dim oDoc As Document
oDoc = ThisApplication.ActiveDocument
Dim strName As String
Dim strNumber As String
strName = oDoc.PropertySets.Item("Design Tracking Properties").Item("Description").Value
strNumber = oDoc.PropertySets.Item("Design Tracking Properties").Item("Part Number").Value
Dim oData As DataMedium
oData = ThisApplication.TransientObjects.CreateDataMedium
oData.FileName = "C:\profilearbeitsverz\Inventor\Daten" & strNumber & " - " & strName & ".stl"
Call oSTLTranslator.SaveCopyAs(ThisApplication.ActiveDocument, oContext, oOptions, oData)
End If
Next
Liebe Grüße aus Hof
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP