Autor
|
Thema: Sheet Background löschen (3581 mal gelesen)
|
tobiley Mitglied Masterstudent
Beiträge: 59 Registriert: 15.02.2010 Win XP CatiaV5 R17, R18, R19 HD2-Lizenz VB2008
|
erstellt am: 22. Mrz. 2012 23:01 <-- editieren / zitieren --> Unities abgeben:
|
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 23. Mrz. 2012 01:44 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
Hallo tobiley, die simpelste Programmierung wäre aus meiner Sicht folgende: Code: Option ExplicitSub CATMain() Dim Doc As DrawingDocument Dim Sel As Selection Dim sSheet As DrawingSheet Set Doc = CATIA.ActiveDocument Set Sel = Doc.Selection For Each sSheet In Doc.Sheets Sel.Clear Sel.Add sSheet.Views.Item(2) If Sel.Count2 > 0 Then Sel.Delete End If Next End Sub
Einfach als z.B. "Delete_Background.CATScript" speichren und schon kannst Du im in allen Blättern im aktiven CATDrawing die "Background-Views" leeren. Wenn Du nur die aktuelle View bearbeiten willst, lautet der Code so: Code: Option ExplicitSub CATMain() Dim Doc As DrawingDocument Dim Sel As Selection Set Doc = CATIA.ActiveDocument Set Sel = Doc.Selection Sel.Clear Sel.Add doc.Sheets.ActiveSheet.Views.Item(2) If Sel.Count2 > 0 Then Sel.Delete End If End Sub
mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ferdo Mitglied engineer
Beiträge: 34 Registriert: 15.04.2009 Windows 7, 64 CATIA v5r25 , 3DEXPERIENCE on cloud
|
erstellt am: 24. Mrz. 2012 20:03 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
Hallo, Es gibt ein kleines Problem nach dem Ausführen deine Makros, ich kann nicht auf das Background Sheet. Hier ist meine Version in CATScript. ' ============================================================== ' Purpose: DeleteAllInBackground.CATScript - All elements in background view in the drawing will be deleted ' Usage: 1 - A CATDrawing document must be active with elements in background view ' 2 - Run macro ' Author: ferdo (Disclaimer: You use this code at your own risk) ' =============================================================== Sub CATMain() Dim drwdoc As DrawingDocument Dim drwsheets As DrawingSheets Dim drwsheet As DrawingSheet Dim drwviews As DrawingViews Dim drwview As DrawingView Set drwdoc = CATIA.ActiveDocument Set drwsheets = drwdoc.Sheets Set drwsheet = drwsheets.ActiveSheet Set drwviews = drwsheet.Views drwviews.Item("Background View").Activate Dim mySelection As Selection Set mySelection = drwdoc.Selection mySelection.Search "Drafting.View.Name='Background View' " mySelection.Search "Type=*,scr" mySelection.Remove (1) mySelection.Delete drwviews.Item("Main View").Activate End Sub ------------------ Best regards Fernando Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 25. Mrz. 2012 03:20 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
Hallo ferdo, normalerweise reagiere ich nicht auf solche plumpen Provokationen, doch heute, ich entschuldige mich bei allen im voraus, ist mir einfach danach... Also: Schön wäre es gewesen, wenn Du Dein Problem geschildert hättest und wir hier die entsprechenden Lösungen hätten aufzeigen können. Wie ich schon schrieb, war das die 'simpelste Programmierung', was impliziert, dass nicht alle auftretenden Konfigurationen und Fehlermöglichkeiten behandelt wurden. Nun zu Deinem Code! Ich schalte mal den "Besserwisser-Modus" ein und nehme Deinen Code auseinander: 1.) Wenn ich CATIA V5R19 mit deutscher Sprachumgebung benutze, stürtzt Dein Code in der Zeile: Code: mySelection.Search "Drafting.View.Name='Background View' "
ab. Upps, hat da jemand die Sprach-Umgebungen etwa nicht berücksichtigt?2.) Was willst Du denn mit folgendem Code? Code: mySelection.Remove (1)
3.) Was ist mit den "Background-View"'s der anderen Views? Warum werden diese nicht gelöscht, wenn die Sprachumgebung "Englisch" ist?Gut, nun schalte ich den "Besserwisser-Modus" wieder aus. Wie Du siehst, ist es einfach, zu kritisieren, aber schwer, Fakten zu bringen und das ganze Problem neutral, kurz und alles abdeckend zu lösen. Ich konnte Dein Problem leider nicht nachstellen, da auch bei Deaktivierung der Bearbeitung der "Background-View" mein Makro-Vorschlag in meinen Tests funktionierte. Daher würde ich Dich bitten, (im Interesse aller Mitlesenden,) Dein Problem noch einmal korrekt zu beschreiben, um hier eine Lösung zu finden und nicht nur ein Script zu präsentieren, dass schon seine erste Bewährungsprobe nicht besteht! mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ferdo Mitglied engineer
Beiträge: 34 Registriert: 15.04.2009 Windows 7, 64 CATIA v5r25 , 3DEXPERIENCE on cloud
|
erstellt am: 25. Mrz. 2012 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
Hallo, Es tut mir leid, es war keine Absicht, zu kritisieren, ich sagte was passiert mit mir (in einer Version mit englischer Sprache CATIA - sorry, vergaß zu erwähnen). Im Skripte mit deutschen Worten / Befehlen laufen ohne Probleme in einem CATIA mit der Englischen Sprache , um ehrlich zu sein ich hatte erwartet, um die gleiche sein für die Deutsche Sprache CATIA Ich schätze den Wert dieses Forum, ich habe gelernt viele Dinge hier. Nach dem Ausführen deine Makros-Version (Arbeit geleistet wurde, löschen Sie alles, kein Problem) Ich habe keinen Zugriff auf Hintergrund Blatt , es gibt keine error, einfach ich kann nicht erneut eingeben im Hintergrund Blatt ( mit normalen CATIA commands), kann nicht verstehen warum. In der Tat ist weder mein Makro perfekt, Ich stimme zu, es kann verbessert werden und nach mit spezifischen Bedürfnissen angepasst werden, versteht sich. Sorry für Fehlers, ist ein Google-Übersetzung, mit kleinen Änderungen gemacht von mir , ich Hoffnung ist klar genug ------------------ Best regards Fernando Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 25. Mrz. 2012 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
Servus Ich hab mir das ganze auch mal näher angeschaut. Bei Lusilnies Code wird bei mir auch (R19SP08 auf Deutsch) die gesamte Background View aus der View-Collection gelöscht, und lässt sich somit auch nicht mehr ansprechen bzw dort hin wechseln. Zu ferdos Code: Ich hatte verstanden das der Code so funktionieren soll: Hintergrund selektieren, innerhalb der Selektion alle Elemente (Type=*) suchen, die View (Element 1) aus der Selektion entfernen und dann die Selektion löschen. Der Code hat aber einige Fehler, bei deren Bereinigung ich aber auf weitere Probleme gestoßen bin (und dann aufgehört habe) Was mich sehr wundert, ist dass Lusilnies Code (von dem im beim Lesen des Codes keine Probleme erwartet hätte) bei manchen läuft und bei manchen nicht. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Mrz. 2012 15:12 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
|
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 26. Mrz. 2012 01:27 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
Hallo allerseits, so wird die Diskussion doch fruchtbar und bringt die Probleme und die Lösungen dazu hervor! @ferdo: Durch Deinen zweiten Beitrag wird das Problem des Skriptes erfolgreich beschrieben und wir können die Randbedingungen besser bestimmen und eine Lösung erarbeiten. Nach einigen Test habe ich ich entschlossen, Deine "Remove"-Zeile mit einzubauen, da ich keine geeigneten Suchkriterien gefunden habe. Der überarbeitete Code für alle Sheets lautet nun so: Code: Option ExplicitSub CATMain() Dim Doc As DrawingDocument Dim Sel As Selection Dim sSheet As DrawingSheet Set Doc = CATIA.ActiveDocument Set Sel = Doc.Selection For Each sSheet In Doc.Sheets Sel.Clear Sel.Add sSheet.Views.Item(2) Sel.Search "Type=*,sel" If Sel.Item2(1).Type = "DrawingView" Then Sel.Remove (1) End If If Sel.Count2 > 0 Then On Error Resume Next Sel.Delete On Error Goto 0 End If Next End Sub
bzw. für das Löschen der Background-View des aktuellen Blattes:Code: Option ExplicitSub CATMain() Dim Doc As DrawingDocument Dim Sel As Selection Set Doc = CATIA.ActiveDocument Set Sel = Doc.Selection Sel.Clear Sel.Add doc.Sheets.ActiveSheet.Views.Item(2) Sel.Search "Type=*,sel" If Sel.Item2(1).Type = "DrawingView" Then Sel.Remove (1) End If If Sel.Count2 > 0 Then On Error Resume Next Sel.Delete On Error Goto 0 End If End Sub
Damit sollte die Background-View erhalten bleiben. Ausgegangen wird hier von der Annahme, dass durch die Selection der Background-View diese auch das erste Element in der Slektion bleibt. mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ferdo Mitglied engineer
Beiträge: 34 Registriert: 15.04.2009 Windows 7, 64 CATIA v5r25 , 3DEXPERIENCE on cloud
|
erstellt am: 26. Mrz. 2012 18:44 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
Hallo, Super, auf meinem "English" CATIA funktioniert sehr gut, ist Löschen auch Bilder und title block, mein Makro-Version ist nicht Löschen diese. Vielen Dank für die Verbesserung. ------------------ Best regards Fernando Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tink Mitglied ENGINEER
Beiträge: 1 Registriert: 29.03.2012
|
erstellt am: 29. Mrz. 2012 08:27 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
|
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 29. Mrz. 2012 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
|
ferdo Mitglied engineer
Beiträge: 34 Registriert: 15.04.2009 Windows 7, 64 CATIA v5r25 , 3DEXPERIENCE on cloud
|
erstellt am: 29. Mrz. 2012 20:42 <-- editieren / zitieren --> Unities abgeben: Nur für tobiley
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|