Autor
|
Thema: Geradlinige Kanten farbig markieren (810 mal gelesen)
|
danielsc Mitglied
Beiträge: 45 Registriert: 18.06.2009
|
erstellt am: 23. Jun. 2009 11:57 <-- editieren / zitieren --> Unities abgeben:
Ich hab mal wieder ein kleines Problem. Ich will in einem Part alle geradlinigen Kanten (geradlinig weil ich deren X/Y/Z richtung bestimmen muß) farbig hervorheben und dann nur diese zur auswahl freigeben. Kann mir vielleicht jemand einen kleinen Ansatz liefern wie ich da am besten ran geh? mfg danny Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 23. Jun. 2009 13:42 <-- editieren / zitieren --> Unities abgeben: Nur für danielsc
|
danielsc Mitglied
Beiträge: 45 Registriert: 18.06.2009
|
erstellt am: 23. Jun. 2009 14:14 <-- editieren / zitieren --> Unities abgeben:
hier soll es ja hauptsächlich darum gehen wie ich nur geradlinige Kanten zur auswahl freigeben kann. ich will anhand von kanten ein koordinatensystem aufspannen und da er von diesen die richtung benötigt darf ja keine kurve etc angeklickt werden. und wenn man das nicht verhindern kann würde mich interessieren wie man vergleichen kann ob es eine gerade linie oder oder eine kurve ist. dann würde ich für den fall das etwas falsch angeklickt wurde einfach eine "if" abfrage oder ähnliches machen, dem benutzer dann eine fehlermeldung ausgeben und ihn auf eine neue kante klicken lassen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 23. Jun. 2009 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für danielsc
Das anklicken von "Curves" scheidet eh aus, wenn du in deinen Features "Lines" benötigst. Sie sind dann einfach nicht wählbar ("Haltverbotszeichen" oder keine Reaktion des Systems beim klicken einer Kurve, die nicht linear ist). In einigen meiner Power Copies ist es so wie eben beschrieben. Die wollen dann wirklich nur Lines, Curves werden nicht angenommen. Ich denke, dass du über spezielle CAA-Programmierung diese Kanten darstellen lassen könntest. Grüße aus dem Rheinland
Thomas ------------------ CATIA - eine Laune der Natur ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
danielsc Mitglied
Beiträge: 45 Registriert: 18.06.2009
|
erstellt am: 23. Jun. 2009 14:27 <-- editieren / zitieren --> Unities abgeben:
des problem ist nur das er mich mit "Line" überhaupt nichts mehr anklicken lässt darum hab ich es mit "Edge" gschrieben. da ist dann aber eben wieder das problem das ich auf kurven anklicken kann. Code: Set selectionZ = activedoc.Selection InputObjectType(0) = "Edge" Status = selectionZ.SelectElement2(InputObjectType, "Wählen sie eine Kante als Z-Achse aus", False) If (Status = "Cancel") Then MsgBox "Makro wurde abgebrochen", 16 Exit Sub Else Set userselZ = selectionZ.Item(1).Value userselZ.GetDirection DirectionZ End If
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
danielsc Mitglied
Beiträge: 45 Registriert: 18.06.2009
|
erstellt am: 23. Jun. 2009 17:09 <-- editieren / zitieren --> Unities abgeben:
|
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 23. Jun. 2009 19:16 <-- editieren / zitieren --> Unities abgeben: Nur für danielsc
Hallo danielsc, EDGE ist irgendeine Kante in der Geometrie. Line ist etwas, was mit der LINE Befehl erzeugt wurde. Lösungsvorschlag für dein ursprüngliches Problem: -Filter auf Edge lassen -nach dem Select eine Messung mit der SPAWorkbench durchführen und von GetMeasurable den GeometryName abfragen. Falls es eine "catMeasurableLine" zurückgibt, ist es eine gerade, ansonsten kanns du den "Fehler" abfangen und evtl. noch eine Schleife zur Auswahl zulassen oder aus dem Programm aussteigen. Teile des Codes findest du z.B. hier oder Suche nach SPAWorkbench und GeometryName hier oder in V5Automation.chm: Teile des Codes Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
danielsc Mitglied
Beiträge: 45 Registriert: 18.06.2009
|
erstellt am: 24. Jun. 2009 09:16 <-- editieren / zitieren --> Unities abgeben:
ic habs jetzt mal so geschrieben: Code: Set thespaworkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench") . . . . Set userselX = selectionX.Item(1).Value . . . Dim kurvenabfrage Dim kurvenabfrage2Set kurvenabfrage = thespaworkbench.GetMeasurable(userselX) kurvenabfrage2 = kurvenabfrage.GeometryName
Ok so weit so gut aber ich bin eigentlich davon ausgegangen das er mir jetzt, wenn ich auf eine Line klick in der variable "kurvenabfrage2" den Wert "catMeasurableLine" ausgibt aber es kommt der Wert "10". Wenn ich auf eine Kurve klick kommt auch nicht "CatMeasurableCircle" sondern der wert "9". Naja solang die Line immer den Wert 10 hat ist es ja ok aber ich weiß eben nicht ob das auch so ist?? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 24. Jun. 2009 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für danielsc
|
danielsc Mitglied
Beiträge: 45 Registriert: 18.06.2009
|
erstellt am: 24. Jun. 2009 15:06 <-- editieren / zitieren --> Unities abgeben:
|
| Ingenieur (m/w/d) für logistische Analysen | KNDS (KMW+NEXTER Defense Systems) ging aus dem Zusammenschluss von Krauss-Maffei Wegmann und Nexter hervor, zwei der führenden europäischen Hersteller militärischer Landsysteme mit Sitz in Deutschland und Frankreich. Die Bildung von KNDS stellt den Beginn der Konsolidierung der Industrie für militärische Landsysteme in Europa dar. Unser Produktportfolio reicht von Kettenfahrzeugen und Radfahrzeugen über Brückenleger und Kundendienst bis hin zu Training und Simulation.... | Anzeige ansehen | Wirtschaftsingenieur |
|
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 24. Jun. 2009 19:00 <-- editieren / zitieren --> Unities abgeben: Nur für danielsc
Hallo danielsc, GeometryName ist ein enum. Ich habe die Name in meinen Beitrag angegeben. Den Wert kann man z.B. aus V5automation.chm (Suche auf CatMeasurableName) oder Object Browser nachlesen. Es ist nicht empfohlen die Zahlenwerte von enums anstatt den richtigen Definition zu verwenden, da es so zu Kompatibilitätsprobleme bei späteren Releases komen kann. Zu den Zahlenwerten kommt man, indem einfach von 0 die Enumwerte gezählt werden. Somit ist 10 für Line und 9 für Circle in Ordnung. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |