Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Hauptkörper ändern

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:  Hauptkörper ändern (266 / mal gelesen)
dddt1
Mitglied
Ingenieur


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

Beiträge: 11
Registriert: 27.04.2021

erstellt am: 26. Jan. 2024 11:13    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


1.JPG

 
Hallo Zusammen,
habe folgendes Problem:

es gibt ein Modell, das den Hauptkörper (leer) und einen Körper ("Körper.1) mit den Geometrien hat.
Während der Makroausführung setze ich den Körper.1 als MainBody mithilfe dieses Satzes fest:

CATIA.ActiveDocument.Part.MainBody = CATIA.ActiveDocument.Part.Bodies.Item(i)

um die gewissen Parameter aus dem Körper auszulesen. Es funktioniert einwandfrei.

Danach soll der ursprüngliche Körper ("Hauptkörper") wieder zum MainBody gemacht werden. Und das funktioniert nicht. Probiere es so (da der "Hauptkörper" immer auf der erste Position im Strukturbaum steht (s. Bild):

CATIA.ActiveDocument.Part.MainBody=aktives_Modell.Bodies.Item(1)

Bin für jede Hilfe dankbar!

dddt1


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

CATIA V5R19

erstellt am: 26. Jan. 2024 11: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 dddt1 10 Unities + Antwort hilfreich

Servus dddt1

Bei mir funktioniert es wie du es beschrieben hast, aber das Icon im Baum aktualisiert sich nicht richtig. (bei mir aktualisiert sich erst wenn ich den Körper in Bearbeitung setze oder doppelklick)
Warum must du den Hauptkörper temporär ändern? (ich vermute dass du dies gar nicht benötigst)

Gruß
Bernd

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

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

dddt1
Mitglied
Ingenieur


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

Beiträge: 11
Registriert: 27.04.2021

erstellt am: 26. Jan. 2024 11: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

Danke für eine schnelle Antwort Bernd!

Hatte gerade ausprobiert:
der Doppelklick oder das "Körper in Bearbeitung setzen" bringen bei mir nichts. Der Körper.1  bleibt als MainBody :-(

Ich ändere den MainBody, um die Dichte des dem Körper zugewiesenen Materials mit dieser Methode auszulesen :
CATIA.ActiveDocument.Part.Density

Wenn ich einfach vom "normalen" Körper die Dichte auslese, dann bekomme ich eine glatte 1 und nicht die tatsächliche Dichte des Körpers.

BG
dddt1

[Diese Nachricht wurde von dddt1 am 26. Jan. 2024 editiert.]

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 725
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 26. Jan. 2024 11:40    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 dddt1 10 Unities + Antwort hilfreich

Hallo,
eine alternative wäre evtl. die den Körper.1 mittels boolescher Operation dem Hauptkörper hinzuzufügen und abschließend diese Operation wieder zu löschen.

Gruß Randle

------------------
Planung ersetzt Fehler durch Irrtum!

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

CATIA V5R19

erstellt am: 26. Jan. 2024 11: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 dddt1 10 Unities + Antwort hilfreich

Servus

Alternative Lösungsideen (nicht getestet):

  • mit GetMaterialOnBody das Material auslesen (da sollt auch die Dichte irgendwo drin sein)
  • über die Liste aller Parameter (ggf auch Sublist vom Körper) die einzelnen Dichten/Material auslesen
  • über eine Messung (Inertia) die Dichte des Körper bestimmen

Gruß
Bernd

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

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

dddt1
Mitglied
Ingenieur


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

Beiträge: 11
Registriert: 27.04.2021

erstellt am: 26. Jan. 2024 12:12    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 randle,

ist sehr aufwändig, da ich mehrere Körper mit den zugewiesenen Materialien habe.

Danke

BG
dddt1

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

dddt1
Mitglied
Ingenieur


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

Beiträge: 11
Registriert: 27.04.2021

erstellt am: 26. Jan. 2024 12: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

Die erste Variante mit dem GetMaterialOnBody funktioniert !

Vielen vielen Dank, Bernd!

Leider benötige ich paar andere Parameter...
Die meisten auszulesen habe ich hinbekommen. Jetzt stolpere ich beim Volumen des Körpers..wieder eine ähnliche Geschichte..wenn der Körper zum Hauptkörpier nominiert ist, dann wird Volumen ermittelt..sonst ist der Volumen=0.

BG
dddt1

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

CATIA V5R19

erstellt am: 26. Jan. 2024 13:01    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 dddt1 10 Unities + Antwort hilfreich

Servus

Was willst du denn alles von den einzelnen Körpern ermitteln?
(um ggf nur einen Weg zu nutzen und nicht 10 verschiedene)

Gruß
Bernd

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

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

dddt1
Mitglied
Ingenieur


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

Beiträge: 11
Registriert: 27.04.2021

erstellt am: 26. Jan. 2024 13: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

Hier ist die Lösung für Dichte_ermittlung, falls jemand änliche Frage hätte:

Dim Mat_1 as Material
Set Param = CATIA.ActiveDocument.Part.GetItem("CATMatManagerVBExt")
Param.GetMaterialOnBody CATIA.ActiveDocument.Part.Bodies.Item(i), Mat_1
Density = Mat_1.AnalysisMaterial.GetValue("SAMDensity")

dddt1

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

dddt1
Mitglied
Ingenieur


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

Beiträge: 11
Registriert: 27.04.2021

erstellt am: 26. Jan. 2024 13: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

Benötige Dichte, Oberfläche, Volumen und Gewicht.

Die ersten zwei sind schon soweit.
Das Gewicht ist auch ermittelt.

Jetzt fehlt noch nur das Volumen.

BG
dddt1

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

CATIA V5R19

erstellt am: 26. Jan. 2024 13:23    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 dddt1 10 Unities + Antwort hilfreich

Servus

Du benötigst nur drei dieser Werte (Volumen, Dichte oder Masse lassen sich wenn die beiden anderen bekannt sind berechne).
Das Volumen und die Oberfläche solltest du über einer Messung (Measurable) bestimmen können. Dann wäre nur noch Dichte (über Inertia oder Material) oder Masse (über Inertia) offen.

Gruß
Bernd

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

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

dddt1
Mitglied
Ingenieur


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

Beiträge: 11
Registriert: 27.04.2021

erstellt am: 26. Jan. 2024 14: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

Das Volumen wird jetzt auch berechnet:

  Set Vol = CATIA.ActiveDocument.Part.CreateReferenceFromObject(CATIA.ActiveDocument.Part.Bodies.Item(i))
  Set SPAWorkbench1 = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
  Set Volumen_Messung = SPAWorkbench1.GetMeasurable(Vol)
  Koerper_Volumen = Round(Volumen_Messung.Volume * 1000000, 3)

Herzlichen Dank für Deine kompetente und schnelle Hilfe, Bernd!

Schönes WE!

BG
dddt1

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)2024 CAD.de | Impressum | Datenschutz