Autor
|
Thema: Added Properties (1032 / mal gelesen)
|
Erich Mitglied Senior Consultant selbstständig
Beiträge: 198 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 06. Nov. 2016 18:09 <-- editieren / zitieren --> Unities abgeben:
Hallo über einen rekursiven Aufruf schaffe ich es, ADDED Properties hinzuzufügen. Nur bei den Instanzen, läuft mein Script verkehrt. Auszug des Teils des Scriptes, welches nicht das richtige Ergebnis liefert - For i = 1 To oProducts.Count <--- hier müsste ich anders vorgehen!!! Set oParentDoc = oProducts.Item(i).ReferenceProduct.Parent Set oParentDocProdukt = oProducts.Item(i).ReferenceProduct.Parent If TypeName(oParentDoc) = "PartDocument" Then OEM_PROPERTIES_PRODUKT oParentDocProdukt End if If TypeName(oParentDoc) = "ProductDocument" Then OEM_PROPERTIES_PRODUKT oParentDocProdukt End if If oProducts.Item(i).Products.Count > 0 Then Set oParentDoc = oProducts.Item(i).ReferenceProduct.Parent SUB_ProdScan oProducts.Item(i).Products End If Next Kann mir bzgl. Instanzen eine Idee weiterreichen, würde mich freuen. Danke
------------------ mfg Erich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Nov. 2016 18:30 <-- editieren / zitieren --> Unities abgeben: Nur für Erich
Servus Erich Was meinst du mit Instanzen? (von meinem Verständnis sind alle Products ja Instances/Exemplare) Oder meinst du Components? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Mitglied Senior Consultant selbstständig
Beiträge: 198 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 07. Nov. 2016 08:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd mit Instanzen ist in Catia zu verstehen, das ein Part oder Produkt mehrfach verbaut wurde. D.h. wird im Part.1 etwas verändert wird es in Part.2 sofort zu sehen sein, weil es die gleiche physische Datei ist. Dabei geben die Zahlen ".1" bzw. ".2" an, das dieses Part zweimal verbaut wurde. In den Properties kann man neben der Partnumber auch den Instanznamen und Filenamen finden. ------------------ mfg Erich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Nov. 2016 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für Erich
Servus Erich Mit "oProducts.Item(i)" hast du doch schon die Instanz. Mit oProducts.Item(i).ReferenceProduct" greiffst du dann auf das Product des CATParts/CATProducts zu. Was läuft bei dir bei Instanzen mit den Parametern falsch? Wo willst du die Parameter hinzufügen? Bei der Instance oder bei der jeweiligen Datei? Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Mitglied Senior Consultant selbstständig
Beiträge: 198 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 07. Nov. 2016 10:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd die Added Properties sollen in die Datei. Dort werden diese aktuell auch reingestellt. Problem ist, wenn Instanzen vorhanden sind werden diese n-mal mitgezählt und dadurch bekomme ich n-mal die Added Properties. ------------------ mfg Erich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Nov. 2016 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für Erich
Servus Du könntest doch vor dem Hinzufügen der Properties, erst abfragen ob es diese schon gibt und ggf dann überspringen. (Also deine OEM_PROPERTIES_PRODUKT entsprechend erweitern) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 07. Nov. 2016 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für Erich
Hallo, den Vorschlag von bgrittmann würde ich so oder so umsetzen. Man könnte sich zusätzlich die Dateinamen der bereits behandelten Dateien in einer Collection/einem Array speichern und vor der Bearbeitung prüfen ob diese Datei bereits bearbeitet wurde. Gruß Randle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Mitglied Senior Consultant selbstständig
Beiträge: 198 Registriert: 03.10.2000 i7-9850H RAM 32,0 GB Nvidia Quadro T2000 Windows 7 Professional 64Bit
|
erstellt am: 07. Nov. 2016 11:05 <-- editieren / zitieren --> Unities abgeben:
Hallo der Vorschlag von Bernd ist in meinem Script schon vorgesehen. D.h. existiert ein Property wird es berücksichtigt, bzw. nicht zusätzlich erzeugt. Das Problem ist jedoch, dass die Anzahl in der For-Schleife über die Anzahl der Dokument von mir verwendet wurde. D.h. bei der Abfrage Anzahl der Dokumente steckt der Fehler. So gesehen ist das Schreiben in eine Collection/Array besser. Da aber hier ein Aufwand steckt, den ich vermeiden wollte, die Frage der Anzahl der physischen Dateien in die Schleife zu bekommen. ------------------ mfg Erich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Werkstudent/in Engineering / Maschinenbau / Konstruktion (m/w/d) | Als führender Hersteller von Werkstattgeräten und Dienstleister im Bereich Blechfertigung ist die GL GmbH Metall- und Werkstatttechnik ein wichtiger Partner namhafter Kunden verschiedener Branchen in Deutschland. Mit Kernkompetenzen im Laserschneiden, Kanten und Schweißen sowie einem hohen Innovationsanspruch entwickelt das Familienunternehmen Geräte, die einen Mehrwert für Kunden und ihre Arbeitsprozesse schaffen.... | Anzeige ansehen | Maschinenbau |
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Nov. 2016 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für Erich
Servus Aus der Products-Collection kannst du nicht direkt auf die Anzahl der physischen Dateien schließen. Du könntest zB im ProductScan die Parts/CatProducts nur in eine Collection/Dictonary/Array zwischenspeichern, und ganz am Schluss erst über eine Schleife dir Properties prüfen/erzeugen. Alternativ könntest du noch die Documents-Colletion abarbeiten. Allerdings werden dann alle Dokumente (auch in einem anderen Fenster) berücksichtigt (also darf nur die zu bearbeitende Baugruppe geöffnet sein). Oder du könntest direkt über die Suche alle Baugruppen und Parts selektieren und diese abarbeiten (ggf langsam, was soll mit Components geschehen). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |