Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Selektion von Einzelteilen innerhalb eines Merged CGR's

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:  Selektion von Einzelteilen innerhalb eines Merged CGR's (1567 mal gelesen)
sylvio
Mitglied
Softwareingenieur

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

Beiträge: 5
Registriert: 08.04.2011

Catia V5 R16
Visualstudio 2005
Windows XP

erstellt am: 08. Apr. 2011 13: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


CGR-Selektion_web.pdf


Konstruktionsdateien.zip

 
Hallo liebe Catiaprogrammiergemeinde,

ich möchte gerne innerhalb eines Merged-CGR's alle Einzelkomponenten jeweils automatisch einzeln selektieren, um anschließend eine Inertiaberechnung auf der Selektion durchzuführen. Die gemessenen Werte(Schwerpunkt, Achsen, Boundingbox) werden dann zur weiteren Verarbeitung ausgelesen und gespeichert.

Manuell mach ich das so, indem ich mein komplettes CGR-Model über die Selection Trap selektiere und dann mit der Suchfunktion von Catia in der Selektion nach meinen Einzelkomponenten suche. Diese Einzelkomponente lässt sich über das Suchfenster selektieren und ich kann meine Inertiaberechnung starten.
Wenn ich das CGR-Modell allerdings über den Baum auswähle und anschließend in der Selektion suche, dann finde ich die Einzelkomponentnen nicht.
Ich habe im Anhang meine Konstruktionsdateien für das Merged-CGR Modell hinzugefügt, sowie ein PDF mit 3 Screenshots, welche die Situation beschreiben.

Das Werteauslesen und speichern habe ich schon fertig, mir fehlt jetzt nur noch die Selektion der Einzelteile.

Vielleicht könnt Ihr mir dabei weiterhelfen. Das Programm entwickle ich in C# mit .Net 2.0. Eine VBA-Lösung wäre aber auch OK. Wenn es nicht mit VBA oder C# geht, dann kann es auch eine CAA Lösung sein, da ich da demnächst hoffentlich auch drauf zurückgreifen kann.

Gruß
Sylvio

---
Die Edith hat noch ein paar Rechtschreibfehler gefunden.

[Diese Nachricht wurde von sylvio am 08. Apr. 2011 editiert.]

[Diese Nachricht wurde von sylvio am 08. Apr. 2011 editiert.]

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: 08. Apr. 2011 15: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 sylvio 10 Unities + Antwort hilfreich

Servus
Die Einzelnen "Unter-Cgr" kannst du über (alles im Bildschirm sichtbare, ggf vorher "alles einpassen"):
Code:
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument

Dim selection1 As Selection
Set selection1 = productDocument1.Selection

selection1.Search "Type=*,scr"


selektieren.
Zum Messen von Masse, Trägheit,... hilft vielleicht diese Seite weiter

Gruß
Bernd

PS: Willkommen im Forum.

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

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

sylvio
Mitglied
Softwareingenieur

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

Beiträge: 5
Registriert: 08.04.2011

Catia V5 R16
Visualstudio 2005
Windows XP

erstellt am: 08. Apr. 2011 16: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

Hallo Bernd,
danke für Deine Unterstützung!
Das mit dem "Type=*,scr" hab ich mal getestet.
Für das Beispiel funktioniert das auch super. Bei großen CGR-Baugruppen funktionierte es allerdings nicht zuverlässig.
Ich bekam da unterschiedliche Ergebnisse trotz "einpassen" zwischen der Selection Trap und über den Weg alle sichtbaren Teile über die Suche ermitteln.
Dabei hat die Selection Trap mehr Teile gefunden als die Suche über alle sichtbaren Teile.

Gruß
Sylvio

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: 08. Apr. 2011 16:33    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 sylvio 10 Unities + Antwort hilfreich

Servus
Was meinst du mit "Selection Trap" (ich verwende CATIA auf deutsch)?
By the Way: Wie ermittelst du die Masse, Trägheit nur auf selektiert Elemente (also per Script)?

Gruß
Bernd

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

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

sylvio
Mitglied
Softwareingenieur

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

Beiträge: 5
Registriert: 08.04.2011

Catia V5 R16
Visualstudio 2005
Windows XP

erstellt am: 08. Apr. 2011 17: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 Bernd,
das heißt bestimmt bei Dir Rechteck-Falle oder so. Das ist einfach wenn Du einen Rahmen um Deine Elemente ziehst, um Sie zu selektieren.
Ich hab das Measure Inertia folgendermaßen automatisiert:

1. Selektion eines Elements
2. Kommando: "Measure Inertia" an Catia abgesetzen
3. Selektion über "'Digital Mockup'.Measure;all"
4. Messwerte der Selektion speichern
5. Selektion der Messwerte löschen
6. "Measure Inertia" Fenster per Windows-Api schließen
7. von vorne beginnen

Ich kann das Technologieobjekt für die Inertia leider nicht verwenden, da ich auch die BoundingBox Koordinaten benötige und ich bis jetzt keine Möglichkeit gefunden habe, diese anderweitig auszulesen. Es scheitert da bei den CGR-Modellen soweit ich weiß an der Extrempunktberechnung.

Gruß
Sylvio

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

sylvio
Mitglied
Softwareingenieur

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

Beiträge: 5
Registriert: 08.04.2011

Catia V5 R16
Visualstudio 2005
Windows XP

erstellt am: 14. Apr. 2011 16:19    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 Community,
das Problem ist gelöst. 
Ich weiß jetzt warum das "Type=*,scr" so unzuverlässig war.
Es liegt am "Far Limit" in der Depth Effect Einstellung.

Zum Algorithmus:
Zuerst müssen alle Komponenten ausgeblendet werden, bis auf die Komponente, aus der man die Unter-CGR'S ermitteln will.
Anschließend macht man ein Fit All In und stellt das Far Limit auf einen möglichst hohen Wert.
Dann werden mit der "Type=*,scr"-Suche alle Unter-CGR's richtig erkannt.
Jetzt muss man sich aus der Selektion ein Unter-CGR rauspicken und kann es dann mit Measure Inertia ausmessen.

Gruß Sylvio

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