Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Part in Product editieren

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:  Part in Product editieren (595 mal gelesen)
claho
Mitglied
Diplomingenieur


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

Beiträge: 20
Registriert: 08.06.2002

CATIA V5 Automation ist wie Schweinescheren, viel Geschrei und wenig Wolle

erstellt am: 11. Feb. 2006 13:29    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 liebe Kollegen,

es wurde zwar schon immer wieder mal zu dem Thema etwas gepostet, aber scheinbar bin ich zu doof dafür, um es zu kapieren.

Ich habe Parts in einem Product und möchte diese in einer Schleife nacheinander nehmen und "irgend etwas" damit machen. Zum Beispiel einen Body kopieren. Hierzu müsste das Part jedoch auf Edit geschalten werden, was aber ja nicht geht?!

Hier ein Beispiel (das aber nicht geht :-) ):


Sub CATMain()
         
Set productDocument1 = CATIA.ActiveDocument

Set product1 = productDocument1.Product

Set products1 = product1.Products

n = products1.count

Set selection1 = CATIA.ActiveDocument.Selection

selection1.Clear

For e = 2 to n+1 ' Product schleifen


      Set documents1 = CATIA.Documents
     
Set partDocument1 = documents1.Item(e)

Set part1 = partDocument1.Part

Set bodies1 = part1.Bodies

Set body1 = bodies1.Item(1)

MsgBox body1.name

selection1.Add body1

selection1.Copy

Next

End Sub

Was mache ich falsch bzw. wie mache ich das richtig? Alles was ich hier im Forum hierzu gefunden habe funzt nicht (oder ich kapier´s nicht)

Danke im Voraus


Claus

------------------
CLAHO

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 11. Feb. 2006 14:04    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 claho 10 Unities + Antwort hilfreich

Hallo,

der zweite Teil deines Scriptes ist falsch. Um die Parts in einem Product "durchzugehen" musst du auch die Items counten und nicht über die Catia.Documents gehen. Dein Zähler (n) der Items deines Products hat ja nichts mit dem Zähler der Documents zu tun.

So müsste es gehen:

Sub CATMain()

Set oActDoc = Catia.ActiveDocument
Set oProducts = oActDoc.Product.Products
Set oSelection = oActDoc.Selection
oSelection.Clear 

'  ----------- bis hierhin wars i.O

For i = 1 to oProducts.Count  'Zählt die Children
  Set oItem = oProducts.Item(i)
  Set oRefDoc = oItem.ReferenceProduct.Parent  'das zur Instance gehörende Document
  If TypeName(oRefDoc) = "PartDocument" Then  'ist es ein Part?
      Set oPart = oRefDoc.Part  'ins Part
      Set oBodies = oPart.Bodies
      For j = 1 to oBodies.Count  'zählt die Bodies
        oBody = oBodies.Item(j)  'der j-te Body
        oSelection.Add(oBody)  'selektieren
        oSelection.Copy  'Kopieren
        ' -------- und Pasten oder sonst was
      Next
  End if

Next

End Sub

Gruss
TomTom

------------------
tomtom1972

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

claho
Mitglied
Diplomingenieur


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

Beiträge: 20
Registriert: 08.06.2002

CATIA V5 Automation ist wie Schweinescheren, viel Geschrei und wenig Wolle

erstellt am: 11. Feb. 2006 14: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

Hallo TomTom,

vielen Dank für die rasche Hilfe. Das ist wirklich bemerkenswert und man muss erkennen, Du bist einer der Säulen dieses Forums.

So krieg ich es hin!

Claus

PS: die Zeile:        oBody = oBodies.Item(j)  'der j-te Body
muss wohl heissen:    Set oBody = oBodies.Item(j)  'der j-te Body

------------------
CLAHO

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