Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Element von Part zu Part kopieren

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: verbesserte Effizienz durch optimierte Bedienoberfläche, eine Pressemitteilung
Autor Thema:  Element von Part zu Part kopieren (2531 mal gelesen)
geekv5
Mitglied
Konstrukteur


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

Beiträge: 214
Registriert: 13.07.2011

Notebook<P>MSI GX660R
Intel Core i5 460M
8GB DDR3
1GB Mobility HD5870
80GB Intel X25-M Postville
250GB HDD<P>Desktop<P>AMD Phenom II X4 965
1GB HD4890@ FirePro V8700
8GB DDR3-1600
2,5TB HDD<P>Belinea 2485 S1W 24" MVA

erstellt am: 25. Mai. 2012 11:06    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 allerseits,

habe mir eine kleine Prozedur geschrieben um ein Element von einem Part zum anderen zu kopieren, leider funktioniert sie nur wenn die Parts in eigenständigen Fenstern geöffnet sind, ist ein Part nur im Produkt geöffnet bringt er mir die Meldung, dass kein CSO Element übrig bleibt..

Ich bin mir ziemlich sicher, dass ich die Selektion als Selektion des Obersten ProductDocuments setzen muss, allerdings weiß ich nicht wie ich vom Part oder Partdocument dahin komme.. ActiveDocument.Selection geht nicht, da das Fenster im Hintergrund ist.. Eine andere Variante, die mir einfällt, ist das Fenster hervorzuholen, dazu müsste ich allerdings wissen, wie ich herausfinde, in welchem Fenster das Part steckt..

Hier mal meine Prozedur:

Code:

Public Sub CopyPaste2(PartQuelle As Part, PartZiel As Part, Element As Object, PTyp As String)

Dim part1 As Part
Dim partDocument1 As PartDocument
Dim selection1 As Selection

Select Case TypeName(Element)

    Case "Body"

        If Element.Shapes.Count = 0 Then
       
            Call HilfsGeometrie2(PartQuelle, Element)
           
        End If
       
End Select

Set part1 = PartQuelle
Set partDocument1 = part1.Parent.Product.ReferenceProduct.Parent
Set selection1 = partDocument1.Selection

selection1.Clear
selection1.Add Element
CATIA.StartCommand "Lokale Aktualisierung"
selection1.Copy

Set part1 = PartZiel
Set partDocument1 = part1.Parent.Product.ReferenceProduct.Parent
Set selection1 = partDocument1.Selection

selection1.Clear
selection1.Add part1
selection1.PasteSpecial PTyp

End Sub


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

CATIA V5R19

erstellt am: 25. Mai. 2012 14: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 geekv5 10 Unities + Antwort hilfreich

Servus
Hier findest du ein ähnliches Beispiel.

Gruß
Bernd

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

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

geekv5
Mitglied
Konstrukteur


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

Beiträge: 214
Registriert: 13.07.2011

Notebook<P>MSI GX660R
Intel Core i5 460M
8GB DDR3
1GB Mobility HD5870
80GB Intel X25-M Postville
250GB HDD<P>Desktop<P>AMD Phenom II X4 965
1GB HD4890@ FirePro V8700
8GB DDR3-1600
2,5TB HDD<P>Belinea 2485 S1W 24" MVA

erstellt am: 25. Mai. 2012 15:15    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

Hm, habe den Thread gelesen, allerdings komme ich damit glaube ich nicht weiter.. Mein Problem ist ja, dass das QuellPart in einem Produkt steckt, welches nicht das aktive Dokument ist, in meinem Fall ist das ZielPart das aktive Dokument..

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

CATIA V5R19

erstellt am: 25. Mai. 2012 15:40    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 geekv5 10 Unities + Antwort hilfreich

Servus
AFAIR kann per Makro nicht direkt feststellen, welches Part innerhalb ein Products aktiv ist. Das aktive Dokument ist immer das Product. Das heißt auch, du hast nur eine Selection hast.

Gruß
Bernd

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

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

geekv5
Mitglied
Konstrukteur


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

Beiträge: 214
Registriert: 13.07.2011

Notebook<P>MSI GX660R
Intel Core i5 460M
8GB DDR3
1GB Mobility HD5870
80GB Intel X25-M Postville
250GB HDD<P>Desktop<P>AMD Phenom II X4 965
1GB HD4890@ FirePro V8700
8GB DDR3-1600
2,5TB HDD<P>Belinea 2485 S1W 24" MVA

erstellt am: 25. Mai. 2012 15:49    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

Hm glaube ich habe mich undeutlich ausgedrückt 

- Im CATIA sind zwei Fenster geöffnet
- Fenster1: Produkt mit QuellPart
- Fenster2: ZielPart
- Fenster2 ist im Vordergrund

ActiveDocument.Selection ist ja dann die Selektion des ZielParts..

Meine Idee war jetzt, dass Fenster1 in den Vordergrund zu holen, allerdings weiß ich nicht, wie ich vom QuellPart auf den Namen des Fensters komme, in dem es Steckt..

BTWBy the way (So nebenbei bemerkt). das aktive Part kann man doch so feststellen:

CATIA.ActiveDocument.Selection.Search ("'Part Design'.Teil, in")

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

CATIA V5R19

erstellt am: 25. Mai. 2012 17: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 Nur für geekv5 10 Unities + Antwort hilfreich

Servus
Wenn du den Namen des Parts kennst (des Dokumentes) kannst du direkt über die Documents-Collection darauf zugreifen (Catia.Documents.Item("MeinZielPart.CATPart"))
Oder benutzt die Windows-Collection um das andere Fenster in den Vordergrund zu holen.  (zB Catia.Windows.Item("MeinFenster").Activate oder ggf auch .ActivateNext)

Gruß
Bernd

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

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

K.Siebert
Mitglied
Tech Zeichner


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

Beiträge: 415
Registriert: 19.05.2007

erstellt am: 25. Mai. 2012 17:22    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 geekv5 10 Unities + Antwort hilfreich

Hallo,

so hatte ich das mal Gelöst:

du könntest die Fenster abfragen, danach minimieren.
Und dann die Fenster wieder Ansprechen, wenn du sie brauchst (wieder maximieren).

Code habe leider nicht Griffbereit. (Hatte den Recorder benutzt)

Edit:
bgrittmann war wieder schneller 

------------------
    Sei Schlau bleib Dumm !!?!!   

[Diese Nachricht wurde von K.Siebert am 25. Mai. 2012 editiert.]

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