| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Zerspanungstreff mit SolidCAM bei der Hoffmann GmbH in Achim/Bremen |
Autor
|
Thema: Layer per Makro löschen (2550 mal gelesen)
|
Jörg Huber Mitglied CAD-Admin
Beiträge: 186 Registriert: 12.11.2001 HP Z4 G4, 6 Core 3.6 GHz Intel Xeon, 32 GB DDR-RAM, NVidia Quadro P4000, WIN 10 pro 64bit, SWX 2017 Office Premium SP5.0, MaxxDB 2017 SP 1, SpacePilotPRO, Logitech Cordless Mouse M705, 2x HP Z27 4K
|
erstellt am: 16. Aug. 2010 08:48 <-- editieren / zitieren --> Unities abgeben:
Moin zusammen, hin und wieder importieren wir Zeichnungen aus unserem alten 2D-System. Dabei werden zig Layer in der Zeichnung angelegt, die niemand benötigt. Hat jemand eine Idee oder sogar schon ein fertiges Makro um diese Layer zu löschen? Danke und Gruss. ------------------ J. Huber Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SLDW-FEM Mitglied Simulations-Ingenieur
Beiträge: 640 Registriert: 21.02.2005 Solidworks 2017+2019+20+22 SpaceClaim Windows 11 64bit HP-ZBook 32gbRAM NVIDIA
|
erstellt am: 16. Aug. 2010 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für Jörg Huber
Hallo typischerweise ist das ne Augabe für den Solidworks-DWG-Editor (wurde umbenannt in 2d-editor) => dort mal anschauen: a) Layer-explorer b) Befehl purge (die 2006-Version konnte keine verschachtelten Blöcke auflösen) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jörg Huber Mitglied CAD-Admin
Beiträge: 186 Registriert: 12.11.2001 HP Z4 G4, 6 Core 3.6 GHz Intel Xeon, 32 GB DDR-RAM, NVidia Quadro P4000, WIN 10 pro 64bit, SWX 2017 Office Premium SP5.0, MaxxDB 2017 SP 1, SpacePilotPRO, Logitech Cordless Mouse M705, 2x HP Z27 4K
|
erstellt am: 16. Aug. 2010 14:41 <-- editieren / zitieren --> Unities abgeben:
Sorry, aber den Befehl Purge kann ich leider nicht finden. Wir haben den DWG-Editor 2009 SP5.0 im Einsatz, dort hab ich den Layer-Explorer zwar gefunden, aber leider keine entsprechende Funktion. ------------------ J. Huber Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 16. Aug. 2010 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für Jörg Huber
Hallo Jörg "purge" ist keine Option oder so beim Layermanager, sondern ein Befehl, den Du einfach in der Befehlszeile über die Tastatur eingibst. Wenn Du "purge" eingibst kommt noch eine Abfrage mit Optionen, in Deinem Fall "LA" "ENTER" und "*" "ENTER" eingeben.
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 16. Aug. 2010 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für Jörg Huber
hier ein Schnipsel ... Code:
Dim vLayerList As Variant 'alle Layer löschen Set LayerMgr = DrawingDoc.GetLayerManager vLayerList = LayerMgr.GetLayerList() If Not IsEmpty(vLayerList) Then For k = 0 To UBound(vLayerList) SwApp.Frame.SetStatusBarText ("Layer: " & k & " von " & UBound(vLayerList)) retval = LayerMgr.DeleteLayer(vLayerList(k)) Next k End If
------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jörg Huber Mitglied CAD-Admin
Beiträge: 186 Registriert: 12.11.2001 HP Z4 G4, 6 Core 3.6 GHz Intel Xeon, 32 GB DDR-RAM, NVidia Quadro P4000, WIN 10 pro 64bit, SWX 2017 Office Premium SP5.0, MaxxDB 2017 SP 1, SpacePilotPRO, Logitech Cordless Mouse M705, 2x HP Z27 4K
|
erstellt am: 16. Aug. 2010 16:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Heinz, soweit so gut, aber mit der Eingabe "*" passiert leider gar nichts. Zitat: Original erstellt von nahe: Hallo Jörg"purge" ist keine Option oder so beim Layermanager, sondern ein Befehl, den Du einfach in der Befehlszeile über die Tastatur eingibst. Wenn Du "purge" eingibst kommt noch eine Abfrage mit Optionen, in Deinem Fall "LA" "ENTER" und "*" "ENTER" eingeben.
------------------ J. Huber [Diese Nachricht wurde von Jörg Huber am 16. Aug. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jörg Huber Mitglied CAD-Admin
Beiträge: 186 Registriert: 12.11.2001 HP Z4 G4, 6 Core 3.6 GHz Intel Xeon, 32 GB DDR-RAM, NVidia Quadro P4000, WIN 10 pro 64bit, SWX 2017 Office Premium SP5.0, MaxxDB 2017 SP 1, SpacePilotPRO, Logitech Cordless Mouse M705, 2x HP Z27 4K
|
erstellt am: 16. Aug. 2010 16:22 <-- editieren / zitieren --> Unities abgeben:
Hallo uc, danke für den Schnipsel. Nur leider bin ich in der Makroprogrammierung nicht so bewandert als dass ich dieses Schnipsel brauchbar umsetzen könnte. Zitat: Original erstellt von u.clemens: hier ein Schnipsel ...
Code:
Dim vLayerList As Variant 'alle Layer löschen Set LayerMgr = DrawingDoc.GetLayerManager vLayerList = LayerMgr.GetLayerList() If Not IsEmpty(vLayerList) Then For k = 0 To UBound(vLayerList) SwApp.Frame.SetStatusBarText ("Layer: " & k & " von " & UBound(vLayerList)) retval = LayerMgr.DeleteLayer(vLayerList(k)) Next k End If
------------------ J. Huber Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 17. Aug. 2010 07:56 <-- editieren / zitieren --> Unities abgeben: Nur für Jörg Huber
Hallo Jörg was meinst Du mit "passt gar nich"? blöde Frage aber lässte Du die " eh weg? der Stern (*) steht wie unter DOS für alle Layer löschen Hier könntest Du auch einen Layernamen angeben. ------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jörg Huber Mitglied CAD-Admin
Beiträge: 186 Registriert: 12.11.2001 HP Z4 G4, 6 Core 3.6 GHz Intel Xeon, 32 GB DDR-RAM, NVidia Quadro P4000, WIN 10 pro 64bit, SWX 2017 Office Premium SP5.0, MaxxDB 2017 SP 1, SpacePilotPRO, Logitech Cordless Mouse M705, 2x HP Z27 4K
|
erstellt am: 17. Aug. 2010 08:06 <-- editieren / zitieren --> Unities abgeben:
Moin Heinz, natürlich lasse ich die " weg. Es wird aber definitiv kein Layer gelöscht, statt dessen steht in der Befehlszeile "Keine unreferenzierten Bemaßungsarten." Wenn ich im DWG-Editor die Layer einzeln lösche, ist ja aber auch der Inhalt auf dem Layer weg. Deshalb suche ich ja nach einer Lösung, um diese Layer nach dem Import in SWX zu löschen, denn da bleibt der Inhalt erhalten. Zitat: Original erstellt von nahe: Hallo Jörgwas meinst Du mit "passt gar nich"? blöde Frage aber lässte Du die " eh weg? der Stern (*) steht wie unter DOS für alle Layer löschen Hier könntest Du auch einen Layernamen angeben.
------------------ J. Huber Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 17. Aug. 2010 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für Jörg Huber
Hallo nochmals sorry, scheinbar funktioniert purge nicht so wie es sollte. Du könntest aber auch mal die Option T für Batch versuchen, ACHTUNG: dann werden aber alle nicht benötigten Elemente gelöscht. Vielleicht ist das eine Lösung für Dich
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 17. Aug. 2010 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Jörg Huber
Noch ein Nachtrag ich hab mir "DraftSight" runter geladen und damit klappt das wie gewünscht. PS DraftSight sieht so auf den ersten Blick sehr gut aus (gefällt mir auf jeden Fall besser als der 2DEditor) das Einzige was mir fehlt ist eine API bzw. LISP Schnitstelle
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jörg Huber Mitglied CAD-Admin
Beiträge: 186 Registriert: 12.11.2001 HP Z4 G4, 6 Core 3.6 GHz Intel Xeon, 32 GB DDR-RAM, NVidia Quadro P4000, WIN 10 pro 64bit, SWX 2017 Office Premium SP5.0, MaxxDB 2017 SP 1, SpacePilotPRO, Logitech Cordless Mouse M705, 2x HP Z27 4K
|
erstellt am: 18. Aug. 2010 16:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Heinz, danke erstmal für Deine Mühe. Ich habe mir das DraftSight auch mal angeschaut, kann dort aber nur Layer löschen, die keine referenzierten Elemente haben. In SWX aber kann ich einfach alle Layer nach dem Import löschen und die Elemente bleiben erhalten. Und das Löschen von Hand ist eben etwas mühsam, da es bis zu 10 Layer sind und jeder einzeln gelöscht werden muss.
Zitat: Original erstellt von nahe: Noch ein Nachtragich hab mir "DraftSight" runter geladen und damit klappt das wie gewünscht. PS DraftSight sieht so auf den ersten Blick sehr gut aus (gefällt mir auf jeden Fall besser als der 2DEditor) das Einzige was mir fehlt ist eine API bzw. LISP Schnitstelle
------------------ J. Huber Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |