Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layer-Problem

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:  Layer-Problem (494 mal gelesen)
Erich Klein
Mitglied



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

Beiträge: 27
Registriert: 25.03.2008

erstellt am: 15. Jul. 2008 22: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

Hallo an alle,

ich habe ein Problem mit Layern in einer Zeichnung. Ich konnte mir nicht vorstellen, dass der Sachverhalt zu einem Problem führen kann, aber leider ist es so.
Ich habe eine Zeichnung mit folgenden Layer-Namen:
01_tisch
02_stuhl
03_schrank
04_sessel

Ich versuchte mit einer Lisp-Routine zuerst alle Layer auszuschalten, dann den Layer 01_tisch wieder einzuschalten und auf diesem Layer wieder etwas zu zeichnen. Dies ist mit der Lisp-Routine nie gelungen. Das gleiche Problem besteht auch bei den anderen Layern.

Wie soll der Lisp-Code aussehen, damit AutoCAD alle Layer ausschaltet und nur Layer 01_tisch wieder einschaltet. Ich darf keine Layerbezeichnungen verwenden, die nur aus Zahlen bestehen (z.B. 1 oder 50).

Für eine Unterstützung danke ich Euch im voraus.

Gruß Erich

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

proyectista
Mitglied
Technische Zeichnerin


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

Beiträge: 39
Registriert: 23.02.2008

Xeon E5530 2.4Ghz
4 GB RAM
Windos 7 / 64bits
Civil 3D 2011

erstellt am: 16. Jul. 2008 03:37    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 Erich Klein 10 Unities + Antwort hilfreich

also wenn ich Dich richtig verstehe,
koennte das so gehen:

(command "-layer" "off" "*" "y" "")
(command "-layer" "on" "01_tisch" "s" "01_tisch" "")

oder so: (hier fehlt, den current layer zu setzen)

(setq ent (entget (tblobjname "LAYER" (cdr(assoc 2 (tblnext "LAYER" 1))))))
(while ent
(setq ent (subst (cons 62 (* -1(cdr(assoc 62 ent)))) (assoc 62 ent) ent))
(entmod ent)
(setq ent (entget (tblobjname "LAYER" (cdr(assoc 2 (tblnext "LAYER"))))))
) ; end while
(setq ent (entget (tblobjname "LAYER" "01_tisch")))
(setq ent (subst (cons 62 (* -1(cdr(assoc 62 ent)))) (assoc 62 ent) ent))
(entmod ent)

------------------
Jovi (sin Bon).

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 16. Jul. 2008 07:49    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 Erich Klein 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von proyectista:
also wenn ich Dich richtig verstehe,
koennte das so gehen:

(command "-layer" "off" "*" "y" "")
(command "-layer" "on" "01_tisch" "s" "01_tisch" "")


Da die meisten Mitleser hier ein deutsches Autocad haben werden
internationalisiere ich mal die Commands:
(command "_-layer" "_off" "*" "_y" "")
(command "_-layer" "_m" "01_tisch" "_on" "01_tisch" "")

man kann auch alles in ein command packen
(command "_-layer" "_off" "*" "_y" "_m" "01_tisch" "_on" "01_tisch" "")


Die Option _m hab ich gewählt, falls der Layer 01_itsch noch nicht existiert, dann wird er angelegt und aktuell gesetzt, so dass die Option _on nicht ins Leere läuft.
------------------
      - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 16. Jul. 2008 08:17    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 Erich Klein 10 Unities + Antwort hilfreich

Morgen,
habe da auch noch ein paar Zeilen zum spielen 

;;(lay "deinlayer")
(defun Lay (name /)
  (setq acad (vlax-get-acad-object)
doc  (vla-get-activedocument acad)
lays (setq lays (vla-get-layers doc))
obj  (vla-item lays name)
  )
  ;;(vla-put-layeron obj :vlax-true);Layer an
  (vla-put-layeron obj :vlax-false);Layer aus
  ;;(vla-put-activelayer doc obj);Layer activ
)

mfg heiko

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

Erich Klein
Mitglied



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

Beiträge: 27
Registriert: 25.03.2008

erstellt am: 16. Jul. 2008 12:23    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 Jovi, Thomas und Heiko,

ich danke Euch für Eure schnelle Hilfe. Mit den mir übermittelten Informationen und Lisp-Codes ist das Problem restlos und super erledigt.

Erich

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