| |
 | 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 - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: i-Logic Zugriff auf i-Properties (824 / mal gelesen)
|
Frankx Mitglied

 Beiträge: 66 Registriert: 08.01.2019 Inventor Professional
|
erstellt am: 17. Nov. 2020 09:48 <-- editieren / zitieren --> Unities abgeben:         
Ich möchte mittels I-Logic in einer ipt mit abgeleiteter (gespiegelter) Komponente auf bestimmte I-Properties der referenzierten Originaldatei zugreifen und diese auf das neue Teil übertragen. Z.B. die benutzerdefinierte I-Property "Abmass" soll aus der Quell-ipt in die neue ipt übernommen werden. iProperties.Value("Custom", "Abmass") = ThisApplication.ActiveDocument.ReferencedFileDescriptors(1).iProperties.Value("Custom", "Abmass") Mit dem ersten Teil links vom = kann ich auf die I-Property "Abmass" zugreifen, das funktioniert. Allerdings habe ich wohl noch einen Fehler auf der rechten Seite vom =. Der Wert wird nicht übergeben. Hat jemand eine Idee? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2788 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 17. Nov. 2020 10:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Frankx
|
Frankx Mitglied

 Beiträge: 66 Registriert: 08.01.2019 Inventor Professional
|
erstellt am: 17. Nov. 2020 10:31 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank. Das funktioniert sehr gut. Ich hatte zwischenzeitlich folgende Lösung: iProperties.Value("Custom", "Abmass") = iProperties.Value(sRefDatName, "Custom", "Abmass") Wobei sRefDatName den Dateinamen der referenzierten Datei beinhaltet. Das Problem war hier, dass man nicht den Pfad der referenzierten Datei dabei hat. ILogic akzeptiert hier selötsamerweise nur den Namen ohne Pfad. Deine Lösung ist demnach die bessere! .
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2788 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 17. Nov. 2020 11:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Frankx
Hallo Ich denke dein Code funktioniert nur solange, wie es keine zwei referenzierten Dateien mit gleichem Dateiname aber unterschiedlichen Pfad gibt. Das könnte durch eine abgeleitete Baugruppe die bei Dateien beinhaltet passieren oder durch ableiten beider Dateien. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Frankx Mitglied

 Beiträge: 66 Registriert: 08.01.2019 Inventor Professional
|
erstellt am: 17. Nov. 2020 12:23 <-- editieren / zitieren --> Unities abgeben:         
Ja, deshalb war mir bei der Sache auch nicht ganz wohl. Mit Deiner Lösung ist das jetzt eindeutig. Inzwischen bin ich etwas weiter. Ich möchte im Spiegelteil den Werkstoff vom Originalteil übernehmen.
' Übernahme von Werkstoff ThisDoc.Document.ComponentDefinition.Material.Name = ThisApplication.ActiveDocument.ReferencedDocuments(1).ComponentDefinition.Material.Name Das funktioniert soweit. Allerdings, wenn ich im Spiegelteil den Werkstoff auch nur ein einziges mal direkt geändert habe, dann ergibt das bei Neuaufruf des Makros keine Aktualisierung mehr (zur referenziertem ipt).
Das ist nicht weiter schlimm, da ich ja eigentlich immer den Werkstoff des Originalteiles übernehmen möchte. Nur etwas wunderlich ist das schon. . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |