Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Inertia Messen bezüglich des Produkts und nicht des CATParts

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:  Inertia Messen bezüglich des Produkts und nicht des CATParts (1018 mal gelesen)
camahiahua
Mitglied
ingenieur


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

Beiträge: 31
Registriert: 28.09.2010

erstellt am: 08. Nov. 2010 10:09    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,

Ich habe folgendes Problem. Ich will den Schwerpunkt und die Haupträgheitsachsen von allen Bodies innerhalb eines CATProducts ermitteln. Diese Werte sollen auf das "Absolute Axes System" von dem Hauptprodukt bezogen werden.

ich habe erstmals mit dem folgenden Code versucht.

    Set Inertia = Inertias.Add(Body)
    Inertia.GetPrincipalAxes Component
    Inertia.GetCOGPosition Coord

Als Ergebnis bekomme ich diese Werte bezüglich des CATPart Systems und nicht des Hauptprodukt Systems. Als zweiter Versuch wurde mit einem "Referenz" (Product.CreateReferenceFromName)ausprobiert

    MyRefName = Selection.Item(1).Value.Name
    Set MyLeafProduct = Selection.Item(1).LeafProduct
    MyRefName = MyLeafProduct.Name & "/!" & MyRefName
    Set MyLeafProduct = MyLeafProduct.Parent.Parent
   

    Do While MyLeafProduct.PartNumber <> Product.PartNumber
        MyRefName = MyLeafProduct.Name & "/" & MyRefName
        Set MyLeafProduct = MyLeafProduct.Parent.Parent
    Loop

    MyRefName = Product.PartNumber & "/" & MyRefName
    Set MyRef = Product.CreateReferenceFromName(MyRefName)
    Set TheMeasurable = TheSPAWorkbench.GetMeasurable(MyRef)
    TheMeasurable.GetCOG Coord

Dies hat nur mit dem Schwerpunkt gut geklappt. Für die Hauptträgheitsachsen muss ich unbedingt die "Inertia Class" nutzen, und hier bekomme ich einen Fehler. Ich weiss nicht ob ich diese Referezen mit Inertia nutzen kann. Ich habe folgendes versucht

MyRefName = Selection.Item(1).Value.Name
        Set MyLeafProduct = Selection.Item(1).LeafProduct
MyRefName = MyLeafProduct.Name & "/!" & MyRefName
Set MyLeafProduct = MyLeafProduct.Parent.Parent

Do While MyLeafProduct.PartNumber <> Product.PartNumber
MyRefName = MyLeafProduct.Name & "/" & MyRefName
  Set MyLeafProduct = MyLeafProduct.Parent.Parent
Loop

MyRefName = Product.PartNumber & "/" & MyRefName
Set MyRef = Product.CreateReferenceFromName(MyRefName)
Set Inertia = Inertias.Add(MyRef)
        Inertia.GetPrincipalAxes Component

Ich habe keine Fehlemeldung bei "Set Inertia = Inertias.Add(MyRef)" aber wenn ich versuche die Inertia Info zu ermitteln bekomme ich eine Fehlermeldung "The Method GetPrincipalAxes failed".

Ich arbeite mit vielen Bodies deswegen versuche ich einen schnellen Code zu haben. Gibts eine Möglichkeit um dieses Problem zu lösen, oder ich soll eine Transformation Matrix nutzen um die bisherige werte bezüglich des CATParts zu ändern

Vielen Dank und ich hoffe dass mein Deutsch verständlich war

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. Nov. 2010 16: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 Nur für camahiahua 10 Unities + Antwort hilfreich

Ich glaub solche Sachen muss man immer mit einer Transformationsmatrix lösen.

Jeodch kann es auch sein, dass man einfach nur das Assembly aktivieren muss.

Im VBA kann man nicht alles machen.

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

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