Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layer ausschalten mit objektwahl

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 ausschalten mit objektwahl (2317 mal gelesen)
MonikaB
Mitglied
Metallbauzeichnerin


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

Beiträge: 198
Registriert: 28.04.2006

Windows XP (Englisch)
AutoCAD 2006/2007 (Englisch)

erstellt am: 02. Mai. 2006 17:18    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

Ich habe mir versucht eine kleine LSP datei zu basteln um einen Layer mit der objektwahl auszuschalten.
aber es klappt einfach nicht.

Kann mir jemand weiterhelfen

(defun c:Layerhide ()
    (command "-layer" "off" "_select" "")
)

PS: Bin eine absollte beginnerin mit lsp


Gruss Moni

------------------
Moni

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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 02. Mai. 2006 17: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 Nur für MonikaB 10 Unities + Antwort hilfreich

Hi Moni,

herzlich willkommen auf cad.de/augce.de !

Kennst du die Express-Tools ? Wenn ja - da ist sowas fertig dabei; wenn nein: Solltest du unbedingt kennenlernen >>> www.expresstools.de

------------------
Grüsse

Thomas

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

RoccoRalle
Mitglied



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

Beiträge: 52
Registriert: 24.04.2006

erstellt am: 02. Mai. 2006 18:52    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 MonikaB 10 Unities + Antwort hilfreich

Hi

hier ein kleines Tool, wie ich es verwendet habe.

Läuft auf Acad 14 bis 2007!
(defun c:Laus ( / o_satz ent e txt text la i)
  (princ "\nLayer aus von Objekte: ")
    (setq o_satz (ssget))
    (setq la (getvar "clayer"))
    (setq text "" i 0)
    (repeat (sslength o_satz)
        (setq ent (ssname o_satz i))
        (setq e (entget ent))
        (setq txt  (cdr (assoc 8 e)))
        (if (/= txt la)
        (setq text (strcat text "," txt) ) )
        (setq i (+ i 1))
    )
    (command "layer" "_off" text "")
  ))
  (princ)
)


Viel Spaß damit!

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 02. Mai. 2006 18:57    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 MonikaB 10 Unities + Antwort hilfreich

Hi,
was willste denn machen?
# EIN Objekt anklicken der entsprechende Layer wird ausgeschaltet. Funktionsende.

# Das o.g. in einer Schleife. (Immer weiter fragen und ausschalten)

# Eine Anzahl Objekte wählen und danach werden alle korrespondierenden Layer ausgeschaltet.

Da kann man durchaus unterschiedliche Ansätze haben...

Grundsätzlich ist das zwar in den ETools schon  drinnen aber als Übungsaufgabe schon mal ganz nett.

------------------
Ciao,
Marc

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

MonikaB
Mitglied
Metallbauzeichnerin


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

Beiträge: 198
Registriert: 28.04.2006

Windows XP (Englisch)
AutoCAD 2006/2007 (Englisch)

erstellt am: 03. Mai. 2006 08:40    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 RoccoRalle

danke für dein leines tool.
prima  

genau das wollte ich machen. (linie anklicken und der Layer der linie wird ausgeblendet)

Ja da hätte ich wohl noch lang mit meiner LSP üben können.
Sieht so haus als wäre das nicht so einfach zu lernen.

Eine frage noch.
Ich habe bereits einen knopf mit dem ich einen bestimmten layer ausschalten kann. ^C^C-layer;off;"layername";y;;

Wenn ich den layer wieder sichtbar machen will muss ich in meine layerliste und die lampe einschalten.

nun zur frage:
kann man den knopf so machen wie eine art EIN und AUS schalter??
Oder geht das nur mit LSP???

Gruss Moni

------------------
Moni

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: 03. Mai. 2006 08: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 MonikaB 10 Unities + Antwort hilfreich

das würde u.a. mit folgenden gehen:

