Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Measure / InertiaVolume: BBO und BBL

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:  Measure / InertiaVolume: BBO und BBL (1604 mal gelesen)
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: 06. Feb. 2018 10: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


InertiaVolume.jpg

 
Hallo,
ich vesuche per Script an die Werte BBOx, BBOy, BBOz, BBLx, BBLy und BBLz zu gelagen, im Screenshot aus einem manuell ausgeführten Measure.
Die in CAA V5 Help aufgezeigte ("richtige") Methode ist ja eigentlich über das GetTechnologicalObject("Inertia").
Dort gibt mir .GetPrincipalAxes aber nur ein Array mit 9 Werten zurück (A1x, A1y, A1z, A2x, A2y, A2z, A3x, A3y, A3z).
Die BBO Werte suche ich vergeblich. Kennt jemand einen Weg?
Ein Lösung mit Hilfe des CATIA.Startcommands oder Startmodells habe ich bereits, diese sind aber beide nicht optimal weil (fehleranfällig).
Gruß TomTom

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

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: 06. Feb. 2018 12: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 Nur für tomtom1972 10 Unities + Antwort hilfreich

Servus TomTom

AFAIR kommst du an die BoundingBox der Interia nicht ran.
Deshalb gibt es (und nicht nur deswegen) die verschiedenen Makros/Powercopies die das über eine Geometrie lösen (Extrempunkt in bestimmte Richtung)

Gruß
Bernd

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

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: 07. Feb. 2018 08:48    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

Servus Bernd,
und danke für deine Antwort.
Die BoundingBox (einer manuell ausgeführten Messung) der Inertia funktioniert für jede Geometrie fehlerfrei, mir ist jedenfalls noch keine Messung untergekommen, wo sie nicht angezeigt wird. Das kann ich von allen anderen Ansätze nicht behaupten, die über einen Extremwert gehen. Ich habe Geometrien, wo ich viele Extrempunkte habe, oder wo die Extremwerte Linien oder Flächen sind. Bei rotationssymetrischen Körpern können Kurven entstehen. Alles Sonderfälle, die ich im Script auffangen muss / müsste. Viel zu kompliziert / fehleranfällig.

Ich hab ja auch bereits einen Workarround, in welchem ich die BBO / BBL Werte auslese. Um kein CAD-Modell mit meinem Script verteilen zu müssen schreibe ich den Quellcode eines .CATProducts (welches ein Measure Inertia im Tree enthält) als Txt-Stream in ein lokales CATIA-Verzeichnis, lades es (ins CATIA), verbaue das / die Part(s) und lese die BBO / BBL Werte über die zugehörigen Parameter vom Root aus und lösche danach alles wieder. Funktioniert soweit fehlerfrei, auch in der Stapelverarbeitung mit mehreren 100 Teilen nacheinander. Ich lese so die Abmessung (LxBxH) jeder beliebigen (zusammenhängenden) Geometrie aus, also den minimalen Hüllkörper / die BoundingBox in Richtung der Trägheitsmatrix des Körpers.

Schöner wärs eben noch, wenn das ganz im CATIA laufen würde oder dabei sichtbar zu werden (siehe parallelen Post zum Thema).

Oder eben ohne Umweg ganz direkt. Die Hoffnung stirbt zuletzt...
Gruß TomTom 

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

[Diese Nachricht wurde von tomtom1972 am 07. Feb. 2018 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