Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Copy Paste Part zu Part

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:   Copy Paste Part zu Part (302 mal gelesen)
Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 255
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 04. Mrz. 2019 17:00    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 zusammen,

unten stehend mein Code in vb.NET, mit dem ich ein Body aus einem Part in ein anderes Part kopieren möchte, aber es tut sich nichts.
Copy und paste innerhalb des ersten Parts funktioniert aber:

        myProductDoc.Selection.Search("Name='NeueLage*',sel")
        myCopyBodyNeu = myCatiaDoc.Part.Bodies.Item(b)
        myPart.InWorkObject = myCopyBodyNeu
        mySelection = myProductDoc.Selection

        mySelection.Clear()
        mySelection.Add(myCopyBodyNeu)
        mySelection.Copy()

        ' mySelection.PasteSpecial("CATPrtResultWithOutLink")

        myCount = myProductDoc.Product.Products.Count()

        'Greift den Namen des letzten Elements des Products ab
        myName = myProductDoc.Product.Products.Item(myCount).Name
        mySelection2 = myProductDoc.Selection
        myProductDoc.Selection.Search("Name='myName*',sel")
        myProduct2 = myProduct.Products.Item(myName)
        mySelection2.Add(myProduct2)

        myCatiaDoc = myProduct2.ReferenceProduct.Parent
        myPart2 = myCatiaDoc.Part
        mySelection2.Add(myPart2)

        myPart2 = mySelection2.Item(1).Value.ReferenceProduct.Parent.part
        myProduct2.ApplyWorkMode(DesignMode)
        myPart2.InWorkObject = myPart2.MainBody

        mySelection.PasteSpecial("CATPrtResultWithOutLink")

Was fehlt mir denn noch?

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

CATIA V5R19

erstellt am: 04. Mrz. 2019 19:11    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 Tweety79 10 Unities + Antwort hilfreich

Servus

Was hast du den kopiert? Wo willst du das einfügen? Direkt ins Part, in einen Körper? Dann musst du auch das entsprechende selektieren (siehe auch hier)
Warum hast du beim einfügen zwei Elemente selektiert? Was soll den sie Suche in dem Code?

Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 255
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 05. Mrz. 2019 12:31    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

Servus,

ich habe im Product ein Part mit dem Namen myPart.
Darin ist ein Body mit dem Namen myCopyBodyNeu; dieses kopiere ich.
Dann gibt es das Part im Product - myPart2.
Dort soll das Body aus Part 1 rein.

Gruß

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

CATIA V5R19

erstellt am: 05. Mrz. 2019 12:41    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 Tweety79 10 Unities + Antwort hilfreich

Servus

Das Kopieren klappt ja vermutlich (Watchfenster).
Hast du auch das (ausschließlich) Zielpart gewählt? (bitte mit Watchfenster prüfen)
Du hast 2x myPart2, welches ist nun das gewünschte?

Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 255
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 05. Mrz. 2019 15:02    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

Hi,

also es wird das Zielpart angesprochen, in das der Body eingefügt werden soll.
Ich habe statt PasteSpecial die boolsche Operation Add eingebaut und das Body an Mainpart gefügt.

        myShapeFac = myPart2.ShapeFactory
        myShapeFac.AddNewAdd(myCopyBodyNeu)

Warum aber PasteSpecial nicht funktioniert, kann ich mir nicht erklären.

Mit der Boolschen Operation Add habe ich aber das Problem, dass eine Fehlermeldung kommt, wenn ich aktualisieren will, auch wenn der Body, der geadded wurde bereits tote Geometrie ist.

Gruß

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

CATIA V5R19

erstellt am: 05. Mrz. 2019 17:31    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 Tweety79 10 Unities + Antwort hilfreich

Servus

Hast du dir den von mir verlinkten Code mal angesehen?
Ich hab diese mal auf den Maibody angepasst:

Code:
Sub CATMain()

    Dim oActiveDoc As ProductDocument
    Set oActiveDoc = CATIA.ActiveDocument 

    Dim oPart1Doc As PartDocument
    Dim oPart2Doc As PartDocument
    Set oPart1Doc = oActiveDoc.Product.Products.Item(1).ReferenceProduct.Parent
    Set oPart2Doc = oActiveDoc.Product.Products.Item(2).ReferenceProduct.Parent
 
    Dim oCopyObject As Body
    Dim oPasteObject As Body
    Set oCopyObject = oPart1Doc.Part.Mainbody
    Set oPasteObject = oPart2Doc.Part
 

    oActiveDoc.Selection.Clear
    oActiveDoc.Selection.Add oCopyObject
    oActiveDoc.Selection.Copy
    oActiveDoc.Selection.Clear
    oActiveDoc.Selection.Add oPasteObject
    oActiveDoc.Selection.PasteSpecial "CATPrtResultWithOutLink"
 
    oPart2Doc.Part.Update

End Sub


Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 255
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 15. Mrz. 2019 14:32    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!
Irgendwo hatte ich einen Knoten drin.

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