Autor
|
Thema: Flächen umfärben (1312 mal gelesen)
|
spidermat Mitglied Ingenieur
Beiträge: 9 Registriert: 10.09.2009
|
erstellt am: 10. Sep. 2009 13:17 <-- editieren / zitieren --> Unities abgeben:
High, nach langer erfolgloser Nacht brauche ich unbedingt etwas Hilfe. Bin noch etwas grün hinter den Programmier-Ohren eher ein CAD-Anwender aber ich möchte folgendes knacken!! In einer Assembly ist die Darstellung der Verknüpfung der Parts eher Katastrophal. Ich bräuchte ein Makro, welches mir die verknüpfte Fläche (Linie, Achse)anders einfärbt und später wieder zurückfärbt. Die Ausgabe der Verknüpfung in einer Msgbox hab ich geschafft. For I = 1 To myConstraints.Count Set myConstraint = myConstraints.Item(I) Select Case myConstraint.ReferenceType Case catCstRefTypeFixInSpace ' = 1 MsgBox ("Im Raum Fixiert " & myConstraint.GetConstraintElement(1).DisplayName) Case catCstRefTypeRelative ' = 0 Select Case myConstraint.Type Case catCstTypeOn ' = 2 MsgBox ("Kongruenz zwischen " & myConstraint.GetConstraintElement(1).DisplayName & " und " & myConstraint.GetConstraintElement(2).DisplayName) Case catCstTypeDistance ' = 1 MsgBox ("Offset zwischen " & myConstraint.GetConstraintElement(1).DisplayName & " und " & myConstraint.GetConstraintElement(2).DisplayName) End Select End Select Next Problem !!!!!: Wie kann ich nun diese Fläche ansprechen und umfärbeln???(Ohne mit der Maus zu selektieren)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 22. Sep. 2009 14:32 <-- editieren / zitieren --> Unities abgeben: Nur für spidermat
Ich hab grad kein CATIA hier und kann auch keinen Code aus dem Kopf zaubern, Dir aber sagen, wie's gemacht wird: Aus deinem Constraint die Referenz auf deien Fläche auslesen. Diese Fläche dann mit Selection.Add deiner Selection hinzufügen und dann mit Selection.VisProperties (oda so) die selektierten Elemente einfärben. Die Selection gibts vom Document (Catia.ActiveDocument.Selection). Die Visprops haben dann die Eigenschaft SetRealColor oder so ähnlich (das findest du aber auch in der Hilfe). ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spidermat Mitglied Ingenieur
Beiträge: 9 Registriert: 10.09.2009
|
erstellt am: 09. Okt. 2009 15:51 <-- editieren / zitieren --> Unities abgeben:
Hallo HoBLila, recht vielenDank für Deine Antwort.Ich hab das Problem, eine Referenz auf diese Fläche zu bekommen. Nach Ziethen muß dieser Ausdruck ja (je nach Version) ergänzt und angepasst werden. Ich besitze V5.17 und habs schon mit verschiedensten Ausdrücken versucht-ergebnislos z.B: Set reference1 = part1.CreateReferenceFromBRepName("FSur Face Brp Pad.1;2);None );Cf9 )) ;WithTemporaryBody;WithoutBuildError;WithInitialFeatureSupport;MonoFond;MFBRepVersion _CXR13_GA)", pad1) Set reference1 = part1.CreateReferenceFromBRepName("FSur Face Brp Pad.1;2);None ));WithTemporaryBody;WithoutBuildError;WithInitialFeatureSupport;MonoFond)", pad1)
Weißt Du vielleicht wie dieser Ausdruck richtig Aussehen muß?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 09. Okt. 2009 16:54 <-- editieren / zitieren --> Unities abgeben: Nur für spidermat
Hallo Spidermat, du brauchst dich nicht mit den B-Reps kämpfen. myConstraint.GetConstraintElement(1) ist schon ein Reference. Das kannst du einfach (wie Henry es schon geschrieben hatte) mit Selection.Add myConstraint.GetConstraintElement(1) zu einen Selection hinzufügen und dann wie gewohnt umfärben. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spidermat Mitglied Ingenieur
Beiträge: 9 Registriert: 10.09.2009
|
erstellt am: 11. Okt. 2009 21:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Zoltan Danke,leider funktionierts noch nicht: Dim myProductDocument As ProductDocument Set myProductDocument = CATIA.ActiveDocument Dim myProduct As Product Set myProduct = myProductDocument.Product Dim myConstraints As Constraints Set myConstraints = myProduct.Connections("CATIAConstraints") Dim myConstraint As Constraint Dim ListUmfaerb As Selection Set ListUmfaerb = CATIA.ActiveDocument.Selection ListUmfaerb.Clear
ListUmfaerb.Add myConstraint.GetConstraintElement(1) Meldet Objektvariable nicht festgelegt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 12. Okt. 2009 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für spidermat
Hallo, bei mir funktioniert es schon . Du hast von obigen Beispiel aber eine Zeile vergessen: Set myConstraint = myConstraints.Item(4) 'den Constraint war kein Objekt zugewiesen. Natürlich musst du aufpassen, dass Item(4) oder was du anspichst auch existiert. Gruß, Zoltan [Diese Nachricht wurde von zoltan.bekesi am 12. Okt. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |