Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  eine Fläche Benutzerunabhängig einfä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:  eine Fläche Benutzerunabhängig einfärben (3042 mal gelesen)
RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 23. Feb. 2010 14:57    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 allerseits,

habe erneut ein Problem mit meinem Makro.

Die Suche habe ich bereits mehrmals durchgeschaut, leider nichts Passendes bezüglich meines Problems gefunden.

Ich möchte eine ganz normale Fläche in eine andere Farbe einfärben. Das soll allerdings Benutzerunabhängig sein. Also, nach dem Ausführen des Makros soll die Fläche bereits z.B. rot sein.

So habe ich es mir gedacht und bereits geschrieben

Code:

Dim properties As VisPropertySet
Dim Fläche As Reference

Fläche = Mypart.CreateReferenceFromBRepName("RSur Face Brp Pad.1;2);None );Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", Block1)

properties = Fläche.VisProperties
properties.SetRealColor(255, 255, 0, 0)


Die Fläche, die eingefärbt werden soll habe ich versucht auszulesen, indem ich einen Punkt auf die Fläche gemacht habe und dabei das Makro aufgezeichet. So habe ich BRep aus dem Makro entnommen.

Freue mich auf jede Hilfe, komme leider nicht weiter

Vielen Dank im Voraus

Gruß

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: 23. Feb. 2010 15:16    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 RBB86 10 Unities + Antwort hilfreich

Ich verstehe noch nicht so ganz worauf du hinaus möchtest. 

Also

Code:

properties.SetRealColor 255, 255, 0, 0

sieht korrekt aus.
Ich denke dein Makro hat eher Probleme mit dem BRep.
Nimm die Reference doch lieber aus der Selection, die brauchst du sowieso für die VisProperties.

also
Selection.Clear
Selection.Add Flaeche
Selection.VisProperties.SetRealColor 255, 255, 0, 0´

Alternativ zu Add wäre natürlich ein SelectElement2 die elegantere Wahl.

------------------
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

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 23. Feb. 2010 15:29    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

Danke,

Aber woher weist Catia welche Fläche ich einfärben möchte? Ich möchte es ohne dass ich eine  mit der Maus auswählen muss

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: 23. Feb. 2010 15: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 RBB86 10 Unities + Antwort hilfreich

An der Selection wirst du wohl nicht vorbei kommen.

Die Selection kannst du aber auch ohne Maus füllen über Selection.Add
Dadruch, dass die VisProps von der Selection kommen weiß CATIA auch, was einzufärben ist.

------------------
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

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 23. Feb. 2010 15: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


was gebe ich nach "Selection.Add" für "die einzufärbende Fläche" ein?

Kann noch nicht so ganz folgen

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: 23. Feb. 2010 15:59    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 RBB86 10 Unities + Antwort hilfreich

Nach Add kommt das Flächenobjekt für deine Selektion in deinem Fall die Referenz Fläche

------------------
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

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 24. Feb. 2010 12:26    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,

habe es leider nach viel rumprobieren nicht geschaft

Code:
Dim Selection1 As Selection
        'Dim Fläche As Reference
       
        Selection1 = CATIA.ActiveDocument.Selection
        Selection1.Clear()
        Selection1.Add(CATIA.ActiveDocument.Part.Mainbody)
        Selection1.VisProperties.SetVisibleColor(0, 255, 255, 0)

Wenn ich es so schreibe, wird der gesammte Hauptkörper eingefärbt. Ist soweit verständlich.

Was muss ich denn für "Mainbody" schreiben, damit nur eine bestimmte Fläche eingefärbt wird???

Bitte um Hilfe

Gruß

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 24. Feb. 2010 14: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 Nur für RBB86 10 Unities + Antwort hilfreich

Servus
Setzt die Zeile "Flaeche = Mypart.CreateReferenceFromBRepName("RS...." vor der Selection hinzu, und ändere die Zuweisung der Selction in "Selection1.Add Flaeche".

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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: 24. Feb. 2010 14:59    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 RBB86 10 Unities + Antwort hilfreich

Ich denke das Objekt heißt Fläche?

Also

Code:

Dim Fläche As Reference
Dim Selection1 As Selection

Set Fläche = Mypart.CreateReferenceFromBRepName("RSur Face Brp Pad.1;2);None );Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", Block1)
Set Selection1 = CATIA.ActiveDocument.Selection
Selection1.Clear
Selection1.Add Fläche
Selection1.VisProperties.SetVisibleColor 0, 255, 255, 0


