Autor
|
Thema: Linie Selektieren und Richtung auslesen (3237 mal gelesen)
|
summertime Mitglied Konstrukteur
Beiträge: 47 Registriert: 22.10.2003 CATIA V5 R12, R13, R14
|
erstellt am: 07. Jun. 2005 21:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich habe ein Problem ich möchte eine Linie selektieren, eigentlich habe ich die schon vor dem Start des Makros selektiert aber über Selection und count habe ich leider immer 0. Die Selektion brauche ich um aus der Linie dann die Richtung auszulesen, wollte ich mit GetDirection machen. Hat jemand vielleicht schon ein Makro dafür oder weiß jemand Rat? mfg thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JonnyXe Mitglied Student
Beiträge: 16 Registriert: 24.03.2005
|
erstellt am: 09. Jun. 2005 19:22 <-- editieren / zitieren --> Unities abgeben: Nur für summertime
|
MaxZ Mitglied Computer Aided Designer
Beiträge: 125 Registriert: 24.05.2005 V5 R16
|
erstellt am: 10. Jun. 2005 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für summertime
zu meinen leider auch nicht. thema selection: versuch mal sub catmain() dim selection1 as object Set selection1 = catia.activeDocument.selection InputObjectType(0) = "AnyObject" Status = Selection1.SelectElement2(InputObjectType, "Please Select Line...", True) selection1.endselectelement msgbox selection1.count end sub getdirection hab ich noch nicht gebraucht
Hoff' s'hilft Ciao Max
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MaxZ Mitglied Computer Aided Designer
Beiträge: 125 Registriert: 24.05.2005
|
erstellt am: 10. Jun. 2005 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für summertime
|
summertime Mitglied Konstrukteur
Beiträge: 47 Registriert: 22.10.2003 CATIA V5 R12, R13, R14
|
erstellt am: 18. Jun. 2005 17:52 <-- editieren / zitieren --> Unities abgeben:
|
gv Mitglied structural engineer
Beiträge: 12 Registriert: 28.03.2005
|
erstellt am: 20. Jun. 2005 23:36 <-- editieren / zitieren --> Unities abgeben: Nur für summertime
'deine selectierte line. wenn du die line aufm screen clickst, 'bekommst du ein edge element, wenn du die line 'entweder "einfensterst", oder im tree selectierst, becommst du ein 'line element Set my_sel = CATIA.ActiveDocument.Selection 'sucht in der selection die selectierten und uebergeordneten objecte 'nach linien ab, du kannst also entweder die edge aufm screen, oder 'die line im tree selectieren Set my_line = my_sel.FindObject("CATIAHybridShapeLine") 'das array fuer den richtungs vector Dim my_direction(2) 'tut die drei magischen zahlen ins array my_line.GetDirection my_direction ich hab mit was der user wie selektiert, dauernd stress, weil man eben wissen muss, ob im tree oder aufm screen selectiert wird. weiterhin funktionieren alle meine get- und set- methoden in VBA nur, wenn die objecte nicht specifiziert sind, also "dim my_line" anstelle von "dim my_line as hybridshapeline" ich glaub das gilt auch fuer "dim my_direction(2)" anstelle von "dim my_direction(2) as double"
liebe gruesse, Gregor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anderlkramer Mitglied Konstrukteur
Beiträge: 2 Registriert: 03.04.2008
|
erstellt am: 08. Apr. 2008 22:52 <-- editieren / zitieren --> Unities abgeben: Nur für summertime
HAllo Zusammen, dieser Beitrag ist zwar schon sehr alt, aber er interessiert mich gerade sehr. Ich muß aus einem CATPart mehrer Richtungsvektoren auslesen. Zwar kann ich jeden Vektor mit der Funktion "Element messen" bzw. "measure item" einzeln selektieren. Bei ca. 100 Messpunkten und zugehörigen Richtungsnormalen aber sehr fehleranfällig, wenn ich jeden einzeln in Excel übertrage. Gibt es für diesen Zweck denn kein Makro (CATScript) welches automatisch die 100 selektierten Linien als Richtungsvektor zum aktuellen Achsensystem in eine txt oder csv kopiert? Kann mir jemand helfen? Vielen Dank im Voraus. Gruß Andreas ------------------ Mr.Kramer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proofin Mitglied Dpl.Ing
Beiträge: 208 Registriert: 24.11.2004
|
erstellt am: 09. Apr. 2008 11:38 <-- editieren / zitieren --> Unities abgeben: Nur für summertime
|
anderlkramer Mitglied Konstrukteur
Beiträge: 2 Registriert: 03.04.2008
|
erstellt am: 11. Apr. 2008 10:29 <-- editieren / zitieren --> Unities abgeben: Nur für summertime
Hallo Proofin, erstmal Danke für die Nachfrage, ich war mir nicht sicher ob überhauptjemand diese alten Beiträge liest. Zu Deiner Frage: Die Linien sind alle in einem geoset, also relativ geordnet würde ich sagen. Ein ähnliches Makro habe ich hier im Forum für das Auslesen der X,Y,Z-Koordinaten von Punkten im Raum gefunden. Dabei müssen auch alle Punkte in einem Set sein. Das Script sieht so aus und funktioniert super! Nur leider bekomme ich keine Vektorrichtung damit (z.B: 0,0,1): ------------------ Mr.Kramer [Diese Nachricht wurde von anderlkramer am 24. Apr. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |