Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Flächenträgheitsmoment einer selektierten Fläche ausgeben (über Measure Inertia-Tool)

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ächenträgheitsmoment einer selektierten Fläche ausgeben (über Measure Inertia-Tool) (1100 mal gelesen)
jsautomotive
Mitglied


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

Beiträge: 3
Registriert: 24.05.2020

CATIA V5 Programmierung

erstellt am: 24. Mai. 2020 20:05    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


Code_Inertia_Geoset.JPG

 
Version: CATIA V5 R28

Guten Tag zusammen,

Ich arbeite aktuell an einem Makro, dass durch eine Auswahl des Benutzers in Excel unterschiedliche Powercopies in ein CATPart einfügt. Zusätzlich können in der Excel-Maske mehrere Parameter vom Anwender verändert werden.

Durch die Änderung der Parameter ergeben sich logischerweise unterschiedliche Ergebnisgeometrien, welche hinsichtlich deren Flächenträgheitsmomente (bzw. Steifigkeiten)untersucht werden sollen. Bei der Ergebnisgeometrie handelt es sich um eine Fläche (Join).

In einem einfachen Testproduct lässt sich der Flächenschwerpunkt (bzw. dessen Koordinaten) über den nachfolgenden Codeausschnitt ermitteln. Hierbei befindet sich im Testproduct (Product1) nur eine Fläche, weshalb dies Problemlos klappt.

Code zur Bestimmung des COG:

Dim dCoordinate
Dim NewInertia As Variant

Set NewInertia = product1.GetTechnologicalObject("Inertia")
NewInertia.GetCOGPosition dCoordinate


'Umrechnungen, weil Catia die Koordinaten in m statt mm ausgibt, die Ausgabe in mm jedoch in diesem Fall angestrebt wird
XKoordinate = dCoordinate(0) * 1000
YKoordinate = dCoordinate(1) * 1000
ZKoordinate = dCoordinate(2) * 1000

Ähnlich verhält es sich bei der Bestimmung der Flächenträgheiten:

Dim oMatrix(8)
Dim Inertia_Matrix As Variant

Set Inertia_Matrix = product1.GetTechnologicalObject("Inertia")

Inertia_Matrix.GetInertiaMatrix oMatrix

'Umrechnungen, weil Catia gibt das Massenträgheitsmoment in der Einheit kg*m^2 an
'Durch diesen Schritt wird das Massenträgheitsmoment in kg*mm^2 ausgegeben
Ix_Trägheitsmoment = oMatrix(0) * (10) ^ 6
Iy_Trägheitsmoment = oMatrix(4) * (10) ^ 6
Iz_Trägheitsmoment = oMatrix(8) * (10) ^ 6


Ziel ist es, das Product 1 durch eine zuvor ausgewählte Fläche auszutauschen (Vorauswahl z.B. durch User Selection). Dies ist notwendig, da in der Powercopy mehrere Zwischenergebnisse ebenfalls Flächen sind, welche jedoch für die Steifigkeit und die Lage des Flächenschwerpunkt keine Rolle spielen dürfen. Das Flächenträgheitsmoment soll also ausschließlich von der Ergebnisgeometrie ausgegeben werden.

Ansatz/Idee: Austausch des product 1 durch die zuvor ausgewählte Fläche

Set Inertia_Matrix = oErgebnisflaeche.GetTechnologicalObject("Inertia")

anschließende Fehlermeldung: 'object doesnt support this property or method'

Ich habe auf einer Internetseite eine Codeausschnitt gefunden, mit welchem nur ein Ordered Geometrical Set angesprochen wird (siehe Anhang). Dieser ist jedoch vermutlich veraltet, da laut CATIA v5 Automatisierungshilfe das Measure Inertia Tool ja mittlerweile über 'GetTechnologicalObject' aufgerufen wird.


Für Tipps/Ideen jeglicher Art bin ich dankbar!

Mit freundlichen Grüßen,
jsautomotive


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

jsautomotive
Mitglied


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

Beiträge: 3
Registriert: 24.05.2020

CATIA V5 Programmierung

erstellt am: 24. Mai. 2020 20: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

Also was ich vllt Ergänzen muss: Mir würde es schon reichen wenn ich die Flächenträgheit eines einzelnen OGS  ermitteln könnte, denn dann kann ich als Vorbereitung bereits in der Powercopy die Ergebnisfläche als einziges Element in ein OGS packen.

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. Mai. 2020 21:00    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 jsautomotive 10 Unities + Antwort hilfreich

Servus

Willkommen im Forum. Bitte Systeminfo ausfüllen.
Hast du diesen Code mal probiert? ggf funktioniert der noch.
Was willst du messen? Eine Fläche im Part oder in einer Baugruppe?
AFAIR ggf geht GetTechnologicalObject nur beim Product.

Gruß
Bernd

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

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

jsautomotive
Mitglied


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

Beiträge: 3
Registriert: 24.05.2020

CATIA V5 Programmierung

erstellt am: 24. Mai. 2020 22: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

Servus Bernd, danke für die schnelle Antwort!

Zunächst zu deiner Frage: Ich möchte eine Fläche in einem Part messen.

Ich bin leider noch nicht so tief in die Materie eingedrungen, weshalb ich bei dem Codeausschnitt deines Links nicht ganz weiter weiß. In dem Makro aus dem angehängten Link wird ja dann die Funktion "GetBodyInertia" aufgerufen verstehe ich das richtig? Wie binde ich eine solche Funktion in ein "normales" SUB ein bzw. wie klappt diese Koppelung?

Mit freundlichen Grüßen,
jsautomotive

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. Mai. 2020 22:15    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 jsautomotive 10 Unities + Antwort hilfreich

Servus

zB packst du den Code von Test_GetBodyInertia() in die CATMain und die Function GetBodyInertia in die gleiche Datei (nicht in die Sub mit rein).
Die CATMain ruft dann die Funktion auf.
ggf solltest du die Grundlagen zu VB(A) nach mal anschauen.

Gruß
Bernd

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

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