Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Mehrere Layer markieren & 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:  Mehrere Layer markieren & kopieren (1158 mal gelesen)
Emu1989
Mitglied
Elektroplaner


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

Beiträge: 26
Registriert: 10.11.2015

AutoCAD 2018

erstellt am: 16. Dez. 2019 12:22    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

Guten Tag alle

Da es nicht möglich ist im Layermanager die Layernamen zu markieren und eine dementsprechende Auswahl auf dem Modell zu übertragen,
versuche ich dies mit einer lisp zu lösen.
Ich habe hier eine lisp zusammen gebastelt, welche jedoch nur funktioniert, wenn man einen Layer auf der Zeichnung auswählt:

(defun c:LAW ()
(setq auswahl (ssget))
(repeat (setq N (sslength auswahl))
(setq TargAus (ssname auswahl (setq N (- N 1))))
  (setq TargLay (assoc 8 (entget TargAus)))
  (sssetfirst nil (ssget "_X" (list TargLay)))
  (princ)
(command "_.copybase" "0,0,0")
  )
  (princ)
)


Kurz nochmals Zusammengefasst:
zB 3 Layer im Modell markieren -> Enter = alle Objekte im Modell werden markiert, welche die markierten Layer tragen + kopiert.

Wäre toll, wenn mir jemand helfen könnte und den Fehler findet.

Beste Grüsse
Emanuel

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 16. Dez. 2019 15:54    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 Emu1989 10 Unities + Antwort hilfreich

Hallo Emanuel,

Du weißt, dass _.copybase nur die aktuelle Auswahl in die Zwischenablage kopiert? Davon abgesehen, das sich der Befehlt auch bei mir irgendwie beim 2. Durchlauf aufhängt, hättest Du mit der Vorgehendweise nur die Objekt des letzten Layers "an der Angel".
Ich habe das ganze mal ein bisschen umgestrickt, und sammel jetzt alle Elemente aller gewählten Layer ein und übergebe diese gesammelt an _copybase.
Probiere es mal aus.

Code:

(defun c:LAW ()
  (setq auswahl (ssget) AusAlle (ssadd))
  (repeat (setq N (sslength auswahl))
    (setq TargAus (ssname auswahl (setq N (- N 1))))
    (setq AuswLay (ssget "_X" (list (assoc 8 (entget TargAus)))))
    (repeat (setq M (sslength AuswLay))
      (ssadd (ssname AuswLay (setq M (- M 1))) AusAlle)
     
    )
    (princ)
  )
  (sssetfirst nil AusAlle)
 
  (princ)
  (command "_.copybase" "0,0,0")
)

Aber ACHTUNG: ( ssget "_X" ...) sucht in der gesamten Zeichnung und findet damit auch alle Objekte in den ggf. vorhandenen Layouts!

HTH
Gruß
Thomas

[Diese Nachricht wurde von spider_dd am 16. Dez. 2019 editiert.]

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

Emu1989
Mitglied
Elektroplaner


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

Beiträge: 26
Registriert: 10.11.2015

AutoCAD 2018

erstellt am: 16. Dez. 2019 17:27    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

Hallo Spider

Super!
Jop, das mit dem _.copybase ist mir klar, soll auch so sein,
damit ich die aktuell markierte Menge sehe und auch nur diese mit ssget"_X" kopiert wird.
Werde es nochmals auseinander nehmen um es zu verstehen,
aber es funktioniert. Das erspart mir viel Zeit. Allerbesten Dank für deine Hilfe.
Gruss Emanuel

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