| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation: Neuer Strukturvergleich ab sofort verfügbar, eine Pressemitteilung
|
Autor
|
Thema: 2D-Komponenten zerlegen (3148 mal gelesen)
|
Gaby75 Mitglied

 Beiträge: 17 Registriert: 20.01.2005 R12 SP5 /R14 SP6 unter WIN XP
|
erstellt am: 31. Mai. 2007 09:17 <-- editieren / zitieren --> Unities abgeben:         
Hallo @all ! Erst einmal möchte ich Allen aus diesem Forum ein großes Lob aussprechen. Wenn ich Euch nicht hätte, wäre ich total aufgeschmissen. Jetzt zu meinem Problem. Ich lade eine .dxf Datei und möchte alle 2D-Komponenten zerlegen. Ich habe bis jetzt diesen Code (siehe unten). Aber er wählt halt nur alle 2D-Komponenten aus, zum zerlegen muß ich dann noch über die rechte Maustaste -> zerlegen klicken. Was brauche ich für einen Code um die Auswahl auch direkt zu zerlegen. Die Dateien haben immer unterschiedliche Blatt- un Ansichtsnamen. Code: Language="VBSCRIPT" Sub CATMain()Dim drawingDocument1 As Document Set drawingDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = drawingDocument1.Selection selection1.Search "CATDrwSearch.DrwDitto,all" End Sub
Ich Danke Euch schon einmal im voraus Gaby Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
 
 Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 31. Mai. 2007 11:14 <-- editieren / zitieren --> Unities abgeben:          Nur für Gaby75
Hallo Gaby, über die Selektion kommt man nicht an das direkte Objekt der 2D-Komponente ran. Deswegen würde ich hier über alle Views aller Nicht-Detail-Sheets gehen und die 2D-Komponente einzel ansprechen und zerlegen. Hier der Code: Sub CATMain() Dim oDRWDoc As DrawingDocument Dim oSheet As DrawingSheet Dim oView As DrawingView Dim oDRWComp As DrawingComponent Set oDRWDoc = CATIA.ActiveDocument 'Schleife für alle Sheets For i = 1 To oDRWDoc.Sheets.Count Set oSheet = oDRWDoc.Sheets.Item(i) 'Ist das Sheet kein Detail-Sheet? If Not oSheet.IsDetail Then 'Schleife für alle Views im Sheet For j = 1 To oSheet.Views.Count Set oView = oSheet.Views.Item(j) 'Schleife für alle 2D-Komponenten der View For k = 1 To oView.Components.Count Set oDRWComp = oView.Components.Item(k) '2D-Komponente zerlegen oDRWComp.Explode Next k Next j End If Next i End Sub Danach noch alle Detail-Sheets händisch löschen. Gruß Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gaby75 Mitglied

 Beiträge: 17 Registriert: 20.01.2005 R12 SP5 /R14 SP6 unter WIN XP
|
erstellt am: 31. Mai. 2007 12:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo Steffen, danke für deine Mühe, aber leider bleibt der Code bei Next k hängen und gibt diese Fehlermeldung: Quelle: Kompilierungsfehler in Microsoft VBScript Beschreibung: Anweisungsende erwartet Anweisung: Next k Linie: 23 Spalte: 21 Gruß Gaby Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
 
 Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 31. Mai. 2007 12:31 <-- editieren / zitieren --> Unities abgeben:          Nur für Gaby75
|
Gaby75 Mitglied

 Beiträge: 17 Registriert: 20.01.2005 R12 SP5 /R14 SP6 unter WIN XP
|
erstellt am: 31. Mai. 2007 13:25 <-- editieren / zitieren --> Unities abgeben:         
|
gehirnsuelze Mitglied Student

 Beiträge: 58 Registriert: 16.11.2005
|
erstellt am: 07. Jun. 2007 14:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Gaby75
Hallo Leute, um mich nochmal an das Thema ranzuhängen: hab den oben gezeigten code bei mir mal durchlaufen lassen, doch leider ohne erfolg. bin auch nicht ganz hinter den syntax gestiegen. mein problem: ich möchte alle elemente vom typ "resource" zerlegen. wie ihr bereits oben bemerkt habt, geht das ja über die selektion nicht. wie komme ich denn jetzt an die ganzen polylinien usw. ran? danke für die hilfe gehirnsuelze ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |