Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  spiegeln & layerwechsel in einem ?

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:  spiegeln & layerwechsel in einem ? (1212 mal gelesen)
alter sack
Mitglied


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

Beiträge: 2
Registriert: 29.04.2009

Autocad 2009

erstellt am: 29. Apr. 2009 17:34    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

Zuerstmal Hallo an alle, ich bin seit heute neu hier.

Ich habe mich angemeldet, nachdem ich zu o.a. Thema im Index nichts gefunden habe.

Hoffentlich könnt ihr mir Helfen...
Ich suche ein "einfaches" Lisp, mit dem ich den Befehl _mirror (also Spiegeln) und danach den Wechsel zu einem vorbestimmten Layer vornehmen kann. Evtl. zuerst die Auswahl der/des Objekte/s, dann den Spiegelbefehl mit Achswahl und nach dessen Ausführung dann den "autom." Layerwechsel.

Ich möchte anfügen, das ich bereits angefangen habe mich in diese Materie einzuarbeiten, es aber noch etwas zu schwer für mich ist, dieses Lisp selbst zu schreiben.

Ich hoffe dieser Weg ins Forum war der richtige für so ein Thema und bedanke mich schonmal im vorraus für eure Unterstützung.

LG
alter sack

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: 29. Apr. 2009 17:58    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 alter sack 10 Unities + Antwort hilfreich

Also von deiner Fragestellung her ein simple Antwort, jedoch befürchte
ich Pessimist das du dein Vorhaben nicht korrekt beschrieben hast 
=>

hmm, also wenn es Lisp sein "muß" :

Ansonsten kann man das auch mit einem einfachen Menü-/Buttonmakro machen ?!

Einfachste Lösung in Lisp - aber die Befehlszeile dabei nicht wie gewohnt aussehen:
zudem hast du nicht gesagt was mit der Option "Quellobjekte-löschen" geschehen soll, daher mein 3.Mal Pause im Command

(if (setq AWS (ssget))
  (progn
    (command "_.MIRROR" AWS ""  PAUSE PAUSE PAUSE)
    (command "_.-LAYER" "_make" "AndererLayer" "")
  )
)

Möchte man es auch noch so haben wie gewohnt ist, ist es (für mich)
Code-technisch ein deutlicher Mehraufwand.

Per Makro wäre es eine Kleinigkeit:
^C^C_.SELECT;\_.MIRROR;_P;;\\\_.-LAYER;_make;MeinandererLayer;;

Aber nun mal wieder zu dir: Hast du dir was SO vorgestellt ?
Solltest du das mit dem "Layerwechsel" anders gemeint haben,
so wird es nochmal deutlich aufwändiger.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

alter sack
Mitglied


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

Beiträge: 2
Registriert: 29.04.2009

Autocad 2009

erstellt am: 29. Apr. 2009 18:42    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 Dank für diese schnelle Antwort !

das Quellobjekt beim Spiegeln zu löschen oder nicht, wie gewohnt auf Option lassen (also j/n), dachte ich.

"Möchte man es auch noch so haben wie gewohnt ist, ist es (für mich)
Code-technisch ein deutlicher Mehraufwand."
Was meinst du damit ?
Was ist denn dann noch zu Ergänzen, ausser dem evtl. Options-Einbringen hierbei ??

Den Layerwechsel hatte ich mir so vorgestellt, das eben der neue, vorab erstellte Layer mit allen seinen Optionen (Farbe, Linienstärke,...etc.) dann übernommen wird. Ähnlich einer normalen Layerzuweisung.

So hatte ich mir das vorgestellt...
p.s.: Ich gehe wohl falsch in der Annahme, das zum Ende des Befehls ein NIL muss ?

Aber Du hast mir jetzt schon sehr geholfen, DANKE !

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: 29. Apr. 2009 21: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 Nur für alter sack 10 Unities + Antwort hilfreich

Wegen der Option: Gut,  so habe ich es ja umgesetzt.

"Was meinst du damit ?"
Das war darauf bezogen das die gezeigte Variante in der Befehlszeile eine völlig
andere Ausgabe bringt als der Weg "per Hand" - noch nicht bemerkt ?

"..dann übernommen wird. Ähnlich einer normalen Layerzuweisung.So hatte ich mir das vorgestellt."
Genau davon (Layerzuweisung / Objekte ändern) hast du im Posting aber nichts gesagt !
Und genau das meinte ich mit dem deutlichen Mehraufwand (deutlich, relativ zum bisherigen Lösungsstand)
und auch mit dem "Solltest du das mit dem "Layerwechsel" anders gemeint haben,
so wird es nochmal deutlich aufwändiger." 

Ich würde dafür wohl entweder in die Trick-Kiste greifen..
= Auswahlsatz "Alle" merken - gewünschten Objekte spiegeln - aus neuem Auswahlsatz "Alle" die Objekte
des alten aws"alle" entfernen - die verbleibenden Objekte sind die neuen - diese ändern

oder

das letzte Element der Zeichnung merken - die gewüschten Objekte spiegeln - dann alle
Elemente nach dem vorherigen "letzten Element" ermitteln und diesen dann den anderen Layer zuweisen.
Layer eines Objektes ändern: ENTMOD SUBST ASSOC ENTGET Gruppentcode-8 oder (command "_.change"

"Ich möchte anfügen, das ich bereits angefangen habe mich in diese Materie einzuarbeiten, "
Wie? "Das Kochbuch" vorliegen, oder Mapcar-online Tutorial angefangen zu lesen ?
Die Rückgabe "nil" ist zwar nicht immer gut, aber ganz normal - in diesem Fall.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 29. Apr. 2009 21:38    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 alter sack 10 Unities + Antwort hilfreich

Hallo,
also ganz so kompliziert ist es nicht, man muss nur ein bischen tricksen:
Code:
(defun c:lay-mirr ( / aws p1 p2 dd ant)
  (command "_.mirror" (setq aws (ssget)) "" (setq p1 (getpoint)) (setq p2 (getpoint p1)) (setq dd (initget "Ja Nein") ant (getkword) dd "_yes"))
  (if (OR (not ant) (= ant "Nein")) (command "_.mirror" aws "" p1 p2 "_no"))
  (command "_change" aws "" "_properties" "_layer" (getvar "clayer") "")
)
Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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