Eine Sache fällt mir da an den Beiträgen noch auf. Kannst du ohne Zuweisung an eine Variable oder Objekt Klammern für die Parameter verwenden? Das funzt an meiner VB-Schnittstelle nie, der will da dann immer keine Klammern haben.

------------------
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

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 24. Feb. 2010 17:34    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 nochmal,

leider funktioniert es immer noch nicht. Die Fläche wird angewählt, aber die Farbe bleibt grau, unverändert.

Code:

Dim Selection1 As Selection
Dim Fläche As Reference

Fläche = Mypart.CreateReferenceFromBRepName("RSur:(Face:(Brp:(Pad.1;2);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", Block1)

Selection1 = CATIA.ActiveDocument.Selection
Selection1.Clear()
Selection1.Add(Fläche)
Selection1.VisProperties.SetVisibleColor(255, 0, 0, 1)
       

Mypart.Update()
AppActivate("CATIA V5")


ich verstehe leider nicht voran das liegt.
Habt Ihr eine Ahnung? Vielen Dank für die Hilfe!!!

@HoBLila:
die Klammern werden bei mir automatisch eingefügt. Verwende das Prog. Visual Studio 2008 Prof.

Gruß

edit:
mit einer andere Fläche funktioniert es auch nicht. Das selbe Problem: die Fläche wird angewählt aber die Farbe nicht verändert.
Statt SetVisibleColor habe ich auch schon SetRealColor probiert, leider ohne Erfolg

[Diese Nachricht wurde von RBB86 am 24. Feb. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 24. Feb. 2010 21:28    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 RBB86 10 Unities + Antwort hilfreich

Hallo,
Ich denke der Haken liegt daran, dass der Selection eine Reference übergeben wird und kein Objekt.
Ich habe gerade kein V5 greifbar daher folgender Code einfach mal blind getippt:

Set Fläche = Mypart.CreateReferenceFromBRepName("RSur Face Brp Pad.1;2);None );Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", Block1).Parent

Set Selection1 = CATIA.ActiveDocument.Selection
Selection1.Clear()
Selection1.Add(Fläche)
Selection1.VisProperties.SetRealColor(255, 0, 0, 1)
       
Mypart.Update()

Wenn als catvbs läuft, würde ich die DIM-Anweisungen weg lassen; als cacatscript die DIM-Anweisungen ohne die Typendeklaration.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Homepage von Jens Hansen
Kochbuch - CATIA V5 automatisieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 24. Feb. 2010 23:06    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

@Jens Hansen:

danke für deinen Tipp, leider möchte es einfachn nicht funktionieren!
Ich habe einen Würfel erzeugt und habe es dort auch mit der Farbe probiert, leider ohne Erfolg.

Vieleicht kann jemand das Makro bei sich reinladen um zu überprügen woran es liegt

Code:

Dim CATIA As INFITF.Application
        Dim Mydoc As PartDocument
        Dim Mysel As Selection
        Dim Mypart As Part
        Dim Body1 As Body
        Dim ref1 As Reference
        Dim factory2d1 As Factory2D
        Dim Shapefactory1 As ShapeFactory
        Dim block1 As Pad
        Dim sketch1 As Sketch
        Dim sketches1 As Sketches
        Dim point2df(100) As Point2D
        Dim line2df(100) As Line2D

        Try
            CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")
        Catch ex As System.Runtime.InteropServices.COMException
            MessageBox.Show("Catia nicht gefunden!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End
        End Try

        Mydoc = CATIA.Documents.Add("Part")
        Mysel = Mydoc.Selection

        Mypart = Mydoc.Part
        Body1 = Mypart.MainBody
        Mypart.InWorkObject = Body1

        sketches1 = Body1.Sketches
        ref1 = Mypart.CreateReferenceFromObject(Mypart.OriginElements.PlaneXY)

        sketch1 = sketches1.Add(ref1)
        factory2d1 = sketch1.OpenEdition

        point2df(0) = factory2d1.CreatePoint(0.0, 0.0)
        point2df(1) = factory2d1.CreatePoint(100.0, 0.0)
        line2df(0) = factory2d1.CreateLine(0.0, 0.0, 100.0, 0.0)
        line2df(0).StartPoint = point2df(0)
        line2df(0).EndPoint = point2df(1)

        point2df(2) = factory2d1.CreatePoint(100.0, 100.0)
        line2df(1) = factory2d1.CreateLine(100.0, 0.0, 100.0, 100.0)
        line2df(1).StartPoint = point2df(1)
        line2df(1).EndPoint = point2df(2)

        point2df(3) = factory2d1.CreatePoint(0.0, 100.0)
        line2df(2) = factory2d1.CreateLine(100.0, 100.0, 0.0, 100.0)
        line2df(2).StartPoint = point2df(2)
        line2df(2).EndPoint = point2df(3)

        line2df(3) = factory2d1.CreateLine(0.0, 100.0, 0.0, 0.0)
        line2df(3).StartPoint = point2df(3)
        line2df(3).EndPoint = point2df(0)

        sketch1.CloseEdition()
        Mypart.Update()

        Shapefactory1 = Mypart.ShapeFactory
        block1 = Shapefactory1.AddNewPad(sketch1, 100.0)

        Mypart.Update()


        Dim Selection1 As Selection  'mit as Object funktioniert auch nicht
        Dim Flaeche1 As Reference

        Flaeche1 = Mypart.CreateReferenceFromBRepName("RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;3)));None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR1  5)", block1).Parent

        Selection1 = CATIA.ActiveDocument.Selection
        Selection1.Clear()
        Selection1.Add(Flaeche1)
        Selection1.VisProperties.SetRealColor(255, 255, 0, 0)


        Mypart.Update()
        AppActivate("CATIA V5")


    End Sub


Ich hoffe das jemand den Fehler findet.

Vielen Dank für all die Beiträge

Gruß

[Diese Nachricht wurde von RBB86 am 24. Feb. 2010 editiert.]

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: 25. Feb. 2010 18:14    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 RBB86 10 Unities + Antwort hilfreich

Der Code ist soweit in Ordnung.
Die referenzierte Fläche wird auch eingefärbt.
Das kann man sehen, wenn man im CATIA schaut und in der selection das Objekt ist gelb.
Allerdings wirkt es so, als wäre das selektierte Objekt nur temporär.
Ich vermute, da die Face nur Kurzzeitig für die Selection abgeleitet wird.
Also klicke ich irgendwo hin, auch wenn's die gleiche Fläche ist, dann ist's vorbei.
Die Referenz bleibt aber gleich.

Das sieht gar nicht so trivial aus. 
Kann Dir daher leider im Moment auch nicht weiterhelfen.

------------------
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

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 25. Feb. 2010 18:35    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,

warum kannst Du die Farbe sehen und ich nicht???

Heißt es die Farbe ist erst da und dann verschwindet die?

Bei mir kann ich nur die orange Umrandung von der Fläche (also das die Fläge ausgewählt ist) sehen aber keine Farbe.

Hast Du oder jemand eine Vermutung woran es liegen kann?

Danke das Du das Makro getestet hast

Gruß

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: 26. Feb. 2010 15:34    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 RBB86 10 Unities + Antwort hilfreich

Schalt die Toolbar Graphic Protperties an, dann siehst du, dass die aktuelle Selektion auch die gewünschte Farbe hat.

Es könnte eine Vererbungsgeschichte sein, die stört, oder dass das BRep keinem Parent zugeordnet wurde. (Meine Vermutungen)

Damit es jetzt ersteinmal überhaupt (rein optisch) geht, würde ich empfehlen ein Extract oder ein Join des BReps zu machen und diesen einzufärben.

------------------
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

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 27. Feb. 2010 11:12    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

@HoBLila

danke für deine Mühe. Kannst du mir paar Zeilen schreiben, wie es funktioniert. Kenne mich leider nicht ausreichend aus.

Den String von Brep habe ich so ausgelesen, indem ich einen Punkt auf die Fläche gemacht habe und dabei den Makro aufgezeichnet. Den String habe ich dann aus der Makroaufzeichnung entnommen. Das ist doch OK, oder?
Sollte ich den String vielleicht anders aufzeichnen?

edit: ja, die Farbe wird in dem Eigenschaftenfenster bei mir auch eingeblendet. Leider nur dort

Gruß

[Diese Nachricht wurde von RBB86 am 27. Feb. 2010 editiert.]

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: 08. Mrz. 2010 11:02    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 RBB86 10 Unities + Antwort hilfreich

Code:

Public Sub CATMain()

    Dim bodyWork        As MECMOD.Body
    Dim docPart        As MECMOD.PartDocument
    Dim fact2DWork      As MECMOD.Factory2D
    Dim partWork        As MECMOD.Part
    Dim refWork        As INFITF.Reference
    Dim selWork        As INFITF.Selection
    Dim shFactWork      As PARTITF.ShapeFactory
    Dim sketchesWork    As MECMOD.Sketches
    Dim sketchWork      As MECMOD.Sketch
    Dim padWork        As PARTITF.Pad
   
    Dim hybBodiesWork  As MECMOD.HybridBodies
    Dim hybBodyWork    As MECMOD.HybridBody
    Dim hybShFactWork  As HybridShapeTypeLib.HybridShapeFactory
    Dim hybShExtract    As HybridShapeTypeLib.HybridShapeExtract
   
    Dim point2df(3)    As MECMOD.Point2D
    Dim line2df(3)      As MECMOD.Line2D

    Set docPart = CATIA.Documents.Add("Part")
    Set selWork = docPart.Selection
    Set partWork = docPart.Part
    Set bodyWork = partWork.MainBody
    Set shFactWork = partWork.ShapeFactory
   
    partWork.InWorkObject = bodyWork

    Set sketchesWork = bodyWork.Sketches
    Set refWork = partWork.CreateReferenceFromObject(partWork.OriginElements.PlaneXY)
    Set sketchWork = sketchesWork.Add(refWork)
    Set fact2DWork = sketchWork.OpenEdition

    Set point2df(0) = fact2DWork.CreatePoint(0#, 0#)
    Set point2df(1) = fact2DWork.CreatePoint(100#, 0#)
    Set line2df(0) = fact2DWork.CreateLine(0#, 0#, 100#, 0#)
    line2df(0).StartPoint = point2df(0)
    line2df(0).EndPoint = point2df(1)

    Set point2df(2) = fact2DWork.CreatePoint(100#, 100#)
    Set line2df(1) = fact2DWork.CreateLine(100#, 0#, 100#, 100#)
    line2df(1).StartPoint = point2df(1)
    line2df(1).EndPoint = point2df(2)

    Set point2df(3) = fact2DWork.CreatePoint(0#, 100#)
    Set line2df(2) = fact2DWork.CreateLine(100#, 100#, 0#, 100#)
    line2df(2).StartPoint = point2df(2)
    line2df(2).EndPoint = point2df(3)

    Set line2df(3) = fact2DWork.CreateLine(0#, 100#, 0#, 0#)
    line2df(3).StartPoint = point2df(3)
    line2df(3).EndPoint = point2df(0)

    sketchWork.CloseEdition
    partWork.Update

    Set padWork = shFactWork.AddNewPad(sketchWork, 100#)

    partWork.Update

    Set refWork = partWork.CreateReferenceFromBRepName("RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;2)));None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CX R15)", padWork)

    Set hybShFactWork = partWork.HybridShapeFactory
    Set hybShExtract = hybShFactWork.AddNewExtract(refWork)
   
    hybShExtract.PropagationType = 3
    hybShExtract.ComplementaryExtract = False
    hybShExtract.IsFederated = False
   
    Set hybBodiesWork = partWork.HybridBodies
    Set hybBodyWork = hybBodiesWork.Add()
   
    hybBodyWork.AppendHybridShape hybShExtract

    partWork.Update

    selWork.Clear
    selWork.Add hybShExtract
    selWork.VisProperties.SetRealColor 255, 255, 0, 0

End Sub


Problem scheint wirklich zu sein, dass die BRep-Flächen quasi Extracts sind und daher auch im Baum eingehangen werden müssen.
Das kann man im Makro glaube ich nicht so einfach, daher einfach selbst ein Extract bilden, welches eingefärbt wird.
Ist nicht besonders schön, aber es zeigt das erwünschte optische Resultat.
Den BRep bitte in deinen eigenen umwandeln, wir haben unterschiedliche CATIA-Versionen.

------------------
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

RBB86
Mitglied
S


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

Beiträge: 79
Registriert: 07.04.2009

Win.7x64
V5R17

erstellt am: 10. Mrz. 2010 19:50    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,

danke für deine Mühe!!!

Der Fehler in meiner Lösung war der "falsche" BRep String. Den String habe ich so rausgefunden, indem ich einen Punkt auf der Fläche erzeugt habe und dabei das Makro aufgezeichnet. So funktioniert es aber nicht!!!
Der richtige String wird erst aufgezeichnet, wenn man eine SKIZZE auf die Wunschfläche produziert, so wird ein ganz anderer String aufgezeichnet, der dann auch in meinem Programm funktioniert.

Das wüsste ich aber vorher gern, dass es mit Punkt, Linie oder Ebene auf Fläche nicht geht. Habe alles ausprobiert.
Es funktionierte ausschließlich nur mit Skizze auf Fläche!!!

So habe ich was gelernt.

Möchte mich hiermit bei allen, die mir bei der Problemsuche geholfen haben, insbesondere bei HoBLila, bedanken!

Viele Grüße

RBB86

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