| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Auf dem Weg zur digitalen Auftragsmappe. , ein Anwenderbericht
|
Autor
|
Thema: aus einer .idw das zugehörige STEP per i-logic exportieren? (2604 / mal gelesen)
|
mikromeister Mitglied Dipl.Ing
Beiträge: 293 Registriert: 18.12.2003 IV 2021 @ Win10 + Vault basic
|
erstellt am: 22. Mai. 2018 13:36 <-- editieren / zitieren --> Unities abgeben:
Hi, ich habe eine i-logic Regel, um aus dem geöffneten Bauteil heraus ein Step zu exportieren. Aus der geöffneten Zeichnung kann per i-logic z.B. ein dxf, dwf und pdf erzeugen. Wie kann ich aber aus der Zeichnung heraus ein Step der zugehörigen .iam oder ipt exportieren ohne diese vorher händisch aufmachen zu müssen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lothar Boekels Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3835 Registriert: 15.02.2001 DELL Precision 7520 Win10Pro-64 Inventor mit Vault Professional 2024 --------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)
|
erstellt am: 23. Mai. 2018 08:46 <-- editieren / zitieren --> Unities abgeben: Nur für mikromeister
auch Hi, ich nehme mal an, dass auf der Zeichnung nur eine Komponente dargestellt ist - also die Erstansicht. Von dieser Ansicht kannst Du die referenzierte Komponente ansprechen und dann als Step exportieren. ------------------ mit freundlichem Gruß aus der Burggemeinde Brüggen Lothar Boekels Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lothar Boekels Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3835 Registriert: 15.02.2001 DELL Precision 7520 Win10Pro-64 Inventor mit Vault Professional 2024 --------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)
|
erstellt am: 23. Mai. 2018 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für mikromeister
|
Tacker Mitglied TZ, Tech. MB, Softwareentwickler
Beiträge: 175 Registriert: 23.09.2010 IV 2017 Pro i7-7700K 4x4.2GHz 32GB DDR4-2400 GTX 1060 6GB DDR5
|
erstellt am: 23. Mai. 2018 08:58 <-- editieren / zitieren --> Unities abgeben: Nur für mikromeister
|
mikromeister Mitglied Dipl.Ing
Beiträge: 293 Registriert: 18.12.2003 IV 2021 @ Win10 + Vault basic
|
erstellt am: 23. Mai. 2018 09:02 <-- editieren / zitieren --> Unities abgeben:
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 721 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 23. Mai. 2018 12:45 <-- editieren / zitieren --> Unities abgeben: Nur für mikromeister
Dieser iLogic-Code läuft bei mir durch (aber nur kurz getestet) Vermutlich ist die Lösung bzgl. Verzeichnis und Dateiname nicht optimal...ggf. nochmal Rückfragen! Code: Sub Main ' Aus der activen Zeichnung heraus, wird das zugehörige 3d-Modell als STEP exportiert ' 'evtl. wäre eine Prüfung sinnvoll, ob tats. eine Zeichnung geöffnet ist ' auch wenn mehrere Dokumente referenziert werden, wird nur 1 exportiert ' könnte man auch abfragen "If 1<ThisDoc.ReferencedDocuments.Count ..." ' KraBBy 23.05.2018 Dim oRefDoc as Document oRefDoc = ThisApplication.ActiveDocument.ReferencedDocuments.Item(1) Call exp_STEP (oRefDoc, "C:\temp\testExp") ' Call exp_STEP (oRefDoc) 'Alternativ, ohne Angabe von Pfad u. Dateiname 'Schlussmeldung MsgBox("Fertig") End SubSub exp_STEP (oDoc as Document, Optional sDatName As String = "") 'oDoc : zu exportierendes Dokument 'sDatName : Pfad u. Dateiname der Export-Datei, ohne Dateiendung! ' ist optional, falls nicht angegeben, wird Pfad und Dateiname des aktiven Dokuments verwendet ' ' ist aus dem Snippet "Als STEP-Datei speichern" ' Parameter hinzugefügt ' Get the STEP translator Add-In. Dim oSTEPTranslator As TranslatorAddIn oSTEPTranslator = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}") Dim oContext As TranslationContext oContext = ThisApplication.TransientObjects.CreateTranslationContext Dim oOptions As NameValueMap oOptions = ThisApplication.TransientObjects.CreateNameValueMap If oSTEPTranslator.HasSaveCopyAsOptions(oDoc, 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 = IOMechanismEnum.kFileBrowseIOMechanism Dim oData As DataMedium oData = ThisApplication.TransientObjects.CreateDataMedium If Not(""= sDatName) Then 'es wurde ein Parameter übergeben oData.FileName = sDatName & ".stp" Else 'kein Parameter übergeben, weil optional 'es wird der Pfad und Dateiname des aktiven Dokuments verwendet (Zeichnung) oData.FileName = ThisDoc.PathAndFileName(False) & ".stp" End If oSTEPTranslator.SaveCopyAs(oDoc, oContext, oOptions, oData) End If End Sub
------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mikromeister Mitglied Dipl.Ing
Beiträge: 293 Registriert: 18.12.2003 IV 2021 @ Win10 + Vault basic
|
erstellt am: 23. Mai. 2018 14:40 <-- editieren / zitieren --> Unities abgeben:
Halt geklappt. Vielen vielen Dank! Ich habe nur "C:\temp\testExp" ersetzt durch: "\\Mein Rechnername im Netzwerk\Users\username\Documents\" & ThisDoc.FileName(False)) Wenn ich die Regel aus einer Zeichnung heraus aufrufe speichert Sie das STEP File in den angegebenen Ordner. Test auf IV 2018 Noch eine nachträgliche Frage: Ich möchte das Zeichnungsdatum im Dateinamen haben.
Hier habe ich ein Snippet gefunden, das das Datum ermittelt, aber wie bekomme ich "oDate" als Teil des Dateinamens unter? einfach & oDate ergibt keinerlei Ergebnis im Gegensatz zu z.B. & "Hier soll das verdammte Datum hin"
'hier wird das Zeichnungsdatum ermittelt Dim strFileName As String strFileName = ThisDoc.Document.FullFileName Dim oFS As Object oFS = CreateObject("Scripting.FileSystemObject") Dim oDate As String oDate = oFS.GetFile(strFileName).DateCreated
[Diese Nachricht wurde von mikromeister am 23. Mai. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 721 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 23. Mai. 2018 17:56 <-- editieren / zitieren --> Unities abgeben: Nur für mikromeister
Dein Problem mit dem Datum konnte ich nicht nachvollziehen. Die Datei war gespeichert, oder? Mein Vorschlag wäre nur, oDate As Date zu deklarieren (liefert bei mir aber auch als String einen Wert) Du hast jetzt das Datum der Zeichnung angestrebt. Sollte nicht besser das Datum vom 3d-Modell verwendet werden? (oder das Erstelldatum der STP - "heute"?) 'das liefert das Erstell-Datum vom 3d-Modell Dim oDate As Date, sDate As String Dim oFS as Object, sFile As String sFile = oRefDoc.FullFileName oFS = CreateObject("Scripting.FileSystemObject") oDate = oFS.getFile(sFile).DateCreated sDate = oDate.ToString("yyyy-MM-dd") 'hier ggf. Format einstellen MsgBox(sDate) ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mikromeister Mitglied Dipl.Ing
Beiträge: 293 Registriert: 18.12.2003 IV 2021 @ Win10 + Vault basic
|
erstellt am: 23. Mai. 2018 21:08 <-- editieren / zitieren --> Unities abgeben:
Ok, ich kann das Datum auslesen und bringe es jetzt auch ans Ende des Dateinamens. Zum Verständnis: Ich habe auf der Zeichnung ein Zeichnungsdatum im Schriftkopf. Ich möchte dieses Datum als Dateinamenanhang ans Step addieren, damit übers Datum klar ist, dass diese Modellversion zu dieser Zeichnungsversion gehört. Bleibt ein Problem: oDate = oFS.GetFile(strFileName).DateCreated gibt das tatsächliche Erstelldatum der Zeichnung zurück. Ich brauche aber das von mir eingestellte "Creation Date" aus den iProperties, das im Schriftkopf als Zeichnungsdatum auftaucht.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 721 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 23. Mai. 2018 22:29 <-- editieren / zitieren --> Unities abgeben: Nur für mikromeister
Es gibt ein paar snippets zu den iProperties. Aus dem Kopf: iProperties("Project" , "Creation Date") Das sollte den Wert des aktiven Dokumentes auslesen (also wie gewünscht von der Zeichnung) ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mikromeister Mitglied Dipl.Ing
Beiträge: 293 Registriert: 18.12.2003 IV 2021 @ Win10 + Vault basic
|
erstellt am: 23. Mai. 2018 22:42 <-- editieren / zitieren --> Unities abgeben:
Das hört sich gut an. Vielen Dank. Ich werde mich aber erst nach dem Pfingst-Urlaub melden können wie es geklappt hat. Das Ergebnis soll sein, mit einem Klick in der Zeichnung dxf, dwf, pdf und step zu exportieren, was ja jetzt schon ganz gut funktioniert. Sowas arbeite ich mit code-injector für mehrere idws automatisch ab und kann damit ein ganzes P+G für alle Eventualitäten exportieren. Dass das klappt bin ich jetzt sehr zuversichtlich. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mikromeister Mitglied Dipl.Ing
Beiträge: 293 Registriert: 18.12.2003 IV 2021 @ Win10 + Vault basic
|
erstellt am: 24. Mai. 2018 09:34 <-- editieren / zitieren --> Unities abgeben:
Es geht! Der ganze x-zeilige Absatz für das Ermitteln des Datum ist obsolet. Im Aufruf der exp_STEP muss einfach nur nur der Pfad heissen: "\\Mein Rechnername im Netzwerk\Users\username\Documents\" & ThisDoc.FileName(False)) & "_" & iProperties("Project" , "Creation Date") Das Ergebnis ist dann z.B. Dateiname_01.02.2018.stp Das Datumsformat entspricht dem im Schriftkopf Vielen Dank nochmal. Edit: Der Absatz ist doch nicht obsolet. Es gibt alte Dateien, wo das Zeichnungsdatum versteckt die Uhrzeit mit drin hat. Das verhindert den Anhang an den Dateinamen und es wird kein Step exportiert. Man muss das ausgelesene Zeichnungsdatum also doch erst vorher passend formatieren. [Diese Nachricht wurde von mikromeister am 24. Mai. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |