| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: STEP Import im IV2016 (1263 mal gelesen)
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 17. Nov. 2016 12:41 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, seit dem Sommer verwende ich IV2016 (vorher IV2012). Es wurde der Import-Dialog und auch der Ablauf geändert. [OT: für die Aktion von Hand aus meiner Sicht eher zum schlechteren, solange „Referenzmodell“ nicht mit Step klappt. Für die automatisierte Version, wie ich sie mir vorstelle, evtl. vorteilhaft. OT Ende]. Ich möchte per VBA den Befehl „Importieren“ automatisieren. Primär für STEP-Daten. Wenn es am Ende auch für andere Formate funktioniert, auch gut. Ausgehen möchte ich von einer geöffneten ipt (wird i.d.R. mein Template sein – nur Ursprungsebenen/-Achsen). Die wäre in der Zg.Verwaltung (PSP) schon richtig angelegt. Dateiname, Speicherort etc. schon passend. Makro starten, Datei angeben inkl. Pfad (z.B. einfache Inputbox). Die Optionen, die im Dialog gesetzt werden können, würde ich mir wünschen wie im angehängten Bild. Also alle (verfügbaren) Objektfilter gewählt und Flächen „zusammengesetzt“. Im Reiter „Auswählen“ sollen alle Elemente angewählt bleiben (Standardeinstellung). Am Ende erhält man so einen oder mehrere BasisVolumen, je nach STEP-Datei, z.B. ob Baugruppe oder nur Einzelteil enthalten ist. Ich habe versucht das „ImportedDWGComponent Creation API Sample“ umzustricken. Code:
Sub Test_import2() Const sFile As String = "C:\Temp\Test.stp" Dim oDoc As PartDocument Set oDoc = ThisApplication.ActiveDocument Dim oCompDef As PartComponentDefinition Set oCompDef = oDoc.ComponentDefinition Dim oRefComponents As ReferenceComponents Set oRefComponents = oCompDef.ReferenceComponents ' Create a ImportedComponentDefinition based on an AutoCAD file. Dim oImportedCompDef As ImportedComponentDefinition Set oImportedCompDef = oRefComponents.ImportedComponents.CreateDefinition(sFile) […] ' Create the ImportedComponent Dim oImportedComponent As ImportedComponent Set oImportedComponent = oRefComponents.ImportedComponents.Add(oImportedCompDef) End Sub
Die letzte Zeile schlägt fehl (Object doesn´t support this action). Ich vermute mal, weil die AutoCAD-Datei im Bsp. als referenziertes Modell eingefügt wird (deshalb alles unter ReferenceComponents?). Also in meinem Code habe ich am Ende eine „ImportedComponentDefinition“, weiß aber nichts damit anzufangen. Weiß da jemand weiter? Oder ist das ganze schon im Ansatz falsch? Das STEP Translator Add-In möchte ich nicht verwenden, weil dabei eine neue ipt-Datei erzeugt wird. Zumindest soweit ich das versucht und hinbekommen habe. Gruß Stephan
------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 21. Nov. 2016 07:50 <-- editieren / zitieren --> Unities abgeben: Nur für KraBBy
Hallo, Ich hab dein Beispiel mal gestartet, es funktioniert tadellos ohne Error! Der Import dauert lange, habe etwas Geduld und das Script nicht 2mal in der selben IPT starten, dann gibt es eine Fehlermeldung, da die Step ja schon importiert wurde. Gruß Berno
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 21. Nov. 2016 12:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Berno, erstmal vielen Dank für Deine Mühe. Bei mir funktioniert es nicht. Hat auch mit Geduld nix zu tun. Es kommt "sofort" der Run-time error '445': Object doesn´t support this action. Ich habe schon unterschiedliche Step versucht (Einzelteil, Baugruppe). Immer gleiches Ergebnis. Auch in "frischen" ipt´s versucht... Hast Du eine Idee warum das so ist? Was könnte ich noch versuchen? Ich nehme an, Du hast IV2016 benutzt, oder? ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 21. Nov. 2016 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für KraBBy
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 22. Nov. 2016 12:11 <-- editieren / zitieren --> Unities abgeben:
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 06. Dez. 2016 12:39 <-- editieren / zitieren --> Unities abgeben:
Das ist der Versuch, das Thema wieder nach vorne zu holen. Ich komme bei dem Thema leider nicht weiter. Wäre schön, wenn sich jemand (mit IV2016) die Mühe macht den Code von oben zu testen. Danke. ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Architekt als Projektentwickler und -manager (w/m/d) | Klebstoff für die Zukunft, Karriere fürs Leben DELO steht für Innovation auf höchstem Niveau. Wir entwickeln und produzieren Spezialklebstoffe für Hightech-Branchen: vom Automobilsektor über Unterhaltungselektronik bis zur Halbleiterindustrie. Wir sind ein unsichtbarer, aber unverzichtbarer Teil in einer klima- und menschenfreundlichen Wirtschaft. Als Familienunternehmen ... | Anzeige ansehen | Architektur |
|
Ticky72 Mitglied
Beiträge: 35 Registriert: 17.02.2016 Inventor 2019 Win7 64Bit
|
erstellt am: 08. Dez. 2016 11:58 <-- editieren / zitieren --> Unities abgeben: Nur für KraBBy
Hallo KraBBy, ich hab deinen Code in Inventor 2016 getestet und bekomme die gleiche Fehlermeldung wie du. Habe auch mal mit dem STEP Translator versucht in eine vorhandene Datei mittels 'OpenIntoExisting' in eine vorhandenes Bauteil zu importieren. Bekomme da (wie du wahrscheinlich auch schon bemerkt hast) allerdings die Meldung: 'Dieser Konversionsvorgang wird noch nicht unterstützt'. Außerdem habe ich beim normalen importieren in ein geöffnetes Bauteil keinen Dateifilter für STEP-Dateien, kann aber über 'All Files(*)' Step-Daten einfügen. Gruß Helmut Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |