| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | Dassault PLM Integrationen mit der 3DViewStation, eine Pressemitteilung
|
Autor
|
Thema: Publication Referenzieren (1825 mal gelesen)
|
Bopkes Mitglied

 Beiträge: 40 Registriert: 21.04.2009
|
erstellt am: 14. Jul. 2009 21:04 <-- editieren / zitieren --> Unities abgeben:         
Hi! Mal ne frage, weiß jemand von euch wie es möglich ist bzw ob es möglich ist mit "CreatReferenceFromObject" eine Referenz aus einer Publication zu machen? Es ist so, ich habe eine publiziertes "Join" das ich mit "SewSurface" gern auf meine Bauteilfläche aufnähen will! Dazu brauche ich ja eine Referenz, und diese will ich gern über diese Publication auf mein "Join" referenzieren. Hab es schon Probiert, aber immer eine Fehlermeldung mit " CreatReferenceFromObject fehlgeschlagen" bekommen! Also ich will im Prinzip auf eine in einem Part bestehende Publication zugreifen (die ja wie ein link zum eigentlichen Feature fungiert, hier also auf mein "Join" zeigt) und dies (bzw eben das verlinkte Join) auf mein Bauteil per script aufnähen!
Weiß jemand wie es geht oder ob es irgendwie geht? [Diese Nachricht wurde von Bopkes am 14. Jul. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 15. Jul. 2009 07:00 <-- editieren / zitieren --> Unities abgeben:          Nur für Bopkes
Hallo, die Referenz machst du grundsätzlich nicht zu der Publikation, sondern zum publizierten Objekt. D.h. willst du z.B. die Fläche "Surf.1" koieren, die unter dem Namen "Meine_Fläche" publiziert ist (und der Name der Publikation sei "Suchkriterium" ist) so musst du wie folgt vorgehen: - Publikation suchen ("Meine_Fläche") - Referenz der Publikation (also das Objekt, welches publiziert ist) auslesen - dieses kopieren (z.B. mit Link) oder eine Referenz oder sonst was darauf - CATIA verknüpft (bei der entsp. Einstellung in Tools Options) selbstständig mit der Publikation Gruß
------------------ tomtom1972 [Diese Nachricht wurde von tomtom1972 am 15. Jul. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bopkes Mitglied

 Beiträge: 40 Registriert: 21.04.2009
|
erstellt am: 15. Jul. 2009 10:00 <-- editieren / zitieren --> Unities abgeben:         
Hi erstmal DANKE für deine Erklärung! Habe jetzt mal rumprobiert, und folgendes getan: -nach der Publication gesucht uns sie gefunden ("PartBody") -Valuation der Publication abgefragt ( ich denke mal das ist das was du mit Referenz auslesen meinst???), und somit den Kompletten Namen erhalten:"Product1/Referenz_statischer_Lastfall.1/!PartBody" - Daraus eine Referenz für mein weiteres Vorgehen erstellen mit CreatRefernceFromName ist dann leider fehlgeschlagen mit der Meldung "Object doesn`t support this property or method" Hat jemand vielleicht nen Tip was ich falsch gemacht hab bzw was ich ändern muß? anbei mal ein Auszug aus dem Script
Code: :::::::::::::::::Set product1 = productDocument1.Product Set products1 = product1.Products Set publications1 = products1.Item(1) Set publication1 = publications1.Publications Set Publication = publication1.Item("PartBody")<------Publikation suchen Set Valuation1 = Publication.Valuation Valuation = Valuation1.DisplayName<----------Referenz auslesen Set documents1 = CATIA.Documents Set partDocument1 = documents1.Item(ABC) Set part1 = partDocument1.Part Set referenceA = part1.CreatReferenceFromName(Valuation1.Name)<-----Referenz erstellen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 15. Jul. 2009 10:33 <-- editieren / zitieren --> Unities abgeben:          Nur für Bopkes
Hallo, die Methode .CreatReferenceFromName funktioniert anders als du sie verwendest. Und das ist dann auch dein Fehler: der "Name" (d.h. der benötigte String) für die Referenz-Erzeugung hat mit dem .Displayname nichts zu tun. Ist in der Online-Doku explizit beschrieben. Andere Frage: warum willst du die Referenz über den Namen erzeugen oder besser gefragt: was hast du eigentlich vor? Gruß ------------------ tomtom1972 [Diese Nachricht wurde von tomtom1972 am 15. Jul. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bopkes Mitglied

 Beiträge: 40 Registriert: 21.04.2009
|
erstellt am: 15. Jul. 2009 11:11 <-- editieren / zitieren --> Unities abgeben:         
Also was ich vor hab ist folgendes: In einem Template sind immer die gleichen Publications vorhanden jedoch wird über Replace Component das zu bearbeitende Bauteil immmer ausgetauscht. So dass zwar die die Publication (welche ja immer da sind) mit einem bestimmten Feature verlinkt sind, ich jedoch nicht weiß wie es heißt und wo es sitzt. Also kann zum Beispiel eine mit Join erzeugte Fläche als Publication vorhanden sein, jedoch das Join selbst (also nicht die Publication) immer anders heißen und an einem anderen Ort stehen. Dieses Join will ich jetzt über mein Script auf die Bauteilfläche aufnähen! Deshalb will ich gern über die Publication das Join ansprechen!! Hoffe war einigermassen verständlich!! Wenn jemand andere Ideen hat immer raus damit!Bin für alles offen [Diese Nachricht wurde von Bopkes am 15. Jul. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bopkes Mitglied

 Beiträge: 40 Registriert: 21.04.2009
|
erstellt am: 15. Jul. 2009 14:47 <-- editieren / zitieren --> Unities abgeben:         
So, ich nochmal! Da ich das mit der Referenz nicht Verstanden hab, hab ichs jetzt anders glöst! Ich hol mir mit Valuation den DisplayName der Publication bzw der Referenz und ermittele mit der Mid-Funktion den Namen des Referenzierten Joins!! Der Name hat ja immer den selben aufbau, d.h ich schneide über die Mid-Funktion alles hinter "/! ab und hab somit den Name der Referenz!!!!!! Dann such ich mit "FindObjectByName" nach dem vorher ermittelten Name in meinem Strukturbaum. Das so ermittelte Object kann ich nun für weitere Aktionen verwenden! Siehe Script auszug!
Code: Set Publication = publication1.Item("Flanschfläche") 'Referenziert Publication JoinSet Join1 = Publication.Valuation Name1 = Join1.DisplayName Ergebnis = VBA.Mid(Name1, VBA.InStr(1, Name1, "!") + 1) 'ermittelt den Name des Join Set Search = part1.FindObjectByName(Ergebnis) 'Sucht nach Join in Strukturbaum
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |