Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  iLogic - STEP, DXF, PDF... erstellen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  iLogic - STEP, DXF, PDF... erstellen (1452 mal gelesen)
Concierge
Mitglied



Sehen Sie sich das Profil von Concierge an!   Senden Sie eine Private Message an Concierge  Schreiben Sie einen Gästebucheintrag für Concierge

Beiträge: 10
Registriert: 23.01.2023

erstellt am: 23. Jan. 2023 10:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallöchen  ,

ich bin neu hier und habe noch nich viel Erfahrung mit Programmierung.

Ich möchte gern ein Skript für iLogic erstellen was folgende Funktion ausführt:

Wenn ich in einer .ipt oder .dwg bin möchte ich  mit einem Button eine STEP, PDF und DXF erstellen, die in einem bestimmten Verzeichnis gespeichert werden.
Aktuell sind es jeweils einzelne Buttons da man im 3D-Modell keine 2D Daten erzeugen kann.

Gibt es dazu eine Möglichkeit dies zu Automatisieren ohne das ich immer die Zeichnung oder das Bauteil extra öffnen muss. Dies würde eine sehr hohe Zeitersparnis mit sich bringen.

VG Maik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2196
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 23. Jan. 2023 21:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Concierge 10 Unities + Antwort hilfreich

Nabend

Grundsätzlich muss jede Datei geöffnet bzw geladen werden, wenn ich damit irgendwas machen will.
Ich vermute STEP vom 3D-Modell und PDF von der Zeichnung. DXF von was? 2D oder 3D?
Ich würde von der Zeichnung aus arbeiten, da im Hintergrund das Bauteil automatisch mit geöffnet wird. Daher kann man auch aus einer Zeichnung heraus einen STEP-Export des 3D-Modelles machen. Die entsprechende Regel muss nur ein wenig angepasst werden, damit die richtige Datei genommen wird.

Poste mal die drei Regeln, dann schau'ma mal.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 24. Jan. 2023 08:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Concierge 10 Unities + Antwort hilfreich

Hallo,

Du könnetst das auch mit Filedialog, MultiSelect
und FastOpen realisieren.

Dann kannst du zwar nicht am Inventor arbeiten, aber die Umwandlung läuft von alleine.

Gruß
Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KraBBy
Mitglied
Maschinenbau-Ingenieur


Sehen Sie sich das Profil von KraBBy an!   Senden Sie eine Private Message an KraBBy  Schreiben Sie einen Gästebucheintrag für KraBBy

Beiträge: 610
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 25. Jan. 2023 16:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Concierge 10 Unities + Antwort hilfreich

evtl. findet sich auch schon was passendes im "Autodesk App Store"
z.B. Drawing Porter
(kenne ich nicht, liest sich aber halbwegs passend)

Nicht dass ich die Programmiererfahrung verhindern will, aber man muss nicht alles neu erfinden.

------------------
Gruß KraBBy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

chense
Mitglied
Konstrukteur


Sehen Sie sich das Profil von chense an!   Senden Sie eine Private Message an chense  Schreiben Sie einen Gästebucheintrag für chense

Beiträge: 46
Registriert: 14.04.2020

Inventor 2019 auf Windows 10
Intel Xeon E5-1630, 3,7Ghz
Nvidia Quadro P4000
32GB Ram

erstellt am: 27. Jan. 2023 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Concierge 10 Unities + Antwort hilfreich

Also ich könnte dir diesen Code anbieten den ich nutze.

Start aus dem Bauteil. Dateiablage im Originalordner der Datei mit der Syntax "Dateiname"-"Datum"

Code für veränderten Speicherort ist jeweils auskommentiert

'Definition IPT/IAM
Dim doc As Document = ThisDoc.Document
doc.Update

'Masse aktualisieren
ThisApplication.CommandManager.ControlDefinitions.​Item("AppUpdateMassPropertiesCmd").Execute

'Dateiname holen
Dim strname As String = ThisDoc.PathAndFileName
'Dim strnameshort As String = ThisDoc.FileName
'Dim Path As String = "G:\_Gruppen\Inventor\"

'Datum festlegen
Dim Datum As String = DateTime.Now.ToString("yyyy") + DateTime.Now.ToString("MM") + DateTime.Now.ToString("dd")

' ExportAddins aktivieren
Dim oSTPAddin As TranslatorAddIn
oSTPAddin = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")
Dim PDFAddIn As TranslatorAddIn
PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
Dim DXFAddIn As TranslatorAddIn
DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")

'Kontext und Optionen Step definieren
Dim oSTPContext As TranslationContext
oSTPContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oSTPOptions As NameValueMap
oSTPOptions = ThisApplication.TransientObjects.CreateNameValueMap

'Einstellungen für Step
oSTPOptions.Value("ApplicationProtocolType") = 3
oSTPOptions.Value("Author") = "TH"
'oSTPOptions.Value("Authorization") = ""
'oSTPOptions.Value("Description") = ""
'oSTPOptions.Value("Organization") = ""
oSTPContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
 
'Kontext und Optionen PDF definieren
Dim oPDFContext As TranslationContext
oPDFContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oPDFOptions As NameValueMap
oPDFOptions = ThisApplication.TransientObjects.CreateNameValueMap
oPDFContext.Type = IOMechanismEnum.kFileBrowseIOMechanism

'Einstellungen für PDF
oPDFOptions.Value("All_Color_AS_Black") = 1
oPDFOptions.Value("Remove_Line_Weights") = 0
oPDFOptions.Value("Vector_Resolution") = 400
oPDFOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets

'Data Medium definieren (PDF / DXF / STP)
Dim oDataMediumSTP As DataMedium   
oDataMediumSTP = ThisApplication.TransientObjects.CreateDataMedium
Dim oDataMediumPDF As DataMedium
oDataMediumPDF = ThisApplication.TransientObjects.CreateDataMedium
Dim oDataMediumDXF As DataMedium
oDataMediumDXF = ThisApplication.TransientObjects.CreateDataMedium

'Dateinamen festlegen
Dim STPName As String = strname & "-" & Datum & ".stp"   
'Dim STPName As String = Path & strnameshort & "-" & Datum & ".stp" 
oDataMediumSTP.FileName = STPName
Dim PDFName As String = strname & "-" & Datum & ".pdf"
'Dim PDFName As String = Path & strnameshort & "-" & Datum & ".pdf"
oDataMediumPDF.FileName = PDFName
Dim DXFName As String = strname & "-" & Datum & ".dxf"
'Dim DXFName As String = Path & strnameshort & "-" & Datum & ".dxf"
oDataMediumDXF.FileName = DXFName

'Step exportieren
oSTPAddin.SaveCopyAs(doc, oSTPContext, oSTPOptions, oDataMediumSTP)

'Zeichnung öffnen
Try
ThisDoc.Launch(strname & ".dwg")
Catch
MessageBox.Show("Es wurde keine zugehörige Zeichnung gefunden: Abbruch",  _
"Keine Zeichnung gefunden!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try

'Zeichnung aktivieren und updaten
Dim oDrawDoc As DrawingDocument = ThisApplication.ActiveDocument
oDrawDoc.Update

'PDF und Dxf speichern
PDFAddIn.SaveCopyAs(oDrawDoc, oPDFContext, oPDFOptions, oDataMediumPDF)
DXFAddIn.SaveCopyAs(oDrawDoc, oPDFContext, oOPDFptions, oDataMediumDXF)

'Speichern und schließen dwg
oDrawDoc.Save
oDrawDoc.Close

'Bauteil / Baugruppe aktivieren
doc.Activate
doc.Save

------------------
Für jede Fehlermeldung gibt es eine Lösung

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Concierge
Mitglied



Sehen Sie sich das Profil von Concierge an!   Senden Sie eine Private Message an Concierge  Schreiben Sie einen Gästebucheintrag für Concierge

Beiträge: 10
Registriert: 23.01.2023

erstellt am: 27. Feb. 2023 12:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von chense:
Also ich könnte dir diesen Code anbieten den ich nutze.

Start aus dem Bauteil. Dateiablage im Originalordner der Datei mit der Syntax "Dateiname"-"Datum"

Code für veränderten Speicherort ist jeweils auskommentiert

'Definition IPT/IAM
Dim doc As Document = ThisDoc.Document
doc.Update

'Masse aktualisieren
ThisApplication.CommandManager.ControlDefinitions.​Item("AppUpdateMassPropertiesCmd").Execute

'Dateiname holen
Dim strname As String = ThisDoc.PathAndFileName
'Dim strnameshort As String = ThisDoc.FileName
'Dim Path As String = "G:\_Gruppen\Inventor\"

'Datum festlegen
Dim Datum As String = DateTime.Now.ToString("yyyy") + DateTime.Now.ToString("MM") + DateTime.Now.ToString("dd")

' ExportAddins aktivieren
Dim oSTPAddin As TranslatorAddIn
oSTPAddin = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")
Dim PDFAddIn As TranslatorAddIn
PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
Dim DXFAddIn As TranslatorAddIn
DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")

'Kontext und Optionen Step definieren
Dim oSTPContext As TranslationContext
oSTPContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oSTPOptions As NameValueMap
oSTPOptions = ThisApplication.TransientObjects.CreateNameValueMap

'Einstellungen für Step
oSTPOptions.Value("ApplicationProtocolType") = 3
oSTPOptions.Value("Author") = "TH"
'oSTPOptions.Value("Authorization") = ""
'oSTPOptions.Value("Description") = ""
'oSTPOptions.Value("Organization") = ""
oSTPContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
 
'Kontext und Optionen PDF definieren
Dim oPDFContext As TranslationContext
oPDFContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oPDFOptions As NameValueMap
oPDFOptions = ThisApplication.TransientObjects.CreateNameValueMap
oPDFContext.Type = IOMechanismEnum.kFileBrowseIOMechanism

'Einstellungen für PDF
oPDFOptions.Value("All_Color_AS_Black") = 1
oPDFOptions.Value("Remove_Line_Weights") = 0
oPDFOptions.Value("Vector_Resolution") = 400
oPDFOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets

'Data Medium definieren (PDF / DXF / STP)
Dim oDataMediumSTP As DataMedium   
oDataMediumSTP = ThisApplication.TransientObjects.CreateDataMedium
Dim oDataMediumPDF As DataMedium
oDataMediumPDF = ThisApplication.TransientObjects.CreateDataMedium
Dim oDataMediumDXF As DataMedium
oDataMediumDXF = ThisApplication.TransientObjects.CreateDataMedium

'Dateinamen festlegen
Dim STPName As String = strname & "-" & Datum & ".stp"   
'Dim STPName As String = Path & strnameshort & "-" & Datum & ".stp" 
oDataMediumSTP.FileName = STPName
Dim PDFName As String = strname & "-" & Datum & ".pdf"
'Dim PDFName As String = Path & strnameshort & "-" & Datum & ".pdf"
oDataMediumPDF.FileName = PDFName
Dim DXFName As String = strname & "-" & Datum & ".dxf"
'Dim DXFName As String = Path & strnameshort & "-" & Datum & ".dxf"
oDataMediumDXF.FileName = DXFName

'Step exportieren
oSTPAddin.SaveCopyAs(doc, oSTPContext, oSTPOptions, oDataMediumSTP)

'Zeichnung öffnen
Try
ThisDoc.Launch(strname & ".dwg")
Catch
MessageBox.Show("Es wurde keine zugehörige Zeichnung gefunden: Abbruch",  _
"Keine Zeichnung gefunden!", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try

'Zeichnung aktivieren und updaten
Dim oDrawDoc As DrawingDocument = ThisApplication.ActiveDocument
oDrawDoc.Update

'PDF und Dxf speichern
PDFAddIn.SaveCopyAs(oDrawDoc, oPDFContext, oPDFOptions, oDataMediumPDF)
DXFAddIn.SaveCopyAs(oDrawDoc, oPDFContext, oOPDFptions, oDataMediumDXF)

'Speichern und schließen dwg
oDrawDoc.Save
oDrawDoc.Close

'Bauteil / Baugruppe aktivieren
doc.Activate
doc.Save



Hi,

vielen Dank. Ich habe das mal probiert und die Verzeichnisse ein wenig angepasst.
Eine kleinigkeit hätte ich noch. Wenn ich die ipt auf hab ist passt alles.
Wenn ich aber nur die Zeichnung geöffnet habe und dann die Daten erzeuge,
ist die STEP leer, da er diese vor dem Export nicht öffnet und aktiviert.

Ist das bei dir auch so oder muss ich da noch etwas anpassen?

VG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Concierge
Mitglied



Sehen Sie sich das Profil von Concierge an!   Senden Sie eine Private Message an Concierge  Schreiben Sie einen Gästebucheintrag für Concierge

Beiträge: 10
Registriert: 23.01.2023

erstellt am: 27. Feb. 2023 16:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Nachtrag:

ich würde gern überprüfen ob das geöffnete Dpkument ein .ipt .iam oder dwg ist. Je nach Ergebnis sollen mir die Daten Step, PDF und DXF erzeugt werden.
Wenn das .ipt geöffnet ist läuft das Skript durch. Wenn allerdings nur die Zeichnung geöffnet ist und er mir die Daten erzeugen soll, bleibt das Step leer,
da er vorher die .ipt oder .iam öffnen und aktivieren muss. An dieser Hürde verzweifle ich gerade etwas, da mir die nützlichen Befehle dazu fehlen das ich das umsetzen kann.

Könnt Ihr mir da bitte etwas Hilfe geben. 

VG Maik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2196
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 27. Feb. 2023 17:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Concierge 10 Unities + Antwort hilfreich

Hallo

Da ich immer noch nicht genau weiß was du wann wie machen willst, ein Schuss ins Blaue. Die Exportoptionen für DXF sollte man über die GUI im Inventor einmal einstellen und als eigene INI-Datei speichern. Der Ablagepfad dann im Code entsprechend anpassen!
Es empfiehlt sich generell, den Code in überschaubare Teilfunktionen zu zerlegen. Zum einen kann man den im Editor einklappen wenn man ihn nicht braucht. Zum anderen muss man nicht immer kilometerlangen Code durchscrollen, wenn man "weiter hinten" ran muss.

Code:

Sub Main
    Dim oDoc As Document = ThisDoc.Document
    oDoc.Update

    'Dateiname holen
    Dim strname As String = ThisDoc.PathAndFileName

    Dim oDrawDoc As DrawingDocument
    If oDoc.DocumentType = DocumentTypeEnum.kDrawingDocumentObject Then
    oDrawDoc = ThisDrawing.Document
oDoc = ThisDrawing.ModelDocument
    Else
        Try
            oDrawDoc = ThisApplication.Documents.Open(strname & ".dwg")
oDrawDoc.Update
        Catch
            MessageBox.Show("Es wurde keine zugehörige Zeichnung gefunden: Abbruch",  _
            "Keine Zeichnung gefunden!", MessageBoxButtons.OK, MessageBoxIcon.Error)
            bDraw=False
        End Try
    End If

    Dim oView As Inventor.View
Dim bNewView As Boolean = False
    If oDoc.Views.Count = 0 Then
        oView = oDoc.Views.Add
bNewView=True
Else
oView = oDoc.Views(1)
End If

    oView.Activate

    'Masse aktualisieren
    ThisApplication.CommandManager.ControlDefinitions.​Item("AppUpdateMassPropertiesCmd").Execute

    'Datum festlegen
    Dim Datum As String = DateTime.Now.ToString("yyyyMMdd")

    STP_Export(oDoc, strname, Datum)
    PDF_Export(oDrawDoc, strname, Datum)

If bNewView = True Then
oView.Close
End If

    If oDrawDoc IsNot Nothing Then
oDrawDoc.Activate
        DXF_Export(oDrawDoc, strname, Datum)
    End If

End Sub

Private Sub PDF_Export(ByVal oDrawDoc As DrawingDocument, ByVal strname As String, ByVal Datum As String)
    Dim PDFAddIn As TranslatorAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
    If PDFAddIn Is Nothing Then Exit Sub
    PDFAddIn.Activate

    Dim oPDFContext As TranslationContext= ThisApplication.TransientObjects.CreateTranslationContext
    Dim oPDFOptions As NameValueMap = ThisApplication.TransientObjects.CreateNameValueMap
    oPDFContext.Type = IOMechanismEnum.kFileBrowseIOMechanism

    oPDFOptions.Value("All_Color_AS_Black") = 1
    oPDFOptions.Value("Remove_Line_Weights") = 0
    oPDFOptions.Value("Vector_Resolution") = 400
    oPDFOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets

    Dim oDataMediumPDF As DataMedium = ThisApplication.TransientObjects.CreateDataMedium
    oDataMediumPDF.FileName = strname & "-" & Datum & ".pdf"

    PDFAddIn.SaveCopyAs(oDrawDoc, oPDFContext, oPDFOptions, oDataMediumPDF)
End Sub

Private Sub STP_Export(ByVal oDoc As Document, ByVal strname As String, ByVal Datum As String)
    Dim oSTPAddin As TranslatorAddIn = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")
    If oSTPAddin Is Nothing Then Exit Sub
    oSTPAddin.Activate

    Dim oSTPContext As TranslationContext= ThisApplication.TransientObjects.CreateTranslationContext
    Dim oSTPOptions As NameValueMap= ThisApplication.TransientObjects.CreateNameValueMap

    oSTPOptions.Value("ApplicationProtocolType") = 3
    oSTPOptions.Value("Author") = "TH"
    'oSTPOptions.Value("Authorization") = ""
    'oSTPOptions.Value("Description") = ""
    'oSTPOptions.Value("Organization") = ""
    oSTPContext.Type = IOMechanismEnum.kFileBrowseIOMechanism

    Dim oDataMediumSTP As DataMedium = ThisApplication.TransientObjects.CreateDataMedium
    oDataMediumSTP.FileName = strname & "-" & Datum & ".stp"
   
    oSTPAddin.SaveCopyAs(oDoc, oSTPContext, oSTPOptions, oDataMediumSTP)
End Sub

Private Sub DXF_Export(ByVal oDrawDoc As DrawingDocument, ByVal strname As String, ByVal Datum As String)
    Dim DXFAddIn As TranslatorAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")
    If DXFAddIn Is Nothing Then Exit Sub
    DXFAddIn.Activate

    Dim oDXFContext As TranslationContext= ThisApplication.TransientObjects.CreateTranslationContext
    Dim oDXFOptions As NameValueMap = ThisApplication.TransientObjects.CreateNameValueMap
    oDXFContext.Type = IOMechanismEnum.kFileBrowseIOMechanism

    If DXFAddIn.HasSaveCopyAsOptions(oDrawDoc, oDXFContext, oDXFOptions) Then

        Dim strIniFile As String= "C:\Users\Public\Documents\Autodesk\Inventor 2023\Design Data\DWG-DXF\exportdxf.ini"
        oDXFOptions.Value("Export_Acad_IniFile") = strIniFile
    End If

    Dim oDataMediumDXF As DataMedium = ThisApplication.TransientObjects.CreateDataMedium
    oDataMediumDXF.FileName = strname & "-" & Datum & ".dxf"

    DXFAddIn.SaveCopyAs(oDrawDoc, oDXFContext, oODXFptions, oDataMediumDXF)
End Sub


------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Concierge
Mitglied



Sehen Sie sich das Profil von Concierge an!   Senden Sie eine Private Message an Concierge  Schreiben Sie einen Gästebucheintrag für Concierge

Beiträge: 10
Registriert: 23.01.2023

erstellt am: 28. Feb. 2023 09:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ralf,

und zwar geht es darum die "Fertigungsdaten" über einen Button per iLogic zu erzeugen. Da bei einem Projekt viele Bauteile zusammenkommen und die auch durch mehrere Hände gehen bovor die Fertigungsdaten bereitgestellt werden, soll dies eine erleichterung sein. So dass man nich immer jedes Bauteil und die Zeichnung öffnen muss. Derjenige der die Zeichnung dann freigibt (hat meistens nur die Zeichnung oder das Bauteil/Baugruppe offen). Und er soll in der Lage sein, egal was gerade offen ist, mit diesem Button die Daten zu erzeugen.

Wenn das Bauteil offen ist, funktioniert das soweit aber wenn nur die ZEichnung geöffnet ist, werden die Daten zwar erzeugt, aber die STEP bleibt leer.

Weist wie ich das meine?

Zu deinem Code: Ich habe es noch nicht probiert, kann man den auch für iLogic nehmen?

Mfg Maik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2196
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 28. Feb. 2023 09:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Concierge 10 Unities + Antwort hilfreich

Moin

Ja, das ist iLogic Code.

Der Code sollte sowohl vom Bauteil/Baugruppe, als auch von der Zeichnung aus laufen. Den Sonderfall Präsentation (IPN) habe ich jetzt nicht berücksichtigt. Zeichnungen haben unter Umständen das Problem, dass mehrere 3D-Modelle verknüpft sind. Immer wieder gern gesehen ist die komplette Baugruppe und alle Einzelteile auf einem Blatt. Diesen Fall deckt der Code noch nicht ab. Es wird nur das primäre Modell verwendet, alle anderen ignoriert.

Dem Code fehlt es an vielen Stellen noch an Vorprüfungen und Fehlerbehandlung mit verständlicher Meldung was schief gegangen ist. Die wenigsten Anwender können im Fehlerfall mit Laufzeitfehlermeldungen etwas anfangen. Das solltest du noch ergänzen. Einen Code der nur im Idealfall fehlerfrei durchläuft und sonst kryptische Fehlermeldungen wirft, sollte man nicht verteilen. Schlimmstenfalls wird die Lösung als "Mist" abgetan und nie wieder probiert, egal wie gut sie sich entwickelt hat.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Concierge
Mitglied



Sehen Sie sich das Profil von Concierge an!   Senden Sie eine Private Message an Concierge  Schreiben Sie einen Gästebucheintrag für Concierge

Beiträge: 10
Registriert: 23.01.2023

erstellt am: 10. Mrz. 2023 08:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin Moin,

vielen Dank ersteinmal für eure Hilfe, hat mir alles geholfen 

Nun noch ein "kleines" Themas zum DWF export:

Wenn ich das übers Menü exportiere kann ich ja Benutzereinstellungen vornehmen, welche Daten mit exportiert werden sollen... (z.B. Physikalische Eigenschaften, Properties...)
Gibt es eine Möglichkeit diese über das exportskript voreinzustellen? Ähnlich wie bei den STEP optionen? Wenn ja, wie kann ich diese ansprchen, sodass nur bestimmte mitgegeben werden und nur diese dann auch im DWF - viewer angezeigt werden.

MfG Maik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KraBBy
Mitglied
Maschinenbau-Ingenieur


Sehen Sie sich das Profil von KraBBy an!   Senden Sie eine Private Message an KraBBy  Schreiben Sie einen Gästebucheintrag für KraBBy

Beiträge: 610
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 10. Mrz. 2023 09:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Concierge 10 Unities + Antwort hilfreich

ja das geht, sollte sich alles in der Hilfe finden lassen (RTFM...)
Export to DWF API Sample

Translator Options -> Abschnitt "Export options for DWF"

------------------
Gruß KraBBy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Concierge
Mitglied



Sehen Sie sich das Profil von Concierge an!   Senden Sie eine Private Message an Concierge  Schreiben Sie einen Gästebucheintrag für Concierge

Beiträge: 10
Registriert: 23.01.2023

erstellt am: 23. Mrz. 2023 09:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

ich habe mal ein wenig herumgespielt und probiert, komme allerdings nicht so recht zu einem Ergebnis.
Ich bleibe immer an dem Punkt, entweder alles an oder aus... das ich aber nur spezifische definieren kann gelingt mir irgendwie nicht 

                    'oDWFxOptions.Value("Publish_All_Component_Props") = 1
                    'oDWFxOptions.Value("Publish_All_Physical_Props") = 1

Wenn ich das ausschalte werden erstens Trotzdem alle Daten exportiert... Ich möchte gern das zB nur Autor oder ein bestimmtes Benutzerproperty mitgegeben wird.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz