Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layer vorhanden ja/nein, Objekte auf neuen Layer 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:  Layer vorhanden ja/nein, Objekte auf neuen Layer kopieren (1400 mal gelesen)
Christian01
Mitglied
Technischer Zeichner


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

Beiträge: 281
Registriert: 17.04.2007

Briscad V22
ACAD MAP 2019
Win 10 Pro 64bit
Intel, 4x 3,0 GHz, 8GB RAM
2 x 24" TFT

erstellt am: 06. Nov. 2013 10: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

Hallo liebe Community

Ich habe ein Problem mit dem Code.
Habe leider noch nicht LISP richtig gelernt.
Habe folgenden LISP- Code geschrieben.

Code:

; Layer LICHT
(setq aws(ssget "_X" '((8 . "Licht"))))
(command "_.-layer" "_M" "Licht_VP" "")
(command "_.copy" aws "" '(0.0 0.0) '(0.0 0.0))
(command "_.CHPROP" aws "" "_LA" "Licht_VP" "")
(command "_.-layer" "_col" "2" "Licht_VP" "")

; Layer Boden
(setq aws(ssget "_X" '((8 . "Boden"))))
(command "_.-layer" "_M" "Boden_VP" "")
(command "_.copy" aws "" '(0.0 0.0) '(0.0 0.0))
(command "_.CHPROP" aws "" "_LA" "Boden_VP" "")
(command "_.-layer" "_col" "2" "Boden_VP" "")

; Layer 0 setzen
(command "_.-layer" "_se" "0" "")
(command "_._Zoom" "grenzen")


Mein Problem:

Wenn es den den Layer Licht nicht gibt dann soll er diesen Codeabschnitt überspringen und bei Layer Boden weitermachen.
Habe im Netz schon geschaut, aber nichts gefunden.

Wie schon gesagt, habe ich LISP nie richtig gelernt und daher ist es für micht nicht so einfach, nach was ich aussschau halten muss.

Könnte Ihr mir bitte helfen.  

------------------
Grüße

Christian

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: 06. Nov. 2013 10:53    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 Christian01 10 Unities + Antwort hilfreich

vielleicht so ??? ....

(cond
  ; Layer LICHT
  ((setq aws(ssget "_X" '((8 . "Licht"))))
      (command "_.-layer" "_M" "Licht_VP" "")
      (command "_.copy" aws "" '(0.0 0.0) '(0.0 0.0))
      (command "_.CHPROP" aws "" "_LA" "Licht_VP" "")
      (command "_.-layer" "_col" "2" "Licht_VP" "")
  )
  ; Layer Boden
  ((setq aws(ssget "_X" '((8 . "Boden"))))
      (command "_.-layer" "_M" "Boden_VP" "")
      (command "_.copy" aws "" '(0.0 0.0) '(0.0 0.0))
      (command "_.CHPROP" aws "" "_LA" "Boden_VP" "")
      (command "_.-layer" "_col" "2" "Boden_VP" "")
  )
)
; Layer 0 setzen
(command "_.-layer" "_se" "0" "")
(command "_._Zoom" "grenzen")


)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

Christian01
Mitglied
Technischer Zeichner


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

Beiträge: 281
Registriert: 17.04.2007

erstellt am: 06. Nov. 2013 11:14    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

Danke

Es funktioniert.    

Nur eine Frage: Was hat es mit dem Befehl cond auf sich?

------------------
Grüße

Christian

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 06. Nov. 2013 11: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 Christian01 10 Unities + Antwort hilfreich

Christian01
Mitglied
Technischer Zeichner


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

Beiträge: 281
Registriert: 17.04.2007

erstellt am: 06. Nov. 2013 12:44    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,

mit Cond funktioniert es nur bedingt.

Denn wenn es beider Layer (Licht & Boden) gibt,
dann bearbeitet er mir nur die Codezeile: "LICHT" --> nicht aber die CodeZeile Boden.

Gibt es dafür eine Lösung?

------------------
Grüße

Christian

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: 06. Nov. 2013 12:46    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 Christian01 10 Unities + Antwort hilfreich

(if (setq ss (ssget ..A
    (progn
        mach was
    )
)

(if (setq ss (ssget ..B
    (progn
        mach was
    )
)

(if (setq ss (ssget ..C
    (progn
        mach was
    )
)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 13. Nov. 2013 18:07    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 Christian01 10 Unities + Antwort hilfreich

Eigentlich ist ja die Frage, ob ein Layer vorhanden ist - das kann er auch sein, ohne dass Objekte drauf liegen - daher:

Code:
Befehl: (tblsearch "LAYER" "0")
((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous"))

Befehl: (tblsearch "LAYER" "gixigaxi")
nil


------------------
Schöne Grüße
Ernst

www.geopaint.at

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