Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Leere Bodys löschen

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:  Leere Bodys löschen (2084 mal gelesen)
denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 10. Feb. 2008 11:43    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

Moin Moin,

ich habe ein kleines Automatisierungsproblem ;-)

Wir müssen in unserer Firma öfter mal Leiterplattenassemblys in Parts umwandeln und anschließend die Unterseite der PCB von der Oberseite der PCB trennen und diese in zwei seperate Parts speichern (Ober- bzw. Unterseite der Leiterplatte)
Dazu dreh ich mir die Leiterplatte entsprechend in den Raum und markiere die komplette Unterseite und lösche diese. Das Problem ist dann das ich beim markieren natürlich nicht die Bodys anpacke (jedes Bauteil hat ein eigenen Body) sondern nur die Solids in den Bodys. Sprich es bleiben viele leere Bodys übrig die ich nun mit einem Makro löschen will. Das klappt auch ganz gut bis auf die Tatsache, das CATIA natürlich den PartBody nicht löschen kann. Ist dieser nun leer kommt es zu einer Fehlermeldung (Can´t drag and drop or cut and delete.....)

Um dies zu umgehen sollte der User durch das Makro aufgefordert werden einen Body zu bestimmen (in dem noch ein Solid ist) der zum PartBody gemacht werden soll und anschließend soll das Makro erst die übrigen leeren Body löschen. Leider bekomm ich das nicht hin (die Auswahl des Bodys war auch kein Problem nur er macht mir den ausgewählten Body nicht zum PartBody) *arrrghhh*

Ich weiß nur leider nicht warum.... :-(

Hier mal der Code:

Code:
Sub CATMain()

Set oPartDoc = CATIA.ActiveDocument
Dim oPart as Part
Set oPart = oPartDoc.Part
Set oBodies = oPart.Bodies
Set PartBody = oBodies.Item(1)
Dim oPartBody as Body

Dim selection1 As selection
Set selection1 = oPartDoc.selection
oPart.InWorkObject = PartBody

Set nBody = oPart.Bodies.Item("PartBody")
  If nBody.Shapes.Count = 0 And nBody.Sketches.Count = 0 Then
    Dim InputObjectType(0)
    selection1.Clear
    InputObjectType(0) = "Body"
    oPartBody = selection1.SelectElement3(InputObjectType, "Bitte neuen PartBody auswaehlen (fuer Abbruch: Esc druecken)", True, CATMultiSelTriggWhenSelPerf, False)
  Set oPartBody = oBodies.Item("PartBody")
oPart.MainBody = oPartBody

End If

Set oPartDoc = CATIA.ActiveDocument
Set oSel = oPartDoc.selection

l = 0
For i = oPart.Bodies.Count To 1 Step -1
On Error Resume Next
Set oBody = oPart.Bodies.Item(i)
    If oBody.Shapes.Count = 0 And oBody.Sketches.Count = 0 Then
        oSel.Clear
        Set delBody = oBodies.Item(i)
        oSel.Add delBody
        oSel.Delete
        l = l + 1
     End If
Next

Box = MsgBox("Es wurden " & l & " leere Bodys geloescht", , "Hinweis")

End Sub


------------------
Die KATJA ist halt doch nur ne zickige Französin

[Diese Nachricht wurde von denyo_1 am 10. Feb. 2008 editiert.]

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

Catrin
Moderator
Ingenieurin Maschinenbau/Informatik


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

Beiträge: 1928
Registriert: 12.12.2000

erstellt am: 11. Feb. 2008 09:38    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 denyo_1 10 Unities + Antwort hilfreich

Hallo DENYO,

das ist jetzt sicher ne bloede Frage vom mir.
Aber wenn der Part Body fuer Euch soweiso keine Rolle spielt, warum laesst Du ihn nicht einfach leer und im Part drin. Da tut er nicht weh, kann nix falsches bei Berechnungen etc. hervorrufen und es ist nicht irgendein Koeprer der PartBody. Das kann ja auch der falsche sein...

Gruss
Catrin

------------------
--------------------------------------------------
cad_de@catrin-eger.de

--------------------------------------------------

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 11. Feb. 2008 09:43    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 Catrin,

das würde ich ja sogar machen aber das Makro versucht ja jeden leeren Body zu löschen...Ist der PartBody leer kommt ne Fehlermedlung und die will ich nicht haben (unsere User haben nämlich sonst Probleme ;-))

------------------
Die KATJA ist halt doch nur ne zickige Französin

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

Catrin
Moderator
Ingenieurin Maschinenbau/Informatik


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

Beiträge: 1928
Registriert: 12.12.2000

erstellt am: 11. Feb. 2008 09: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 denyo_1 10 Unities + Antwort hilfreich

Dann mach doch ne Abfrage rein: fuer alle Body, die nicht PartBody sind und leer sind .....

Gruss
Catrin

------------------
--------------------------------------------------
cad_de@catrin-eger.de

--------------------------------------------------

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 11. Feb. 2008 10: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

oh stimmt da bin ich noch gar nicht draufgekommen. Naja manchmal sieht man den Wald vor Bäumen nicht ;-)

Danke dir vielmals für die Idee

------------------
Die KATJA ist halt doch nur ne zickige Französin

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