| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Drehen mit makro (1118 mal gelesen)
|
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 06. Nov. 2007 14:34 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe Mitstreiter, ich habe folgendes Problem: Ich muss in einem Bestandsplan viele Linien (Wände) genau um 180 Grad und um dem Mittelpunkt drehen. Ich würde das gerne mit einem Buttonmakro erledigen, weiß aber nicht wie. Ich habe bis jetzt : ^C^C_rotate;\180; Damit wird aber nicht automatisch der Mittelpunkt der Linie gefangen und außerdem werden die 180 Grad auch nicht automatisch eingestellt. Folgende Beiträge habe ich schon gelesen, aber mich leider nicht vorangebracht: http://ww3.cad.de/foren/ubb/Forum54/HTML/015443.shtml#000002 "Verwenden von Sonderzeichen und Steuerzeichen in Makros" (AutoCAD hilfe) Bin danbar für jede Hilfe; auch eine erweiterte Liste, wie in der AutoCAD Hilfe über die Steuerzeichen in Makros wäre wirklich ganz toll, da ich an dieser Stelle auch für andere Makros gerne weiterkommen würde. Grüße Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GottesGeschenk Mitglied Bauingenieur
Beiträge: 229 Registriert: 23.02.2007 win7 CAD 13
|
erstellt am: 06. Nov. 2007 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
hallo frag mal im lisp-forum nach ob dir ein schlaues köpfchen auf die schnelle ein lisp schreibt. das lisp soll folgendes tuhn: alle linien auf einem bestimmten layer um den mittelpunkt um x grad drehen. für die lispler ist das ein 5zeiler. gruss theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 06. Nov. 2007 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
ne Linie um 180° gedreht ist sieht doch optisch genauso aus wie vorher, nur das Start und Endpunkt vertauscht sind .... wenn 's dir darum geht: dafür gibts schon mehrere Lisp's , die das tun ... ------------------ - 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 |
GottesGeschenk Mitglied Bauingenieur
Beiträge: 229 Registriert: 23.02.2007 win7 CAD 13
|
erstellt am: 06. Nov. 2007 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
Zitat: Original erstellt von GottesGeschenk: hallo frag mal im lisp-forum nach ob dir ein schlaues köpfchen auf die schnelle ein lisp schreibt. das lisp soll folgendes tuhn: alle linien auf einem bestimmten layer um den mittelpunkt um x grad drehen. für die lispler ist das ein 5zeiler.ps bist du sicher das du die linie um 180 grad drehen willst? ich meine da wird sich an der linie doch eigentlich nicht viel ändern gruss theo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 06. Nov. 2007 14:52 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ihr habt ja recht, wenn Ihr sagt, dass die Linie dann genau wie vorher aussieht. Es ist aber eine Linie mit die in eine Linie mit Sybolen umgewandelt wird. Und je nach dem in welcher Richtung die ursprüngliche Linie gezeichnet ist, sind die Symbole (Dreiecke für Sichtmauerwerk) mal Innen, mal Aussen, und dann müssen die Linien gedreht werden. Es ist gut zu wissen dass es solche Lisp-Programme schon gibt, ich habe sie leider nicht gefunden, und wäre daher für eine genauere "Ortsangabe" dankbar Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 06. Nov. 2007 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
|
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 06. Nov. 2007 15:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, danke für die Ortsangabe. Ich habe es noch nicht ausprobiert, glaube aber, dass es das richtige. Ich will wirklich nicht unleidlich klingen, aber ich hatte mir erhofft, eine Anregung wie in der AutoCAD Hilfe "Verwenden von Sonderzeichen..." zu bekommen, damit ich mich, was Makros und Buttons etwas weiterbilden kann. Ansonster erstmal vielen Dank für die schnelle Hilfe Vieleicht kommen ja noch Anregungen. Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
epb Mitglied Elektroplaner
Beiträge: 264 Registriert: 07.08.2004 PC Core2Duo, 2,66Ghz, 2GB RAM, NVIDIA Quadro NVS 290, WIN XP Prof SP3, AutoCAD LT 2011 Vers. 2, ProgeCAD 2010 Prof
|
erstellt am: 06. Nov. 2007 16:55 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
|
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 07. Nov. 2007 09:47 <-- editieren / zitieren --> Unities abgeben:
|
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1143 Registriert: 20.12.2002 Autocad 2020/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 16,0GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2019
|
erstellt am: 07. Nov. 2007 10:14 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
Hallo Fiedelzastrow Versuch mal das lisp (defun c:linieumkehr () (setq sset (ssget)) (setq num (sslength sset) itm 0) (while (< itm num) (setq hnd (ssname sset itm)) (setq ent (entget hnd)) (if (= (cdr (assoc 0 ent)) "LINE") (progn (setq pt1 (cdr (assoc 10 ent))) (setq pt2 (cdr (assoc 11 ent))) (setq ent (subst (cons 10 pt2)(assoc 10 ent) ent)) (setq ent (subst (cons 11 pt1)(assoc 11 ent) ent)) (entmod ent) ) ) (setq itm (1+ itm)) ) (princ) )
------------------ Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 07. Nov. 2007 10:34 <-- editieren / zitieren --> Unities abgeben:
|
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 07. Nov. 2007 10:39 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 07. Nov. 2007 10:54 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
Zitat: Original erstellt von Fiedelzastrow: Super, Super!! Danke schön, unities sind unterwegs. Gruß Robert
.. den von mir gepostenten Link bist du scheinbar nicht gefolgt ... aber als Lispeinstieg kann ich dir das Teil empfehlen
------------------ - 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 |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 07. Nov. 2007 11:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, danke für die Empfehlung des "Kochbuchs". Zum anderen: Ich bin Deinem Link gefolgt (hatte ich Dir auch mitgeteilt) und habe anschliessend die Vorschläge ausprobiert, leider ohne Erfolg. Anschliessend möchte ich noch schreiben, dass ich hier in diesem Forum immer gute und schnelle Antworten erhalten habe; Danke Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 07. Nov. 2007 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
Na da hatte ich halt auf mehr Erfolg deinerseits gehofft, aber egal .. das Problem ist ja gelöst! aber damit du nicht ( wie du nach Kochbuchlektüre erkennen kannst ) auf stilistische Abwege beim Lisplernen gerätst, noch mal ne etwas geänderte Version obigen Tools : (defun c:linieumkehr ( / SSET I ENT NENT) (if(or(and(=(getvar "PICKFIRST")1)(setq sset (ssget "_I" '((0 . "LINE"))))) (setq SSET (ssget '((0 . "LINE")))) ) (progn (setq I -1) (repeat (sslength SSET) (setq ENT(entget(ssname SSET (setq I(1+ I))))) (setq NENT (subst (cons 11 (cdr(assoc 10 ENT)))(assoc 11 ENT)ENT)) (entmod(subst (cons 10 (cdr(assoc 11 ENT)))(assoc 10 ENT)NENT)) ) ) (prompt "\nKeine Linien gewählt!") ) (princ) ) @Heinz : Schön! Weiter so !!!
------------------ - 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 |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1143 Registriert: 20.12.2002 Autocad 2020/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 16,0GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2019
|
erstellt am: 07. Nov. 2007 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedelzastrow
Hallo CADmium Danke mal ein Lob von dir ggggggg ja ich weis das der Stil noch nicht ganz ok ist, mach ja viel zuwenig,um ein Profi zu werden aber das was ich will und brauch das schaff ich schon.
------------------ Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |