Autor
|
Thema: CreateReferenceFromName (2074 mal gelesen)
|
picard Mitglied
Beiträge: 193 Registriert: 04.06.2001
|
erstellt am: 02. Jun. 2005 08:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich versuche gerade ein Fix-Constraint per Makro zu erzeugen. Leider habe ich Probleme, sobald das zu erzeugende Constraint in einem Unterprodukt landen soll. Meine Baumstruktur soll folgendermaßen aussehen: Code:
Hauptprodukt |-Unterprodukt |-Komponente |-Constraints |-Fix1
Wie Muss der Übergabewert für CreateReferenceFromName für das Constraint "Fix1" aussehen? Ich habe es mit "Unterprodukt/Komponente.1/!Unterprodukt/Komponente.1" versucht... leider ohne Erfolg. Gruß, Picard [Diese Nachricht wurde von picard am 07. Jun. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u01dz Mitglied
Beiträge: 76 Registriert: 12.07.2003 V5R15GA
|
erstellt am: 03. Jun. 2005 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für picard
Hi Picard, normalerweise musst Du den Pfad vom Root-Product bis zum Element, das fixiert werden soll angeben: {Part Number Hauptproduct}/{Instance ID Unterproduct}/{Instance ID CATPart}/!{Name der zu fixierenden Geometrie} z.B. AA01 (Root-CATProduct) - AA02 (Unter-CATProduct) - AA03 (CATPart) - Absolute Axis AA01/AA02.1/AA03.1/!Absolute Axis Bei mir hat das so funktioniert. ------------------ Tschüß, Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
picard Mitglied
Beiträge: 193 Registriert: 04.06.2001
|
erstellt am: 07. Jun. 2005 07:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Dieter, vielen Dank für den Tip. Der Syntax ist ja recht einfach, der Makrorecorder verkompliziert das Ganze nur . Leider gibt es dennoch ein Problem. Wie kann ich den Festlegen, in welchem Kontext das Constraint erzeugt wird? Folgendes habe ich versucht: Code:
Set MyConstraints = Unterprodukt.Connections("CATIAConstraints") MyFixReferenceString = Unterprodukt.PartNumber & "/" & Komponente.Name & "/!" & Komponente.Name & "/" Set MyFixReference = Unterprodukt.CreateReferenceFromName(MyFixReferenceString) Set MyFixConstraint = MyConstraints.AddMonoEltCst(catCstTypeReference, MyFixReference)
Ich habe auch versucht, den kompletten Pfad anzugeben (vom Hauptprodukt aus). Beides hat zwar funktioniert, jedoch wurden die Constraints immer auf der Ebene des Hauptprodukts angelegt und nicht, wie erwartet im Unterprodukt. Hast Du hierzu vielleicht noch einen Tip? Gruß, Picard [Diese Nachricht wurde von picard am 07. Jun. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u01dz Mitglied
Beiträge: 76 Registriert: 12.07.2003 V5R15GA
|
erstellt am: 07. Jun. 2005 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für picard
Hi Picard, ich habe dazu den Kontext in einem separaten Window geöffnet und dort das Constraint erzeugt. Anschließend sollte das Window wieder geschlossen werden. ------------------ Tschüß, Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
picard Mitglied
Beiträge: 193 Registriert: 04.06.2001
|
erstellt am: 07. Jun. 2005 13:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Dieter, leider schaffe ich es nicht, das Unterprodukt in einem neuen Fenster zu öffnen. Wenn ich UnterprodukDocument.NewWindow ausführe, wird im neuen Fenster wieder das Hauptprodukt geöffnet... kannst Du Deinen Syntax vielleicht preisgeben ? Gruß, Picard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
prosper Mitglied Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5
Beiträge: 86 Registriert: 05.05.2004
|
erstellt am: 18. Jul. 2005 20:31 <-- editieren / zitieren --> Unities abgeben: Nur für picard
Hallo Picard, um eine Constraint im Kontext von deinem Unterprodukt zu generien musstest du con diesem Unterprodukt anfangen. Das heisst unterprod.referenceProduct.parent.product oder sowas. Es funktionniert sicher, weiss aber nichr mehr genau wie. Auf jeden Fall muss du den Unterprodukt als Reference haben (mit Referenceproduct) und nicht aus dem root (mit produt.products.item(xy) ) Kann dir das weiterhelfen???? Kannst auch versuchen das mit dem recorder zu machen. Ich glaube, dass er aber aufs document geht mit CATIA.documents und das schaft man auch mir Referenceproduct.parent ! Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
prosper Mitglied Dipl.-Ing. -- Methoden und Prozessentwicklung Catia V5
Beiträge: 86 Registriert: 05.05.2004
|
erstellt am: 18. Jul. 2005 20:34 <-- editieren / zitieren --> Unities abgeben: Nur für picard
Es ist aber nicht notwendig das Unterprodukt ineu zu öffnen, das funktionniert im root. Catia muss wissen in welchem Produkt "sie" die constraint erzeugen soll, und das passiert direkt im product document Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |