Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Flächen umfärben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Flächen umfärben (1312 mal gelesen)
spidermat
Mitglied
Ingenieur

Sehen Sie sich das Profil von spidermat an!   Senden Sie eine Private Message an spidermat  Schreiben Sie einen Gästebucheintrag für spidermat

Beiträge: 9
Registriert: 10.09.2009

erstellt am: 10. Sep. 2009 13:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

    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


Sehen Sie sich das Profil von HoBLila an!   Senden Sie eine Private Message an HoBLila  Schreiben Sie einen Gästebucheintrag für HoBLila

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für spidermat 10 Unities + Antwort hilfreich

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

Sehen Sie sich das Profil von spidermat an!   Senden Sie eine Private Message an spidermat  Schreiben Sie einen Gästebucheintrag für spidermat

Beiträge: 9
Registriert: 10.09.2009

erstellt am: 09. Okt. 2009 15:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von zoltan.bekesi an!   Senden Sie eine Private Message an zoltan.bekesi  Schreiben Sie einen Gästebucheintrag für zoltan.bekesi

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für spidermat 10 Unities + Antwort hilfreich

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

Sehen Sie sich das Profil von spidermat an!   Senden Sie eine Private Message an spidermat  Schreiben Sie einen Gästebucheintrag für spidermat

Beiträge: 9
Registriert: 10.09.2009

erstellt am: 11. Okt. 2009 21:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von zoltan.bekesi an!   Senden Sie eine Private Message an zoltan.bekesi  Schreiben Sie einen Gästebucheintrag für zoltan.bekesi

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für spidermat 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz