| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | KISTERS 3DViewStation: verbesserte Effizienz durch optimierte Bedienoberfläche, eine Pressemitteilung
|
Autor
|
Thema: Auswahl zweier Zeichnungen zum kopieren einer Ansicht (1444 mal gelesen)
|
Ex-Mitglied

|
erstellt am: 09. Okt. 2008 20:51 <-- editieren / zitieren -->
Hallo zusammen, ich suche eine elegante Möglichkeit, aus zwei nebeneinanderliegenden Zeichnungen eine auszuwählen. Hintergund: Ich arbeite an einem CATVBA-Makro, das eine komplette Ansicht von einer Zeichnung in eine andere zu kopiert und vorhandene MML-Links beseitigt. Letzteres ist auch unter beibehaltung der Ditto-Strukturen (verschachtelte Dittos) kein Problem. Das ist zwar wegen der Unart CATIAs, Details und Dittos jedesmal umzubenennen, mühsam, aber kein Problem. Auch Details die bereits vorhanden sind, werden wieder verwendet. Das letzte Problem, was es für mich zu lösen gilt, ist die Auswahl der beiden Zeichnungen als Quell- oder Zielzeichnung. Der rest läuft bereits problemlos ab - wenn auch für mich viel zu langsam. Kann mir jemand einen Tipp geben, wie ich die beiden Drawings so auswählen kann, daß sie richtig zugeordnet werden können? Viele Grüße, CEROG ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? |
ogard1 Mitglied Verfahrenstechniker
 
 Beiträge: 442 Registriert: 12.09.2004 R19 SP2
|
erstellt am: 10. Okt. 2008 08:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo Roland, es gibt ein Macro vom Dassault "CAADriDuplicateView hier ein Auszug vielleicht hilft dir schon weiter ' Create an object of selection for the source document Dim oSelectionSource As Selection Set oSelectionSource = oDrawingSource.Selection
' Create the Drawing document Target Dim oDrawingTarget As DrawingDocument Set oDrawingTarget = CATIA.Documents.Add("Drawing") ' Create an object of selection for the source document Dim oSelectionTarget As Selection Set oSelectionTarget = oDrawingTarget.Selection Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 10. Okt. 2008 19:42 <-- editieren / zitieren -->
|
Ex-Mitglied

|
erstellt am: 10. Okt. 2008 19:53 <-- editieren / zitieren -->
|
ogard1 Mitglied Verfahrenstechniker
 
 Beiträge: 442 Registriert: 12.09.2004 R19 SP2
|
erstellt am: 10. Okt. 2008 20:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo Roland, ich dachte auch nicht das Komplettes Macro zu gebrauchen ist sondern nur teil des Codes. das mit öffnen den neuen Draw kannst du ändern, und die Hart Kodierung auch in ActiveDocument Wie gehst vor, öffnest die beiden Drawings, legst die neben ein anderen, selektierst ein View oder mehrere, Aktivierst das andere Draw wählst den Blatt und Paste oder ? Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 10. Okt. 2008 20:43 <-- editieren / zitieren -->
Hallo Ogard, ActiveDocument hilft nicht, da nicht sichergestellt ist, in welcher Rreihenfolge die Zeichnungen geöffnet werden. Das Document.Add kann ich auch nicht gebrauchen, da es sein kann, daß die Ansicht in eine bereits bestehende Zeichnung kopiert werden sollen. Bleibt wohl nur meine Lösung Indicate2D. Ich gehe so vor: - Beide Zeichnungen öffnen und nebeneinanderlegen. - Ein "Dummy"-Dokument als CATIA.ActiveDocument definieren - Dann Status=Document.Indicate2D("select a location into the drawing window",DrawingWindowLocation) (aus der Doku.) - Quellzeichnung indizieren - Der Status kann den Wert "Cancel" bekommen. wenn der Auftaucht, wird dem Status "Mouse Move" zugewiesen. - Das gleiche für die Zielzeichnung. Danach wird noch angezeigt, was wohin kopiert wird. Die Quellzeichnung muß vorher bearbeitet werden. Sie darf nur eine Ansicht enthalten - abgesehen von "Main View" und "Background View". Bei der Zielzeichnung arbeite ich mit einem Hilfsblatt, auf das die Vorderansicht kopiert wird. Bei mir geht es darum komplette Maschinenlinien in Zeichnungen für Hallenlayouts zu bringen. Die 2D-Komponenten müssen erhalten bleiben, damit die Zeichnung nicht so aufgebläht wird. Außerdem ist es besser, eine einzelne Maschine in eine 2D-Komponente zu kopieren, damit sie komplett verschoben werden kann. Ich muß nur noch sehen, wie ich die Performance in einen brauchbaren Bereich bekomme. Das heißt im unteren einstelligen Minutenbereich für 20-25MB. Viele Grüße, CEROG ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5
Wie stelle ich meine Fragen richtig? |
ogard1 Mitglied Verfahrenstechniker
 
 Beiträge: 442 Registriert: 12.09.2004 R19 SP2
|
erstellt am: 12. Okt. 2008 12:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo Roland, vielleicht kann man etwas mit "Macro Parametern" machen habe es versucht leider ohne gewünschten Erfolg vielleicht kannst du damit anfangen. die Idee ist nach dem öffnen der 2 Bauteile zwei Parameter "String" definieren für Quelle und Ziel Drawing, die Value ist "Drawing" Sub CatMain (Source , Target) die Quelle und Ziel Drawing selektieren, die werte dann zwischenspeichern und an Selection übergeben. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 12. Okt. 2008 14:10 <-- editieren / zitieren -->
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |