Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fläche aus anderem Part einfügen???

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:  Fläche aus anderem Part einfügen??? (749 mal gelesen)
FRANKV5
Mitglied



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

Beiträge: 15
Registriert: 06.07.2005

erstellt am: 28. Jul. 2006 08:08    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,

kann mir jemand bei folgenden helfen. Ich habe ein Part (Part2) offen und möchte ein zweites laden aus dem ich eine Fläche benötige. Die Fläche soll kopiert und als Ergebnis im Part2 dargestellt werden. Mit dem unten stehenden Code klappt das laden und kopieren aber das aktivieren des Part2 und Einfügen der Fläche will irgendwie nicht klappen.

'1. Neues Part laden
        Dim StandardsPart As Documents
        Set StandardsPart = CATIA.Documents
       
        Dim oActiveDoc As Document
        Set oActiveDoc = StandardsPart.Open("C:\Daten\Makros\Pfad\NewPart.CATPart")
        Set oActiveDoc = CATIA.ActiveDocument
       
        Dim PartStandard As Part
        Set PartStandard = oActiveDoc.Part
       
        'HybridBodies deklarieren in dem das Element ausgewählt werden soll
        Dim HBodies As HybridBodies
        Set HBodies = PartStandard.HybridBodies
           
        Dim H2Body As HybridBody
        Set H2Body = HBodies.Item("Flächen")

        Dim hybridShapes2 As HybridShapes
        Set hybridShapes2 = H2Body.HybridShapes

        Dim FormA As HybridShape
        Set FormA = hybridShapes2.Item("Fläche")
       
        Dim APart As Part
        Set APart = CATIA.ActiveDocument.Part
       
        oActiveDoc.Selection.Clear
        oActiveDoc.Selection.Add H2Body
        oActiveDoc.Selection.Copy
        oActiveDoc.Selection.Clear
        APart.Add FormA
        APart.Selection.PasteSpecial "CATPrtResultWithOutLink"

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

Tapani.
Mitglied



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

Beiträge: 56
Registriert: 12.05.2006

erstellt am: 28. Jul. 2006 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 FRANKV5 10 Unities + Antwort hilfreich

moin,

das Problem liegt darin, das der Zielort für den Paste-Befehl in der Selection stehen muss. Du mußt die erstmal das ActiveDocument vor dem Öffenen des Parts merken und dann nach dem Copy das ursprüngliche Part-Document aktivieren (Document.Activate), dir davon die Selection holen (sicherheitshalber löschen) und dann den Hybridbody, in den die Fläche eingefügt werden soll, per "Add" in die Selection einfügen und dann den Paste-Befehl ausführen.

grob skizziert sieht das dann so aus:

Code:
      set oldActDoc = CATIA.ActiveDocument
        ....
        'open other part
        ....
        oActiveDoc.Selection.Clear
        oActiveDoc.Selection.Add H2Body
        oActiveDoc.Selection.Copy
        oActiveDoc.Selection.Clear
       
        oldActDoc.Activate
        set sel = oldActDoc.Selection 
        sel.Add oldActDoc.Part.HybridBodies.Item("wie das auch immer heist")
        sel.PasteSpecial "CATPrtResultWithOutLink"


CUSee You
    Tapani

------------------
Don't take life so seriously....
it's not a permanent  condition

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

FRANKV5
Mitglied



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

Beiträge: 15
Registriert: 06.07.2005

erstellt am: 28. Jul. 2006 20: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

Hallo Tapani,

Vielen Dank für Deine verständliche Erklärung! Ich habe es jetzt geschnallt und angewendet. Jetzt funktioniert es bestens.

Gruß und schönes Wochenende
Frank

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