Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Nur sichtbare Flächen

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:  Nur sichtbare Flächen (4066 mal gelesen)
smodo1977
Mitglied



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

Beiträge: 263
Registriert: 28.07.2006

erstellt am: 11. Dez. 2006 07:41    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,
gibt es in V5 eine Möglichkeit, um nur die ausseren sichtbaren Flächen zu behalten?
Eventuell könnte man ein Makro programmieren, aber wie?

Danke

Smodo

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 11. Dez. 2006 09: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 smodo1977 10 Unities + Antwort hilfreich

Hallo,

was sind "die ausseren sichtbaren Flächen " ?
Was verstehst du unter behalten?
Willst du den Rest löschen?

Feststellen, was sichtbar ist, ist einfach:
-alle Flächen in eine Selektion
-.Items der Selektion durchgehen und prüfen, ob sie sichtbar sind oder nicht, alle .Items in ein Array
-Selektion löschen
- bei sichtbaren (!) Flächen alle übergeordneten Elemente im Tree (GeoSets etc.) scannen und mit .add() in die Selektion zufügen und prüfen, ob sie sichtbar sind oder nicht.

Gruss TomTom

------------------
tomtom1972

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

smodo1977
Mitglied



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

Beiträge: 263
Registriert: 28.07.2006

erstellt am: 11. Dez. 2006 10: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

Die sichtbaren Flächen sind also nur die Aussenflächen, also Hüllflächen.
Den Rest möchte ich löschen.

Wenn ich deiner beschreibung richtig folgen kann, dann selektierst du alles, aber es werden doch auch die "inneren Flächen" selektiert, oder?

Danke

Smodo

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 11. Dez. 2006 11:30    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 smodo1977 10 Unities + Antwort hilfreich

Hallo,

ich hatte dich falsch verstanden, deshalb die Nachfrage.
Du willst also gar nicht überprüfen, was im Show bzw. Hide liegt, sondern nicht sichtbare Elemente im Sinne von "verdeckt" (weil hinter einer anderen Fläche liegend) ausfiltern?

Das geht auch, aber anders und mit einer Einschränkung:
- cgr erzeugen (Hüllkurve)
- über das TechnologicalObject "Clashes" ein Clash (eine Kollisionsuntersuchung) erzeugen.
- über die .FirstProducts & .SecondProducts der erzeugten Conflicts (vom Typ catConflictTypeClash) erhältst du die Instanzen der Bauteile, deren Flächen über eine gemeinsame Schnittmenge mit den Flächen des Cgrs verfügen.
- diese kopieren oder den Rest löchen oder was du sonst tun willst

Die Einschränkung:
Das ganze läuft über die Strukturebene (die Instanzen), d.h. du erhälst immer nur die Info, ob sich eine (Teil-)Fläche eines Bauteil im Cgr "wiederfindet". Wenn also deine Struktur platt (= im Part) vorliegt, funktioniert die beschriebene Vorgehensweise nicht.

Gruss TomTom

------------------
tomtom1972

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

smodo1977
Mitglied



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

Beiträge: 263
Registriert: 28.07.2006

erstellt am: 11. Dez. 2006 11:56    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

ja genau, jetzt hast du´s richtig verstanden.
Das mit dem CGR kenn ich schon, ich möchte aber gerne die "original" Catiaflächen behalten.
Da muß es doch nen Weg geben, oder?

Danke

Smodo

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 11. Dez. 2006 14: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 Nur für smodo1977 10 Unities + Antwort hilfreich

Hallo,

jetzt hast du mich falsch verstanden.
Über eine Kollisionsuntersuchung mit dem CGR (per Script, wie oben beschrieben) kannst du die Flächen (aus der Originalstruktur) ausfiltern, die auch im CGR (und damit in deiner "Hülle" ) enthalten sind. Und mit denen arbeitest du dann weiter (den Org Flächen, nicht dem CGR).

Gruss TomTom

------------------
tomtom1972

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

smodo1977
Mitglied



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

Beiträge: 263
Registriert: 28.07.2006

erstellt am: 11. Dez. 2006 15:18    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

Ah, jetzt sind wir wieder auf einem Nenner 
Wie gehe ich aber z.B. bei einem Fahrzeugsitz vor?

Danke schon mal für den Tip

Smodo

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 12. Dez. 2006 07:42    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 smodo1977 10 Unities + Antwort hilfreich

Hallo,

