| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT |
Autor
|
Thema: iPart-Varianten als eigenständige Bauteile (3170 / mal gelesen)
|
Jakob Langenberg Mitglied Konstruktionsingenieur
Beiträge: 4 Registriert: 21.06.2021 Autodesk Inventor 2021 (Build 183) Autodesk Vault 2021 (Build 26.0.63.0) Intel Xeon W-2125 Nvidia Quadro P2200 Ram: 64 GB (2666 MHz)
|
erstellt am: 21. Jun. 2021 11:11 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich suche nach einer Möglichkeit aus den Varianten eines iParts unabhängige eigenständige Bauteile zu machen. Ich weiß, dass ich im "original" iPart (Elternteil, oder wie man es nennen mag) einfach die Familientabelle rauslöschen kann und es bleibt nur die aktive Variante als Bauteil bestehen. Es sind jedoch sehr viele Varianten, weswegen ich auf ein manuelles rauslöschen verzichten möchte. Leider lassen sich in den automatisch generierten ipt-Varianten nicht die Parameter bearbeiten, bzw. es besteht immer die Verknüpfung zum "Elternteil". Grund ist eigentlich: die Firma möchte keine iParts in Vault haben (wird sich auch leider nicht ändern) und ich bin zu faul 100 (ähnliche) Gehäuse händisch zu erstellen, da hier die Excel-Tabellenbearbeitung einfach optimal ist. Gerne würde ich mir einfach mein iPart lokal erstellen, die Varianten als unabhängige Bauteile ableiten und diese in die Vault packen. Ich hoffe jemand hat eine smarte Lösung, und vielen Dank! Jakob L. [Diese Nachricht wurde von Jakob Langenberg am 21. Jun. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 21. Jun. 2021 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Moin! Und Herzlich Willkommen! Was Du versuchst, ist leider unmöglich. Die sogenannten iPart-Kinder sind nämlich gar nicht eigenständig wie echte Kinder, sondern das sind alles Abgeleitete Komponenten ("AK"). Der Ablauf ist, dass in der Quelle (Elternteil, factory, iPart-Mutter,...) die Parameter einer Tabellenzeile aktiviert werden, um die spezifische Geometrie zu erzeugen, und davon wird dann eine AK gemacht. Die Aktualisierung der AK wird danach unterdrückt, damit die verschieden geformten Varianten gleichzeitig existieren können. Die Formparameter, die Du ändern möchtest, gibt es in den AK (den "Kindern") also gar nicht, denn die Definition und Erstellung der Geometrie findet ausschließlich in der Quelle statt. Die "Kinder" sind und bleiben AK. Daran lässt sich leider nichts ändern. Wenn man keine iParts haben will, darf man keine machen. Leider wird immer erzählt, dass iParts so toll wären, aber das sind sie nun mal nicht. Ich mache schon lange keine mehr. Doof, ja ich weiß, aber nützt ja nix. Was also tun? Um jetzt die 100 ähnlichen Gehäuse als eigenständige Dateien zu erstellen, wirst Du tatsächlich Kopien machen und darin jeweils die Parameter ändern müssen. Das geht leichter, wenn Du die Modellierung am Anfang (also vor der Erstellung der Kopien) so aufbaust, dass die zu variierenden Parameter in der Parameterliste ("fx") gut erreichbar sind. Dann kannst Du dort die Werte fast so einfach ändern wie in der Excel-Tabellenbearbeitung. Und in der Parameterliste kann man auch mit Formeln arbeiten. Und die iProperties der vielen Varianten kannst Du sehr gut mit Hilfe der iam-Stückliste pflegen, wenn Du die Varianten einfach alle zusammen in eine nur diesem Zweck dienende iam wirfst. Wobei eine solche iam sogar noch den weiteren Zeck erfüllt, dass man die Varianten im Größenvergleich ansehen kann. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jakob Langenberg Mitglied Konstruktionsingenieur
Beiträge: 4 Registriert: 21.06.2021 Autodesk Inventor 2021 (Build 183) Autodesk Vault 2021 (Build 26.0.63.0) Intel Xeon W-2125 Nvidia Quadro P2200 Ram: 64 GB (2666 MHz)
|
erstellt am: 21. Jun. 2021 13:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Roland, erstmal vielen Dank für deine schnelle und kompetente Rückmeldung. Hab mir schon etwas in der Art gedacht, dann werde ich mich mal an die Arbeit machen... Grüße und noch eine schöne Woche! Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 21. Jun. 2021 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Hallo Es geht zu einem kleinen Teil schon. Wenn man das iPartFactory ("Elternteil") hernimmt, der Reihe nach die Varianten aktiviert, jeweils die Tabelle löscht und dann die Datei als normales Part wegspeichert, erzeugt man für jede Variante ein normales Bauteil. Mit den so erzeugten Dateien könnte man bereits verbaute iPart Member ersetzen. Alle eventuell vorhandenen Abhängigkeiten gehen dabei aber flöten und müssen repariert werden. Für das Erzeugen der normalen Bauteile versuch's mal mit dieser iLogic Regel. Das sollte mit einer geöffneten iPart Factory alle Varianten als normale Bauteile in das angegebene Verzeichnis speichern. Code:
Dim sPath As String= "C:\Temp\iPart\" '<----- Pfad anpassen Dim oPartDoc As PartDocument = ThisDoc.Document Dim oCompDef As PartComponentDefinition= oPartDoc.ComponentDefinitionDim oTrans As Transaction Dim iPartTableRow As iPartTableRow Dim sPartName As String If Not System.IO.Directory.Exists(sPath) Then System.IO.Directory.CreateDirectory(sPath) If oCompDef.IsiPartFactory = True Then For Each iPartTableRow In oCompDef.iPartFactory.TableRows oTrans = ThisApplication.TransactionManager.StartTransaction(oPartDoc, "Unlink_iPartMember") Try oCompDef.iPartFactory.DefaultRow = iPartTableRow sPartName = iPartTableRow.PartName Call oCompDef.iPartFactory.Delete If System.IO.File.Exists (sPath & sPartName) Then System.IO.File.Delete (sPath & sPartName) Call oPartDoc.SaveAs(sPath & sPartName, True) Catch End Try oTrans.Abort Next End If
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jakob Langenberg Mitglied Konstruktionsingenieur
Beiträge: 4 Registriert: 21.06.2021 Autodesk Inventor 2021 (Build 183) Autodesk Vault 2021 (Build 26.0.63.0) Intel Xeon W-2125 Nvidia Quadro P2200 Ram: 64 GB (2666 MHz)
|
erstellt am: 21. Jun. 2021 15:08 <-- editieren / zitieren --> Unities abgeben:
|
nightsta1k3r Ehrenmitglied V.I.P. h.c. plaudern
Beiträge: 11223 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 21. Jun. 2021 16:58 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 21. Jun. 2021 17:06 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Zitat: Original erstellt von rkauskh: ...versuch's mal mit dieser iLogic Regel.
Super! Ja, durch das Ersetzen verwaisen die Abhängigkeiten halb (oder ganz). In solchen Fällen repariere ich die aber meistens nicht, sondern lösche sie einfach und fixiere die betroffenen Komponenten nur (wenn überhaupt). Die neuen Bauteile sind ja bei der skizzierten Vorgehensweise deckungsgleich mit den vorherigen iPartMembers (jetzt wissen wir auch, wie die offiziell heißen und die umgebenden Konstruktionen sind in so einer Phase meist schon fertig und müssen sich keiner Veränderung mehr anpassen. Übrigens sind später, wenn (in neuen Konstruktionen) neue Abhängigkeiten erstellt worden sind, die als Ersatz für die iPartMembers erstellten Kopien wieder ohne Verwaisen der Abhängigkeiten untereinander austauschbar, denn es sind ja alles "geklonte" Kopien, deren Geometrie-Indizes jeweils übereinstimmen. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Charly Setter Moderator
Beiträge: 11977 Registriert: 28.05.2002 Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw)
|
erstellt am: 21. Jun. 2021 18:42 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Ich sehe da 2 Wege: 1. Du kannst im iPart-Child die Verbindung zur Tabelle lösen (nicht in der Fabrik) => Das Teil ist dann unabhängig, aber nur ein "dummer" Volumenkörper, da AK mit unterdrückter Ableitung. Abhängigkeiten sollten erhalten bleiben, da sich die internen ID´s der KAnten und Flächen nicht ändern. Im Vault aber besser umbenennen, da sonst die Fabrik das Teil wieder neu erzeugt 2. Du kannst deine iPart-Factory als eigene Familie in den Vault importieren. Diese Teile können dann genauso behandelt werden, wie alle Bibliotheksteile im Vault. Auch editieren der Familientabelle, etc. pp. Nachteil: Es sind dann neue Bauteile, Abhängigkeiten gehen flöten, wenn´s keine iMates sind. Insofern ist der Ansatz:Keine iParts im Vault schon OK, man muss es nur sauber umsetzen . Und für die Übernahme von Altkonstruktionen in den Vault ist es etwas unglücklich, das beim Import des iParts neue Teile erzeugt werden und die Abhängigkeiten verloren gehne. Da könnte sich Adsk noch etwas einfallen lassen. Ansonsten habe ich alle meine Alt-Konstruktionen mit intensiver iPArt-Nutzung direkt in den Vault übernommen. Ich sehe keinen Grund die iParts wegen Vault abzuschaffen, höchstens aus Performancegründen (Vault ist effektiver und schneller). ------------------ Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen. Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nightsta1k3r Ehrenmitglied V.I.P. h.c. plaudern
Beiträge: 11223 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 22. Jun. 2021 06:50 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Die Grundidee war nicht der spätere Austausch von iParttochter gegen voll parametrisches Teil. Das ist die Pechvogellösung. Die Idee dahinter ist das schnelle und effiziente Erstellen von Varianten über Excelkünstein der iPartfactory. Wenn das steht, dann werden die parametrischen Bauteile rausgefahren, mit einem Bruchteil an Aufwand gegenüber individuell Modellieren (auch wenn man immer wieder kopiert, wäre das parametrische Ändern jeder neuen Kopie viel aufwändiger) . Dafür hat Charles Bliss das damals geschrieben und ich auch angewendet. Der Schnipsel ist über die Jahre leider verloren gegangen .
------------------
------------------ Der Clown ist die wichtigste Mahlzeit am Tag. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jakob Langenberg Mitglied Konstruktionsingenieur
Beiträge: 4 Registriert: 21.06.2021 Autodesk Inventor 2021 (Build 183) Autodesk Vault 2021 (Build 26.0.63.0) Intel Xeon W-2125 Nvidia Quadro P2200 Ram: 64 GB (2666 MHz)
|
erstellt am: 22. Jun. 2021 08:32 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen zusammen, genau nightsta1k3r hat recht, mir ging es ausschließlich nur um die Erzeugung unabhängiger parametrischer Bauteile aus den Varianten der iPartFactory. Der Code von Ralf funktioniert einwandfrei, dass spart eine Menge an Zeit und Arbeit... vielen Dank! Und vergesst nicht den letzten "\" wenn ihr den Pfad anpassen solltet... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 22. Jun. 2021 17:36 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Moin @nightsta1k3r Ja leider, weißt du warum? @Roland Schröder Wegen der zerstörten Abhängigkeiten hab ich "zum kleinen Teil" machbar geschrieben. Ich denke mit entsprechendem Aufwand wäre aber auch das lösbar. Die AK eines iParts basiert ja auf der originalen Geometrie. Die Flächen, Kanten usw. dieser Geometrien sind identisch mit denen die iLogic erzeugt. Daher sollte es möglich sein, die Abhängigkeiten zu reparieren. @Jakob Langenberg Ja, mit dem Backslash hab ich abgekürzt. Das, und viele andere Sachen die mit dem Zielordner schief gehen können, zu prüfen und zu verhindern kann echt ausarten. Wer mag, noch eine Version mit Auswahldialog für das Zielverzeichnis. Könnte es etwas bequemer machen, als dauernd den Pfad im Quellcode zu befummeln.
Code:
Imports System.Windows.FormsDim sPath As String = ThisDoc.Path 'Anfangspfad des Dialoges, default Speicherpfad des iParts Dim oDialog = New FolderBrowserDialog() oDialog.SelectedPath = sPath oDialog.ShowNewFolderButton = True oDialog.Description = "Zielordner wählen..." If DialogResult.OK = oDialog.ShowDialog() Then sPath = oDialog.SelectedPath & "\" Else Return End If Dim oPartDoc As PartDocument = ThisDoc.Document Dim oCompDef As PartComponentDefinition= oPartDoc.ComponentDefinition Dim oTrans As Transaction Dim iPartTableRow As iPartTableRow Dim sPartName As String If Not System.IO.Directory.Exists(sPath) Then System.IO.Directory.CreateDirectory(sPath) If oCompDef.IsiPartFactory = True Then For Each iPartTableRow In oCompDef.iPartFactory.TableRows oTrans = ThisApplication.TransactionManager.StartTransaction(oPartDoc, "Unlink_iPartMember") Try oCompDef.iPartFactory.DefaultRow = iPartTableRow sPartName = iPartTableRow.PartName Call oCompDef.iPartFactory.Delete If System.IO.File.Exists (sPath & sPartName) Then System.IO.File.Delete (sPath & sPartName) Call oPartDoc.SaveAs(sPath & sPartName, True) Catch End Try oTrans.Abort Next End If
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Felix199 Mitglied Technischer Produktdesigner
Beiträge: 1 Registriert: 09.09.2021
|
erstellt am: 09. Sep. 2021 15:06 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Hallo, vielen Dank für den von dir geteilten Code, es funktioniert super. Ich stoße gerade an ein Problem. Ich habe mit der Methode schon eine große Anzahl an Bauteilen aus einem iPart erzeugt, wenn z.B. nur ein neues Bauteil hinzufügt wird und sich an den anderen Teilen nichts ändert, geht das Programm trotzdem wieder durch alle Teile durch und speichert/überschreibt sie erneut. Je nachdem wie viele Bauteile schon mit dem iPart erzeugt wurden, dauert das seine Zeit. Gibt es eine Möglichkeit durch die Liste der vorhandenen Teile zu gehen und nur ein Bauteil abzuspeichern, wenn der Bauteilname/Pfad noch nicht vorhanden ist? Anbei mein Versuch nur zu speichern falls es dieses Bauteil noch nicht vorhanden ist. Ich habe nur die Zeile mit dem Befehl zum speichern bearbeitet. oCompDef.iPartFactory.DefaultRow = iPartTableRow sPartName = iPartTableRow.PartName Call oCompDef.iPartFactory.Delete If Not System.IO.File.Exists(sPath & sPartName) Then oPartDoc.SaveAs(sPath & sPartName, True)
Catch End Try oTrans.Abort Next End If Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
iogurt Mitglied Konstrukteur
Beiträge: 264 Registriert: 30.09.2005 Inventor 2021 Professional
|
erstellt am: 10. Sep. 2021 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
korrosiv Mitglied Konstrukteur
Beiträge: 279 Registriert: 28.04.2005 DIVA 2020 ,Quadro K4200,Intel Core i7 3930K 6x 3.20GHz So.2011 WOF 32GB RAM,-- WIN7 Prof 64bit Keytech 13
|
erstellt am: 17. Sep. 2021 09:34 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
hi ich hab die Datei "iPartsToNormal.ivb" noch irgendwo abgespeichert, bin erst leztens drübergestolpert... falls wer die benötigt ?? [Diese Nachricht wurde von korrosiv am 17. Sep. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yamaha Mitglied Konstrukteur
Beiträge: 381 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 64Bit
|
erstellt am: 20. Sep. 2021 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
nightsta1k3r Ehrenmitglied V.I.P. h.c. plaudern
Beiträge: 11223 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 20. Sep. 2021 17:57 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
korrosiv Mitglied Konstrukteur
Beiträge: 279 Registriert: 28.04.2005 DIVA 2020 ,Quadro K4200,Intel Core i7 3930K 6x 3.20GHz So.2011 WOF 32GB RAM,-- WIN7 Prof 64bit Keytech 13
|
erstellt am: 20. Sep. 2021 18:50 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
sodele.. hab das mal vor viiiielen Jahren von CBLISS runtergeladen und in meiner "CAD Hall of fame" abgelegt und nun wieder ausgegraben und hier zum download bereitgestellt geb aber keine Garantie ob es noch geht da einige *ivb´s von früher nimmer laufen ... warum auch immer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
W. Holzwarth Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 9326 Registriert: 13.10.2000 Inventor bis 2024, Rhino 7, Mainboard ASUS ROG STRIX X570F-Gaming, CPU Ryzen 9 5900X, 64 GB RAM, 4 TB SSD, Radeon RX 6900 XT, Dual Monitor 24", Spacemouse Enterprise, Win 10 22H2
|
erstellt am: 20. Sep. 2021 20:46 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
korrosiv Mitglied Konstrukteur
Beiträge: 279 Registriert: 28.04.2005 DIVA 2020 ,Quadro K4200,Intel Core i7 3930K 6x 3.20GHz So.2011 WOF 32GB RAM,-- WIN7 Prof 64bit Keytech 13
|
erstellt am: 20. Sep. 2021 22:00 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
W. Holzwarth Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 9326 Registriert: 13.10.2000 Inventor bis 2024, Rhino 7, Mainboard ASUS ROG STRIX X570F-Gaming, CPU Ryzen 9 5900X, 64 GB RAM, 4 TB SSD, Radeon RX 6900 XT, Dual Monitor 24", Spacemouse Enterprise, Win 10 22H2
|
erstellt am: 21. Sep. 2021 08:49 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
korrosiv Mitglied Konstrukteur
Beiträge: 279 Registriert: 28.04.2005 DIVA 2020 ,Quadro K4200,Intel Core i7 3930K 6x 3.20GHz So.2011 WOF 32GB RAM,-- WIN7 Prof 64bit Keytech 13
|
erstellt am: 21. Sep. 2021 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
hi ! alles gut ! ich hab ja die "originale " seit Jahr(zehnten) in meiner CAD-Bibiliothek hab die aber schon länger nicht mehr im Einsatz da ich zu 99% "Custommade" konstruieren darf , max. 10 Shelter in Serie , das Gro ist Einzelanfertigung.. hab früher damit Flansche, Stutzen und Klöpper + Korbbogenböden im Behälterbau generiert , u.a. die ganzen Milchrohr-Verschraubungen und alles was man sonst zum Büchsenbauen braucht )) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andrejg Mitglied Technischer Zeichner
Beiträge: 3 Registriert: 11.08.2021
|
erstellt am: 08. Okt. 2021 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Guten Morgen, ich bin ihnen sehr Dankbar für diese Regel - wir würden uns enorme Zeit ersparen. Leider funktioniert der Code im IV2022 nicht mehr, IV stürzt nach dem ersten Teil abspeichern einfach ab. Ohne Fehlerangabe. Unter IV2019 hatte alles reibungslos funktioniert und hunderte Teile waren kein Problem. Irgendeine Idee woran das liegen könnten? Mfg André Wagner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 09. Okt. 2021 00:06 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 09. Okt. 2021 21:17 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Hallo Gibt ja immer mehrere Wege. Das alternative Script läuft etwas langsamer, aber unter 2022 hab ich bisher keinen Absturz mehr gehabt. Code:
Dim sPath As String = ThisDoc.Path 'Anfangspfad des Dialoges, default Speicherpfad des iParts Dim oDialog = New FolderBrowserDialog() oDialog.SelectedPath = sPath oDialog.ShowNewFolderButton = True oDialog.Description = "Zielordner wählen..." If DialogResult.OK = oDialog.ShowDialog() Then sPath = oDialog.SelectedPath & "\" Else Return End IfDim oPartDoc As PartDocument = ThisDoc.Document Dim oNewDoc As PartDocument Dim oCompDef As PartComponentDefinition= oPartDoc.ComponentDefinition Dim iPartTableRow As iPartTableRow Dim sPartName As String Dim i As Integer If Not System.IO.Directory.Exists(sPath) Then System.IO.Directory.CreateDirectory(sPath) If oCompDef.IsiPartFactory = True Then For i = 1 To oCompDef.iPartFactory.TableRows.Count oNewDoc=Nothing Try sPartName = oCompDef.iPartFactory.TableRows.Item(i).PartName If System.IO.File.Exists (sPath & sPartName) Then System.IO.File.Delete (sPath & sPartName) Call oPartDoc.SaveAs(sPath & sPartName, True) oNewDoc = ThisApplication.Documents.Open(sPath & sPartName, False) oNewDoc.ComponentDefinition.iPartFactory.DefaultRow = oNewDoc.ComponentDefinition.iPartFactory.TableRows.Item(i) Call oNewDoc.ComponentDefinition.iPartFactory.Delete oNewDoc.Save Catch Finally If oNewDoc IsNot Nothing Then oNewDoc.Close End Try Next End If MsgBox("Fertig", "iPart2Normal")
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
andrejg Mitglied Technischer Zeichner
Beiträge: 3 Registriert: 11.08.2021
|
erstellt am: 11. Okt. 2021 06:37 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Guten Morgen, Super!!! Es funktioniert, vielen vielen Dank! Offtopic - wo und wie kann man sich das denn alles aneignen? Zugerne würde ich verstehen, was die Regel im einzelnen macht und auch selbst schreiben können :-( Grüße André Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 11. Okt. 2021 10:38 <-- editieren / zitieren --> Unities abgeben: Nur für Jakob Langenberg
Hallo Anfangen kannst du mit den Einleitungskapiteln in der API Hilfe. Wenn du mal auf das kleine schwarze Dreieck neben dem Fragezeichnn rechts oben im Inventor klickts und unter Hilfe --> Programmierung/API-Hilfe schaust. Die erklären erstmal das Objektmodell, wie Inventor intern aufgebaut ist und denkt. Dann kannst du im Grunde jede Doku zu VBA und VB.Net heranziehen. Dann gibts hier noch zwei Foren für die Programmierung in VBA bzw. .Net für aufkommende Fragen. iLogic ist auch nur VB.Net. Im Netz findet sich auch eine Reihe Informationen. Ansonsten ist es ein ganz Teil Erfahrung und Geduld. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |