Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Allgemein
  Masse-Ermitlung ohne versteckte Körper

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:  Masse-Ermitlung ohne versteckte Körper (4308 mal gelesen)
jdahm
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 01.08.2008

erstellt am: 06. Jul. 2011 15:50    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

Normalerweise mißt CATIA mit "measure inertia" alle Körper, auch die versteckten.
Gibt es eine Möglichkeit, das zu ändern?

Wenn man z.B. "Properties->mechanical" des Assemblys mit rechter Maustaste anwählt, kann man auch die Option "Only main bodies" aktivieren. Dann wird nur die Masse der Mainbodies berechnet. Nur bei der Meßfunktion gibt es diese Option nicht.

------------------
Gruß
Jürgen

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

Mörchen
Ehrenmitglied V.I.P. h.c.
CAD-Trainerin (CATIA V5)



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

Beiträge: 3830
Registriert: 14.03.2007

Release 19 SP2

erstellt am: 06. Jul. 2011 15:54    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 jdahm 10 Unities + Antwort hilfreich

Hallo Jürgen,

kann man beim Messen nicht den gewünschten Körper selektieren, sofern er "unverboolt" ist? ansonsten würde ich mal probieren, vor dem Messen den fraglichen Körper in Bearbeitung zu definieren. Mein CATIA läuft heute nicht mehr, deshalb kann ich es nicht testen...

------------------
Gruß
Mörchen

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

jdahm
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 01.08.2008

erstellt am: 06. Jul. 2011 16: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

Alle Achtung Mörchen, ich habe mindestens 10mal mehr Zeit für meine Frage gebraucht, als Du für die Antwort ;-)

Ich will eigentlich die Masse einer größeren Baugruppe bestimmen, habe aber einige Parts, in denen Varianten oder Hilfskörper gespeichert sind, die das Ergebnis jetzt verfälschen.
Solange noch nicht klar ist, welche Variante gebraucht wird, will ich auch noch nichts löschen.

------------------
Gruß
Jürgen

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

Mörchen
Ehrenmitglied V.I.P. h.c.
CAD-Trainerin (CATIA V5)



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

Beiträge: 3830
Registriert: 14.03.2007

Release 19 SP2

erstellt am: 06. Jul. 2011 17: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 jdahm 10 Unities + Antwort hilfreich

Hallo Jürgen,

diesmal hat es ein bißchen länger gedauert; ich bin zwischenzeitlich nachhause gefahren.

Wenn Du komplette Parts aussschließen willst, kannst Du die Komponenten im Kontextmenü inaktivieren. (Ich weiß nicht auswendig, ob Du "Komponente inaktivieren" unter "..Objekt..." (wahrscheinlich) oder unter "Komponente" findest. Nach meinem Verständnis sollten sie dann nicht mehr "ins Gewicht fallen" 

Wenn Du Parts nur teilweise ausschließen willst, dann würde ich versuchen, die entsprechenden Elemente auf Partebene zu inaktivieren.

------------------
Gruß
Mörchen

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: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 06. Jul. 2011 17:45    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 jdahm 10 Unities + Antwort hilfreich

Servus
Du könntest vielleicht die Exportfunktion der Trägheitsmessung nutzen
-> Messung ausführen -> exportieren -> in Excel importieren -> "ausmisten" (AFAIR werden die einzelnen ("unverboole'ten) Körper aufgeführt)-> Summe aller Einzelmassen bilden

Gruß
Bernd

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

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

ricky.ro
Mitglied
Konstrukteur Kunststofftechnik / Werkzeugbau


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

Beiträge: 139
Registriert: 28.03.2006

Dell Precision Tower 5810
Intel Xeon Processor E5-1620 v3 3,5 GHz
Nvidia Quadro K4200 4GB
32GB RAM
Win 7 64 Bit
Catia V5 R21 SP6 HF4

erstellt am: 07. Jul. 2011 10: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 jdahm 10 Unities + Antwort hilfreich

Hallo Jürgen,
da auch ich immer viele "versteckte" Körper in meinen Konstruktionen habe, mache ich ein CATPart mit der Funktion "Generate CATPART from Product" aus meiner Baugruppe. Dann Measure Inertia und du hast die Masse von allen Körpern die eingeblendet waren.

Ciao,
Ricky

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

jdahm
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 01.08.2008

erstellt am: 07. Jul. 2011 11: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

Hallo Ricky,

das ist auf jeden Fall die sicherste Variante. Damit sind nur die sichtbaren Körper erfaßt. Allerdings muß man aufpassen, daß man nur Teile mit gleicher Dichte lädt.

Ich hatte allerdings gehofft, daß man "measure inertia" irgendwie umstellen kann, weil ich ein Makro habe, das mir die Informationen aus BOM-List und Gewichtsmessung in einer Excel-Tabelle zusammenfaßt.

So richtig verstehen kann ich Dassault aber auch nicht: Warum kann man die Option "Only mainbodies" bei Properties auswählen, aber nicht bei der Meßfunktion?

------------------
Gruß
Jürgen

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 07. Jul. 2011 11:21    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 jdahm 10 Unities + Antwort hilfreich

Hallo Jürgen,

du kannst noch einen Schritt weiter gehen und ein assoziatives Part erstellen. Hier kannst du die Hauptkörper mit den Materialeigenschaften versehen und dann hast du während deiner Konstruktion immer den Aktuellen Gewichtsstand ohne wieder ein AllCatPart erzeugen zu müssen.
Im AssiPart wird auch unter verschieden Materialien unterschieden um so Materialgruppen vereinigen zu können!
Hier hast du zusätzlich zu dem Hauptkörper noch alle anderen körper zur Auswahl, welche zum AssiPart hinzugefügt werden soll.

Gruß Uwe

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: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 07. Jul. 2011 18:25    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 jdahm 10 Unities + Antwort hilfreich

Servus
Du könntest per Makro alle Körper die sichtbar sind suchen, dann prüfen ob diese nicht in ein Boole'schen Operation verwendet werden, nd dann die Masse der einzelnen Körper aufsummieren.
Anbei ein Beispiel (nicht getestet):
Code:
Sub Summ_Body_Masses()

    Dim oProduct As Product
    Dim oSel As Selection
    Dim objInertia As inertia
    Dim mass As Double
    Dim oBody As Body
'start
  Set oProduct = CATIA.ActiveDocument.Product
  Set oSel = CATIA.ActiveDocument.Selection
  mass = 0#
 
  'Suche aller sichbaren Körper
  oSel.Clear
  oSel.Search "CATPrtSearch.BodyFeature.Visibility=Shown,all"
 
  'Prüfen ob Körper in Booleschen Operationen verbaut sind
  For i = 1 To oSel.Count2
    Set oBody = oSel.Item2(i).Value
    If oBody.InBooleanOperation = False Then
        Set objInertia = GetBodyInertia(oBody.Parent.Parent, oBody)
        'Wird das Inertia Objekt zurück geliefert?
        If Not (objInertia Is Nothing) Then
            'Massen aufsummieren
            mass = mass + objInertia.mass
        End If
    End If
  Next
 
  MsgBox "die Masse beträgt " & mass & " kg"
End Sub

Function GetBodyInertia(ByRef iPart As Part, ByRef iBody As Body) As inertia

  'If successful, this function will return an inertia object

  Dim objSPAWorkbench As Workbench
  Dim objInertia As inertia

  On Error Resume Next

  Set objSPAWorkbench = iPart.Parent.GetWorkbench("SPAWorkbench")
  Set objInertia = objSPAWorkbench.Inertias.Add(iBody)
  If Err.Number = 0 Then
    Set GetBodyInertia = objInertia
  Else
    Set GetBodyInertia = Nothing
  End If

End Function


Gruß
Bernd

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

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

jdahm
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 01.08.2008

erstellt am: 08. Jul. 2011 09: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

Klasse Bernd!
Sobald mir jemand Zeit dafür gibt, werde ich Deinen Vorschlag mal ausprobieren und ggf. in mein Makro einbauen.

------------------
Gruß
Jürgen

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

jdahm
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 01.08.2008

CATIA V5 R21 SP3
Windows 10 Pro(64)
HP EliteBook 8760w
i7 CPU @ 2,5GHz
8GB RAM

erstellt am: 04. Aug. 2011 20: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

Hallo Bernd,

bin jetzt erst dazu gekommen, Dein Makro auszuprobieren.
Es läuft allgemein sehr gut, steigt aber an der Zeile

mass = mass + objInertia.mass

aus, wenn ein Körper leer ist.
objInertia zeigt unter Locals dann "method mass failed" an.

Wie kann man das verhindern?

------------------
Gruß
Jürgen

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: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Aug. 2011 20:20    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 jdahm 10 Unities + Antwort hilfreich

Servus
Du könntest einfach über eine If-Abfrage auslesen ob der Körper leer ist, und dann überspringen (ungetestet):
Code:

....
'Prüfen ob Körper in Booleschen Operationen verbaut ist
  For i = 1 To oSel.Count2
    Set oBody = oSel.Item2(i).Value
    If oBody.InBooleanOperation = False Then
        'Prüfen ob Körper leer ist
        if oBody.Shapes.Count <> 0 then
          Set objInertia = GetBodyInertia(oBody.Parent.Parent, oBody)
          'Wird das Inertia Objekt zurück geliefert?
          If Not (objInertia Is Nothing) Then
              'Massen aufsummieren
              mass = mass + objInertia.mass
          End If
        End If
    End If
  Next
....

(Schön ist der Code nicht unbedingt)
Gruß
Bernd

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

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

jdahm
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 01.08.2008

erstellt am: 05. Aug. 2011 17:03    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,
mit der Änderung läuft's prima!

Eine Zusatzfrage:
Wenn ich schonmal die Inertia-Daten an objInertia übergeben habe, könnte man da nicht in diesem Zusammenhang die Koordinaten des Schwerpunktes mit auswerten?
Diese wären ja auch nicht durch versteckte Körper verfälscht.

------------------
Gruß
Jürgen

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: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 05. Aug. 2011 17:35    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 jdahm 10 Unities + Antwort hilfreich

Servus
Ja klar kannst du dir ach den Schwerpunkt ausgeben lassen: GetCOGPosition (siehe Doku)
Allerdings musst du den Gesamtschwerpunkt (der Körper) über das Statisches Moment (über alle drei Achsen) ermitteln.

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