(defun ToggleLayer(LAYERNAME / DATA)
  (and(=(type LAYERNAME)'STR)
      (setq DATA (tblobjname "LAYER" LAYERNAME))
      (setq DATA (entget DATA))               
      (entmod(subst (cons 62 (*(cdr(assoc 62 DATA))-1))(assoc 62 DATA)DATA))
  )
)

Aufruf ist dann z.B: (togglelayer "0")  und der sollte sich dann auch auf einen Button legen lassen ( evtl mit (autoload..) vorher

------------------
  - 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

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: 21533
Registriert: 03.06.2002

Alles

erstellt am: 03. Mai. 2006 09:00    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 MonikaB 10 Unities + Antwort hilfreich

@Moni, das ist nicht so einfach (zu verstehen), man müßte den aktuellen Status
des Layers abfragen, dazu mußt du in TABLE LAYER rumwursteln usw.

Schau dir mal 1. Expresstools - Menü LAYER an (gibt auch Werkzeugkasten)
ab Acad2007 ist der in Acad enthalten und nennt sich "Layer II"
Zudem gibt es seit Acad2002 einen Button bei dem Layer-Dropdown Menü mit
dem Befehl "Layer vorher" - dahinter steckt der Acad Befehl "layerp" .
Dieser stellt Änderungen an den Layereigenschaften wieder her - hast
du zuletzt einen Layer ausgeschaltet, so schaltet er ihn wieder ein.
Aber auch Farbänderungen an Layer sind Änderungen, also daran denken 


Eine "Toggle-Schaltung" würde man ggf. mit "IF" realisieren.

(if dashierderFallist
  Soll das hiergemachtwerden
  ansonstendashier
)

(cdr(assoc 62 (entget(tblobjname "LAYER" "Layer1"))))
Zeigt dir die Farbnummer des Layer "Layer1" , ist die
kleiner als 0 (negativer Wert) so ist der Layer aUSgeschaltet.

Dies ist in der Entwicklerhilfe unter "LAYER" erklärt.
(Suchbegriff= LAYER DXF)

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

MonikaB
Mitglied
Metallbauzeichnerin


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

Beiträge: 198
Registriert: 28.04.2006

Windows XP (Englisch)
AutoCAD 2006/2007 (Englisch)

erstellt am: 03. Mai. 2006 09: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

Hallo CADmium

Danke für deine Antwort

also ich habe die datei mit appload geladen
und dann versucht den befehl togglelayer"Text__50" mein layer auszuschalten.
(Text__50 ist der layer den ich ein und ausschalten will)
Aber es geht irgenwie nicht.

Muss ich der LSP auch noch irgendwo den layer hineinschreiben??

Gruss Moni

------------------
Moni

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: 03. Mai. 2006 09:19    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 MonikaB 10 Unities + Antwort hilfreich

(togglelayer "Text__50")

mit Klammern ist der richtige Aufruf!!

------------------
  - 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

MonikaB
Mitglied
Metallbauzeichnerin


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

Beiträge: 198
Registriert: 28.04.2006

Windows XP (Englisch)
AutoCAD 2006/2007 (Englisch)

erstellt am: 03. Mai. 2006 09:59    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

Ok das habe ich nicht gemacht!
nun geht das tool.    

Merci Cadmium

------------------
Moni

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: 03. Mai. 2006 10:03    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 MonikaB 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MonikaB:
Ok das habe ich nicht gemacht!

Tja, Internet mit Fremdrechner-Log-Einsicht ist schon was feines 

------------------
  - 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

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: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 23. Mai. 2006 14:51    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 MonikaB 10 Unities + Antwort hilfreich

Als brauchbare Alternative geht auch der Befehl _LAYERP (rechts neben der Layerklappleiste im Werkzeugkasten LAYER)
Zitat:
aus der AutoCAD Hilfe:
Befehlszeile: layerv
Macht Änderungen rückgängig, die Sie an Layereigenschaften (beispielsweise Farbe oder Linientyp) vorgenommen haben. Wenn die Einstellungen wiederhergestellt werden, wird die folgende Meldung eingeblendet: „Status „Vorherige Layer“ wiederhergestellt“....


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

Udo Hübner

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

Molzer
Mitglied



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

Beiträge: 32
Registriert: 26.12.2006

erstellt am: 26. Dez. 2006 18: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 MonikaB 10 Unities + Antwort hilfreich

Hallo!!

und wie würde es funktionieren wenn ich drei oder vier layer hätte?

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: 26. Dez. 2006 19:28    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 MonikaB 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von Molzer:
Hallo!!

und wie würde es funktionieren wenn ich drei oder vier layer hätte?


1.Willkommen als Aktivposter!
2.Was willst du mit 3 oder 4 Layern machen ? Geinsam "an" und "Aus"-Schalten, egal ob unterschiedliche Anfangszustände ?.. oder 4 Layer, die entsprechend ihrem jeweiligen Stand umgeschaltet werden?

Letzteres würde z.B. so funktionieren(ungetestet da so hier reingeschrieben):
(defun ToggleLayers(LAYERLIST / DATA)
  (if(=(type LAYERLIST)'LIST)
    (foreach LAYERNAME LAYERLIST   
    (and(=(type LAYERNAME)'STR)
        (setq DATA (tblobjname "LAYER" LAYERNAME))
        (setq DATA (entget DATA))             
        (entmod(subst (cons 62 (*(cdr(assoc 62 DATA))-1))(assoc 62 DATA)DATA))
    )
    )
  )
)

--> Aufruf (ToggleLayers '("0" "LAYER1" "LAYER2"))
------------------
      - 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

Molzer
Mitglied



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

Beiträge: 32
Registriert: 26.12.2006

erstellt am: 26. Dez. 2006 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 Nur für MonikaB 10 Unities + Antwort hilfreich

Hallo!

Danke für deine rasche Antwort, leider bin ich ein lisp anfänger, aber irgendwo muss noch ein probleim sein??

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

Molzer
Mitglied



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

Beiträge: 32
Registriert: 26.12.2006

Autocad 2004

erstellt am: 26. Dez. 2006 22:41    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 MonikaB 10 Unities + Antwort hilfreich

Jetzt geht`s!
Vielen Dank!
bin halt ein beginner!

was mich noch interesiert ist wie man eine zeichnung dreht, dass sie paralell zu einer linie ist.

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: 27. Dez. 2006 09:19    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 MonikaB 10 Unities + Antwort hilfreich

Das ist kein Lisp-Thema und außerdem offtopic -> d.h. beim nächsten Mal: neue Frage = neuer Thread und in solchen Fall besser im "Rund um Autocad" Forum!

Trotzdem: ... schon mal den Befehl _align probiert?

------------------
      - 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

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