Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Solid Struktur innerhalb eines Parts nach oben auslesen

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:  Solid Struktur innerhalb eines Parts nach oben auslesen (637 / mal gelesen)
Peter Müller3
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 20.06.2019

R28 SP2, zbook, 32gb

erstellt am: 13. Okt. 2019 14:17    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 möchte aus einem solid_body den Pfad nach oben bis zum Hauptkoerper auslesen.
Über dem Body sind 2 Boolsche Operationen (jeweils add), bis zum Hauptkörper.

Mein Ergebnis soll dann so aus sehen

path_body.14 : Hauptkoerper/add/Body.5/add/body.14

Leider ist das parent element jedes bodies das Part selber.
Leafprodukt funktioniert innerhalb eines parts nicht.

Danke für eure Hilfe

------------------
------------------------
warum immer so schwer

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: 13. Okt. 2019 14: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 Peter Müller3 10 Unities + Antwort hilfreich

Servus

Du könntest dich von oben nach unten durch die Bodies arbeiten:

  • im Body nach Boole'schen Operationen suchen (über Selection oder Schleife)
  • für jede Operation den "verboole'ten" Body auslesen
  • in diesem Body wieder nach Boole'schen Operationen suchen
Meine ursprüngliche Idee per GetNameToUseInRelation geht scheinbar nur für GeoSets.

Gruß
Bernd

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

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

Peter Müller3
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 20.06.2019

R28 SP2, zbook, 32gb

erstellt am: 13. Okt. 2019 22:34    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,

Von unten geht es wirklich leider nicht.
Man muss von oben nach unten durch das fanze Part um dann zu finden,
wo man hoch will.

Naja, die Solid Funktion von CATIA mochte ich noch nie so.

Danke

------------------
------------------------
warum immer so schwer

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: 13. Okt. 2019 22:47    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 Peter Müller3 10 Unities + Antwort hilfreich

Servus

Hier ein Code wie es funktionieren könnte (kaum getestet):

Code:
Sub CATMain()

Dim oPartDocument as PartDocument
Dim oPart as Part
Dim oSel as Selection
Dim oBodies as Bodies
Dim oBody as Body

Set oPartDocument = CATIA.ActiveDocument
Set oSel = oPartDocument.Selection
Set oPart = oPartDocument.Part

Set oBodies = oPart.Bodies
Set oBody = oBodies.Item("Körper.2")

MsgBox GetPathOfBody(oBody,oSel)

End Sub


Function GetPathOfBody(oBody as Body, oSel as Selection) as String

    'Delivers the path of the given body. The path is seperated by "\"

    Dim oCurrentBody as Body
    Dim i as Integer
    Dim oCurrentBooleanOperation as BooleanShape
   
    Set oCurrentBody = oBody
    GetPathOfBody = oBody.Name

    if Not oBody.InBooleanOperation then       
        exit function
    end if

    'search all Boolean operations: Assemble, Add and Remove
    oSel.Search "(CATPrtSearch.Assemble + CATPrtSearch.Add + CATPrtSearch.Remove),all"
    if oSel.Count2 = 0 then
        exit function
    end if

    do while oCurrentBody.InBooleanOperation
        for i = 1 to oSel.Count2
            Set oCurrentBooleanOperation = oSel.Item2(i).Value
            if oCurrentBooleanOperation.Body.Name = oCurrentBody.Name then
                Set oCurrentBody = oCurrentBooleanOperation.Parent.Parent
                GetPathOfBody = oCurrentBody.Name & "\" & oCurrentBooleanOperation.Name & "\" & GetPathOfBody
                exit for
            end if
        next
    loop

End Function


Gruß
Bernd

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

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

Peter Müller3
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 20.06.2019

R28 SP2, zbook, 32gb

erstellt am: 13. Okt. 2019 23: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

danke,
ich arbeite mich mal rein, 8-).
Hast mir aber schon sehr geholfen.

Schönen Wochenstart.

------------------
------------------------
warum immer so schwer

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