| 
|  |  |  |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |  |  |  |  |  | Exklusives EDU-Programm für RTX PRO Blackwell, eine Pressemitteilung 
 |  
| Autor | Thema:  spiegeln & layerwechsel in einem ? (1435 mal gelesen) |  | alter sack Mitglied
 
 
 
      Beiträge: 2Registriert: 29.04.2009
 Autocad 2009 |    erstellt am: 29. Apr. 2009 17:34  <-- editieren / zitieren -->    Unities abgeben:            
  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. LGalter sack
 
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |  | cadffm Moderator
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 29. Apr. 2009 17:58  <-- editieren / zitieren -->    Unities abgeben:           Nur für alter sack   
  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
 
 
 
      Beiträge: 2Registriert: 29.04.2009
 Autocad 2009 |    erstellt am: 29. Apr. 2009 18:42  <-- editieren / zitieren -->    Unities abgeben:            
  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
 良い精神
 
         
 
  
 
      Beiträge: 22689Registriert: 03.06.2002
 Alles |    erstellt am: 29. Apr. 2009 21:22  <-- editieren / zitieren -->    Unities abgeben:           Nur für alter sack   
  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 alleElemente 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
 
 
  
 
      Beiträge: 2154Registriert: 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 / zitieren -->    Unities abgeben:           Nur für alter sack   
  Hallo, also ganz so kompliziert ist es nicht, man muss nur ein bischen tricksen: Code:Grüsse, Henning(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") "")
 )
 
 ------------------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 >>)
  |