Autor
|
Thema: Offset-Ebene: Referenzfläche ändern (5148 mal gelesen)
|
ThomasJay Mitglied Dipl-Ing
Beiträge: 159 Registriert: 19.04.2011 CATIA V5 R19
|
erstellt am: 16. Mai. 2011 14:49 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich habe ein Makro erstellt bei dem Mehrere Punkte auf einer Kurve erzeugt werden. Auf diesen Punkten werden dann Offsetflächen von der XY-Ebene oder der ZX-Ebene je nach Richtung der Kurve erstellt. In manchen Fällen macht er mir aber einen Offset von der falschen Fläche. Ich würde das Makro deshalb gerne so erweitern, das man im anschluss gefragt wird, ob man eine Ebene drehen will. Bei "Ja" soll die Inputfläche geändert werden. Hab zum probieren folgendes geschrieben: Code: F = UserSel.SelectElement2(Was, "Selektieren Sie die ebene die sie ändern möchten", False) Dim ebene
Set ebene = UserSel.Item(1) Dim refZ, refY Set refZ = part1.CreateReferenceFromObject(XYEbene) Set refY = part1.CreateReferenceFromObject(XZEbene) ebene.Plane = refZ
gibt aber immer einen Fehler. Wie kann ich das Referenzelement ansprechen, wenn ich die Ebene über eine User-Selection auswähle? Der Makro-Rekorder bringt leider nichts nützliches... 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: 16. Mai. 2011 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasJay
|
ThomasJay Mitglied Dipl-Ing
Beiträge: 159 Registriert: 19.04.2011 CATIA V5 R19
|
erstellt am: 16. Mai. 2011 15:59 <-- editieren / zitieren --> Unities abgeben:
Funktioniert auch nicht. Hab den Befehl "ebene.plane = ref" auch direkt aus Ziethen's "CATIA Makroprogrammierung...". der sollte also eigentlich korrekt sein. Ich befürchte dass er die Funktion nicht ausführen kann weil sie auf eine Selection angewendet wird. hab dafür das Item aus der Selection an die Variable "ebene" übergeben, aber es funktioniert ja trotzdem nicht. Mir fällt aber grad auch nichts ein um des Problem zu lösen, deshalb bin ich um jeden weitern Vorschlag dankbar. 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: 16. Mai. 2011 16:16 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasJay
Servus Anbei ein Beispiel, dass bei mir durchläuft: Code: Sub CATMain() Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.PartDim XYEbene, XZEbene Set XYEbene = part1.OriginElements.PlaneXY Set XZEbene = part1.OriginElements.PlaneZX 'Ebene seletkieren Dim usersel Set usersel = partDocument1.Selection Dim f As String Dim was(0) was(0) = "Plane" f = usersel.SelectElement2(was, "Selektieren Sie die ebene die sie ändern möchten", False) Dim ebene As Plane Set ebene = usersel.Item(1).Value Dim refZ, refY Set refZ = part1.CreateReferenceFromObject(XYEbene) Set refY = part1.CreateReferenceFromObject(XZEbene) ebene.Plane = refZ part1.Update End Sub
Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasJay Mitglied Dipl-Ing
Beiträge: 159 Registriert: 19.04.2011 CATIA V5 R19
|
erstellt am: 16. Mai. 2011 16:40 <-- editieren / zitieren --> Unities abgeben:
|