was heisst das? So wie sonst auch.
Oder ist das Problem (wie oben beschrieben), das du keine Produktstuktur sondern nur eine Datei hast? Ich habe keine Ahnung, wie Fahrzeugsitze aufgebaut sind. Ich sitze lediglich auf eben solchen.
Für Fahrzeugstrukturen (Karosse) funktioniert die beschriebene Vorgehensweise.
Für den Fall das sich deine Flächen nicht über die Instanzebene filtern lassen (also z.B. in einem Part liegen) weiss ich keine (einfache) Lösung (da ich nicht weiss, wie dein(e) Modell(e) aufgebaut sind.

Gruss TomTom

------------------
tomtom1972

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

smodo1977
Mitglied



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

Beiträge: 263
Registriert: 28.07.2006

erstellt am: 13. Dez. 2006 07:43    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

ne ne, ich hab das Ganze schon in einem Product.
Könntest du deine Vorgehensweise bitte etwas genauer erklären,
ich komm nicht ganz mit wie du das oben beschrieben hast.

Super

Smodo

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 13. Dez. 2006 10:22    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 smodo1977 10 Unities + Antwort hilfreich

Moin,

das ganze geht so:

-cgr erzeugen. Der cgr ist eine Hüllkurve, enthält also nur die aussenliegenden Flächen. Jene, welche du behalten möchtest.
-Jetzt willst du aber die "echten" Flächen behalten, nicht den cgr. Daher dient der cgr nur zum Abgleich (da er die Info enthält, was eine aussenliegende Fläche ist)
-Der Abgleich läuft über einen Clash (eine Kollisionsuntersuchung) zwischen dem cgr und allen restlichen Modellen.
-Der Clash erzeugt (wenn er vom Typ catConflictTypeClash ist) Conflicts (also Konflikte), d.h. er gibt immer eine Paarung von zwei Bauteilen zurück, die kollidieren. Und zwar in Form der jeweiligen Instanz. Das ist wichtig, da ja ein Bauteil in der Struktur mehrfach vorkommen kann und du wissen musst, welche Instanz an der Kollision beteiligt ist.
-Jetzt überprüfst du alle Conflict(-Paarungen) daraufhin, ob das cgr eines der beiden beteiligten Instanzen ist. Wenn ja, ist die andere am Conflict beteiligte Instanz ein Bauteil, deren Fläche eine gemeinsame Schnittmenge mit jenen des cgrs aufweist, also Teil deiner gesuchten Hüllkurve ist.
-Das wars.

Und wie gesagt: Ausfiltern lassen sich die Flächen nur über die Instanz des Bauteils, wenn also ein klitze-kleines Stückchen der Flächen eines Bauteils den cgr berühren, so wird die Fläche komplett berücksichtigt. Am Schluss bleibt also nicht unbedingt die "reine" Hüllkurve übrig, sondern auch noch nach innen ragende Elemente. Das lässt sich bei der beschriebenen Vorgehensweise nicht verhindern, zumal ich den Aufbau deines Sitzes nicht kenne.
Man kann es auch anders rum formulieren: Weg bekommst du alle Parts,  die die Hüllkurve gar nicht berühren.

Das kannst du (wenn du ganz viel Zeit hast) manuell machen ober aber per Script. Die grundsätzliche Vorgehensweise ist die selbe. Und es funktioniert gut, da ich (etwas ähnliches) schon umgesetzt habe.

Eine ganz andere Möglichkeit wäre folgende:
-cgr erzeugen
-eine Referenz zu jedem BRep (das ist die Teilfläche) einer jeden Fläche eines jeden Parts deiner Struktur erzeugen und den Abstand zum cgr ausmessen. Die Messung gibt immer den kleinsten Wert zurück, d.h. wenn die Teilfläche auf dem cgr liegt (also Teil der Hüllkurve ist), ist der Abstand = 0.
-Da würdest du dann wirklich nur Flächen zurückbekommen, die auf der Hüllkurve liegen.

Problem: das Erzeugen der Referenzen (.CreateReferenceFromName) dauert für jede Teilfläche ca. eine Sekunde. Das ganze also bei entsprechender Teilflächen-/Flächen-/Part-Anzahl mitunter sehr lange.
Und der RAM wird massiv geknechtet. Ich weiss nicht, wie groß deine Struktur ist (Auslastung RAM). Ich habe auch hier mal was ganz ähnliches ausprobiert und bin mit Fahrzeugstrukturen (Seitenwand und so was in der Art), die etwas über 1GB im RAM benötigen nicht weit gekommen. Ich arbeite momentan noch mit 4GB RAM (3 für CATIA) und habs deswegen aufgegeben.

R16 (64 bit) und 8GB RAM ist in dem Zusammenhang was wirklich feines. Da kommt Freude auf.

Kannst du mit dem ganzen was anfangen?

Gruss TomTom

------------------
tomtom1972

[Diese Nachricht wurde von tomtom1972 am 13. Dez. 2006 editiert.]

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

smodo1977
Mitglied



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

Beiträge: 263
Registriert: 28.07.2006

erstellt am: 13. Dez. 2006 10:39    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

wow, super tomtom, das nenne ich echte Hilfe und ne super Beschreibung.
Also nochmal Danke

Smodo

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