| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| | |
 | Schnell, effizient und günstig: Mit der Kisters 3DViewStation 3D Arbeits- und Reparaturanleitungen einfach erstellen und pflegen, eine Pressemitteilung
|
|
Autor
|
Thema: Verwendung von Publications für Constrains (741 / mal gelesen)
|
AndyMattes Mitglied Key User for CAD,PLM and FEM Software

 Beiträge: 73 Registriert: 13.05.2022
|
erstellt am: 08. Mai. 2023 13:19 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich habe mal eine Frage. Wenn ich über VBA Scripting in einer Baugruppe Constrains erzeugen will, muss ich ja die Element die ich miteinander verknüpfen will zuerst als Objekt deklarieren. Wie z.B.: ----------------------------------------- Dim Ebene1 As AnyObject Set Ebene1 = oFirstInstance.ReferenceProduct.Parent.Part.OriginElements.PlaneXY ----------------------------------------- Meine Frage ist ob es hier auch eine Möglichkeit gibt direkt auf die Publications eines CATParts oder CATProducts zuzzugreifen?? Z.B.: Set MainAxis = oLastInstance.ReferenceProduct.Parent.Part.Publications.Hauptachse (PS: so funktioniert es auf jeden Fall nicht ) Grüße Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12179 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Mai. 2023 16:11 <-- editieren / zitieren --> Unities abgeben:          Nur für AndyMattes
Servus Leider ist es nicht so einfach. Zunächst die Publication gehört zum Product und nicht zum Part (siehe Doku) zB ungetestet: Set MainAxis = oLastInstance.ReferenceProduct.Publications.Item("NameDerPublication") Vermutlich kannst du dir das aber auch sparen: in meinem Kurztest hat Catia die Publication verwendet wenn ich das zugehörige Objekt (zB Ebene) bei der Bedingung genutzt habe. Für die Bedingung musst du eine Referenz über den "Pfad" bilden: zB Set reference1 = product1.CreateReferenceFromName("Product1/Part1.1/!yz-Ebene") Versuch mal das erzeugen einer Bedingung per Makrorekorder aufzuzeichnen und dann entsprechend anzupassen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMattes Mitglied Key User for CAD,PLM and FEM Software

 Beiträge: 73 Registriert: 13.05.2022
|
erstellt am: 09. Mai. 2023 07:32 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen Bernd, vielen Dank für deine Antwort. Ich hab das ganze jetzt mal mit dem Recorder getestet. Der Pfad über den dabei auf die Publications zugegriffen wird ist doch recht komplex, so dass ich es erstmal so mache wie du es empfohlen hast und ich direkt auf die Geometrieelemente zugreife. Kann ich hierbei eigentlich auch eine einzelne Achse aus einem Koordinatensystem zugreifen? Ich habe das jetzt mal so probiert: ---------------------------------------------------------------------- Dim MainAxisSkelett As AnyObject Set MainAxisSkelett = oFirstInstance.ReferenceProduct.Parent.Part.AxisSystems.Item(1).YAxisDirection Dim R_MainAxisSkelett As Reference S = Root.PartNumber & "/" & oFirstInstance.Name & "/!" & MainAxisSkelett.Name Set R_MainAxxisSkelett = Root.CreatReferenceFromName(S) ---------------------------------------------------------------------- Aber damit funktioniert es nicht. Ich denke mal das YAxisDirection falsch ist. Aber ich weiß nicht wie ich sonst eine einzelne Achse aus einem Koordinatensystem auswählen kann (über den Recorder kam ich hier auch nicht weiter). Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12179 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 09. Mai. 2023 13:40 <-- editieren / zitieren --> Unities abgeben:          Nur für AndyMattes
|