Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Markierte Elemente per Befehl auf neuen Layer verschieben (nicht kopieren)

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Markierte Elemente per Befehl auf neuen Layer verschieben (nicht kopieren) (477 / mal gelesen)
neo4matrix
Mitglied



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

Beiträge: 139
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 06. Mai. 2024 11:01    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


2024-05-06_10h58_52.png

 
Es gibt den super Befehl _COPYTOLAYER resp. AUFLAYKOP mit dem ich die bereits markierten Elemente auf einen neuen Layer kopieren kann. Den neuen Layer kann ich direkt im Befehl erstellen lassen. Per Dialogbox oder per Kommandozeile (_-COPYTOLAYER resp. -AUFLAYKOP). 

https://help.autodesk.com/view/ACD/2024/DEU/?guid=GUID-4327BDE7-58FB-4199-93D4-ECD356C0E89E

So weit so gut. Leider gibt es aber keinen Befehl, welcher genau das gleiche kann, aber die markierten Elemente auf einen neuen Layer VERSCHIEBT 
Dieser Befehl würde dann also MOVETOLAYER resp. AUFLAYSCHIEBEN heissen.

Vielleicht kennt jemand von Euch ein LISP, welches genau das kann?

Besten Dank und schöne Woche 

Gruss aus der Schweiz
neo

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

ArCADe-Spieler
Mitglied
Metallbautechniker


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

Beiträge: 367
Registriert: 05.12.2012

Win 10 64bit
ACAD 2017 /LT & ACAD 2022

erstellt am: 06. Mai. 2024 12:20    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 neo4matrix 10 Unities + Antwort hilfreich

Hallo Neo (und nicht immer dem weißen Kaninchen hinterher  ),

einfach STRG + 1 bzw. CTRL + 1 drücken ... toggelt das Erscheinen des Eigenschaftsfensters.

Dort in der zweiten Zeile von oben wird der Layer der aktuell markierten Elemente angezeigt ... liegen sie auf unterschiedlichen Layern steht dort *VARIIERT* ... darauf linksklicken und aus dem Dropdown-Menü den gewünschten Ziellayer auswählen.

Okay, das mit dem Verschieben auf einen noch nicht existierenden Layer würde so nicht funktionieren, aber im "Notfall" zum Parken der selektierten Elemente einen selten benutzten Layer auswählen - eventuell DEFPOINTS - und den gewünschten Layer im Nachgang erstellen (oder besser gleich vorher  ). Dann per Schnellauswahl (oben rechts im Eigenschaftsfenster) im betroffenen Bereich der Zeichnung die geparkten Elemente erneut auswählen und auf den neu erstellten Layer verschieben.

Und falls das häufiger notwendig ist, gleich in der eigenen Zeichnungsvorlage einen eigens dafür gedachten Layer anlegen ... "_ Parken" oder so ... der prinzipiell immer (leer) in der Zeichnung verbleibt oder vor dem "finalen" Abspeichern der Zeichnung mittels BEREINIG bzw. _+purge aus der Zeichnung bereinigt wird.

Grüße
Gernot

[Diese Nachricht wurde von ArCADe-Spieler am 06. Mai. 2024 editiert.]

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

CAD-Cloudy
Mitglied
Techn. Zeichnerin


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

Beiträge: 73
Registriert: 08.05.2021

Windows 10 Pro 22H2,
CAD-Modul 2022 mit VIPTOOL PIPING 23 aus VIPTOOL ENGINEERING (Versionsstand: 23.3.0 (31.08.2023)) von viega developed by LINEAR powered by AUTODESK
≙ AutoCAD OEM 2022 (Deu),
Adobe Acrobat DC
(Stand 23.06.2023)

erstellt am: 06. Mai. 2024 12:50    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 neo4matrix 10 Unities + Antwort hilfreich

Hallo neo4matrix,

wenn du nach deinem _COPYTOLAYER resp. AUFLAYKOP direkt den Befehl WAHL startest und dann V (für Vorher) eingibst sollten alle deine "alten" Objekte wieder ausgewählt sein. Nun kannst du diese einfach löschen.

Bei mir klappts so.

Vor dem Testen SPEICHERN nicht vergessen.

Gruß
CAD-Cloudy 

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9795
Registriert: 01.12.2003

AutoCAD 2.5 - 2025, Civil 3D, MAP 3D, ACADM, ACA
Inventor Prof. 2025, AIP 4-2025
Win 11

erstellt am: 07. Mai. 2024 07:43    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 neo4matrix 10 Unities + Antwort hilfreich

Kopieren und Löschen erzeugt neue Objekte und löscht die bestehenden Objekte.
Bei Datenbankanbindungen ein mögliches Problem, für die Performance  bei größeren Datenmengen auch ungünstig.
Warum nicht einfach die Eigenschaften ändern mit dem
Befehl: EIGÄNDR Layer

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

CAD-Cloudy
Mitglied
Techn. Zeichnerin


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

Beiträge: 73
Registriert: 08.05.2021

Windows 10 Pro 22H2,
CAD-Modul 2022 mit VIPTOOL PIPING 23 aus VIPTOOL ENGINEERING (Versionsstand: 23.3.0 (31.08.2023)) von viega developed by LINEAR powered by AUTODESK
≙ AutoCAD OEM 2022 (Deu),
Adobe Acrobat DC
(Stand 23.06.2023)

erstellt am: 07. Mai. 2024 08:02    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 neo4matrix 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CAD-Huebner:
...
Warum nicht einfach die Eigenschaften ändern mit dem
Befehl: EIGÄNDR Layer

Weil einen neuen Layer erstellen während des Befehls mit EIGÄNDR nicht möglich ist.

Zitat:
Original erstellt von neo4matrix:
...auf einen neuen Layer kopieren kann. Den neuen Layer kann ich direkt im Befehl erstellen lassen.
Das war doch der Wunsch, oder hab ichs falsch verstanden?

Und ja, das ist dann nicht optimal:

Zitat:
Bei Datenbankanbindungen ein mögliches Problem, für die Performance  bei größeren Datenmengen auch ungünstig.

Gruß
CAD-Cloudy 

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

cadffm
Moderator
良い精神




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

Beiträge: 22158
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 07. Mai. 2024 09:11    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 neo4matrix 10 Unities + Antwort hilfreich

Ist ja kein Problem einen neuen Layer im Makro anzulegen : Befehl: -LAYER Option Neu

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

archtools
Mitglied



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

Beiträge: 941
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 07. Mai. 2024 11:05    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 neo4matrix 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CAD-Cloudy:

Weil einen neuen Layer erstellen während des Befehls mit EIGÄNDR nicht möglich ist.

Such' mal im Forum nach SSMODENT. Das ist ein Lisp von mir, mit dem Du für jedes Objekt jeden beliebigen DXF-Gruppencode ändern kannst. Weil der DXF-Gruppencode für Layer die 8 ist, erfolgt der Aufruf so:

(ssmodent <ename> 8 "NeuerLayerName")

Der neue Layer muss vorher nicht existieren. Und die Enamen Deiner vorab ausgewählten Elemente kriegst Du mit der Lisp-Funktion SS->LIST aus (ssget "i"). Das SS->LIST ist das hier:

Code:
(defun ss->list (sset / eset counter)
  (setq counter 0)
  (if (= 'PICKSET (type sset))
    (repeat (sslength sset)
      (setq eset (cons (ssname sset counter) eset)
            counter (1+ counter)
      )
    )
  )
  eset
)

Wenn Du die paar Lisp-Funktionen geladen hast, lautet Dein Aufruf auf dem Befehlsprompt dann also nur noch:

(mapcar '(lambda (en) (ssmodent en 8 "NeuerLayerName")) (ss->list (ssget "i")))

Du kannst dann aber auch viele andere Dinge ändern, wie die Farbe der Elemente, oder Anfangspunkte von Linien, oder Einfügepunkte von Blöcken, oder die referenzierte Blockdefinition uswusf..


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

neo4matrix
Mitglied



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

Beiträge: 139
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 21. Mai. 2024 16:32    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

Vielen lieben Dank für Eure tollen Tipps und Tricks! Ihr seid ja parat wie Chuck Norris! 

Am Besten gefallen hat mir das von CAD-Cloudy: Zuerst AUFLAYKOP. Dann WAHL und V und löschen. Funktioniert super  und WAHL kannte ich noch nicht. 

Der Umweg via Layer DEFPOINTS von ArCADe-Spieler ist auch ziemlich cool 

CAD-Huebner: Korrekt. Zudem ist so die Zeichnungsreihenfolge nicht mehr die Selbe. Die Elemente wären danach alle ganz vorne.

archtools: Das war gerade etwas zu hoch für mich. Ich werde aber dein LISP mal testen, und dann komme ich ggf. klar drauf.

cadffm: Du hast mich auf folgende Idee gebracht:

Ich habe entdeckt, dass ich neue Layer transparent erstellen kann. Also nach dem ich bereits Elemente markiert habe, kann ich mit der Befehlsfolge einen neuen Layer machen, die bereits markierten Elemente auf diesen neuen Layer tun und danach sogar nach dem neuen Namen fragen 

----------
'-Layer
Machen
Neuer_Layer_1

LAYAKT
-Layer
Umbenennen
Neuer_Layer_1

----------

Daraus kann ich jetzt ein LISP oder ein Schaltflächenmakro erstellen 

Grüsse und je 10 Units gehen raus... 

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

neo4matrix
Mitglied



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

Beiträge: 139
Registriert: 15.01.2008

HP™ z2 Tower G4 Workstation mit
Intel® Core™ i9-9900K 8x 3.6 GHz-5.0 GHz
32 GB Arbeitsspeicher
1 TB HP Z Turbo PCIe® SSD
NVIDIA® Quadro® P2200 mit 5 GB RAM
HP™ 24" LPS LED TFT 16:10 ZR2440w.
Windows 10 Pro, 64 Bit
AutoCAD 2019 Design Suite Standard, SP1, 64 Bit
ecscad 2019, v19.1.0.20, 64 Bit
Microstation v8 2004, 32 Bit
MicroStation CONNECT Edition Update 11
Microsoft Office 365, 32 Bit
Microsoft Visio 2013, 32 Bit

erstellt am: 22. Mai. 2024 09:36    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


AufNeuenLayerSchieben.lsp

 
Hier mein fertiges LISP:

Code:
(defun c:AufNeuenLayerSchieben ()
  (setq MerkeAktuellenLayernamen (getvar "clayer"))
  (command-s "'-Layer" "Machen" "Neuer_Layer_1" "")
  (command-s "LAYAKT")
  (command-s "-Layer" "Umbenennen" "Neuer_Layer_1" PAUSE "")
  (command "clayer" MerkeAktuellenLayernamen)
)

und als Schaltflächenmakro:

Code:
^C^C(setq MerkeAktuellenLayernamen (getvar "clayer"));'-la;m;Neuer_Layer_1;;LAYAKT;(command "clayer" MerkeAktuellenLayernamen);-la;u;Neuer_Layer_1;

[Diese Nachricht wurde von neo4matrix am 17. Jun. 2024 editiert.]

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)2024 CAD.de | Impressum | Datenschutz