Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Selection copy innerhalb Produktstruktur

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:  Selection copy innerhalb Produktstruktur (1539 mal gelesen)
MarcDe
Mitglied



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

Beiträge: 137
Registriert: 11.10.2006

CATIA R18 SP2, BN 18, HF 162
Win 7 64Bit

erstellt am: 18. Mrz. 2010 14:25    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,

ich muss innerhalb einer Produktstruktur von einem Part etwas in ein anderes Part kopieren. Um den CSO-Fehler bei Selection.copy zu umgehen, muss man ja bekanntlich die Selection aus dem ActiveDocument also dem geöffneten, übergeordneten Produkt gehen und dann das Zielpart der Selection nach dem Copy über ReferenceProduct.Parent.Part hinzufügen. Und dann eben ein pastespecial machen. Funktioniert alles gut, jedoch nur unter einer Bedingung:

Das RootProduct, in welchem sich beide Parts befinden, muss Aktiv(blau hinterlegt) sein. Sich also im Editiermodus befinden. Ist das nicht der Fall und es ist z.B. ein Part aktiviert und im Editiermodus offen, dann stürzt die Selection und das ganze Programm/Vorgehen ab.

Wie schaffe ich da nun Stabilität reinzukriegen? Habe mich schon umgeschaut, ob man irgendwie das rootProduct aktivieren kann, aber das scheint iregdnwie nicht möglich zus ein. Oder kann man den Selection-Code irgendwie optimieren?

Code:

Sub catmain()
    Dim sel As Selection
   
    Dim productDocument1 As ProductDocument
    Set productDocument1 = CATIA.ActiveDocument
   
    Dim product1 As Product
    Set product1 = productDocument1.Product
   
    Dim product2 As Product
    Set product2 = product1.Products.Item("Part1.1")
   
    Dim product3 As Product
    Set product3 = product1.Products.Item("Part2.1")
   
    Dim hybridBodies1 As HybridBodies
    Set hybridBodies1 = product2.ReferenceProduct.Parent.Part.HybridBodies
   
    Dim hybridBody1 As HybridBody
    Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
   
    Dim hybridShapes1 As HybridShapes
    Set hybridShapes1 = hybridBody1.HybridShapes
   
    Dim hybridShapePointCoord1 As HybridShapePointCoord
    Set hybridShapePointCoord1 = hybridShapes1.Item("Point.1")

    Set sel = productDocument1.Selection
   
    sel.Add hybridShapePointCoord1
    sel.Copy
    sel.Clear
   
    sel.Add product1.Products.Item("Part2.1").ReferenceProduct.Parent.Part
    sel.PasteSpecial "CATPrtResultWithOutLink"
    sel.Clear

End Sub



Code ist für ein Product, wo 2 Parts drin hängen und wo im ersten Part im Geoset ein Punkt ist.

Vielen dank schon mal für die hilfe...

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

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

Du möchtest die Workbench wechseln.

Dies machst du indem du das entsprechende Objekt selektierst und die Workbench setzt, dazu bitte die Suche im Forum benutzen, ich weiß die Strings nicht auswendig.
Hierbei Achtung: Wenn du bereits in der Workbench bist, in die Du wechseln möchtest wird ein New ausgeführt, also vorher imemr schön prüfen.
Ich mach das alles in etwa so:

Prüfen welche Workbench offen ist.
Ist Assembly, dann gut, ist kein Assembly, dann Assembly
Selektieren part1 und PartWorkbench
Copy
Wechseln Assembly Workbench
Selektieren Part2 und PartWorkbench
Paste

Hoffe dein Problem überrissen zu haben. 

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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



Praktikant (w/m/d) Projektplanung Wertstrom Lkw

Zu besetzen ab:

sofort

Dein Arbeitsumfeld

Wir bei MAN Truck & Bus sind Teil eines starken internationalen Teams und einer der führenden europäischen Nutzfahrzeughersteller und Anbieter von Transportlösungen. Zusammen mit den Marken Scania, Volkswagen Truck & Bus und Navistar gehören wir zur TRATON GROUP.
Als Teil dieses Verbundes ...

Anzeige ansehenProjektmanagement
MarcDe
Mitglied



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

Beiträge: 137
Registriert: 11.10.2006

CATIA R18 SP2, BN 18, HF 162
Win 7 64Bit

erstellt am: 19. Mrz. 2010 15:26    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

Stimmt, WB wechseln rein. Ist ja cool...Naja dafür ist ja hier das Forum :-) Dann werd ich mich mal umschauen.....

Dankeschön für den Tipp

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