| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
|
Autor
|
Thema: Text zurückspiegeln Makro (3382 mal gelesen)
|
3jalex Mitglied
 
 Beiträge: 244 Registriert: 13.03.2006 AutoCAD MEP 2013 AutoCAD Architecture 2013 Windows 7 Professional 64 Bit Vectorworks 2013
|
erstellt am: 22. Jul. 2008 14:54 <-- editieren / zitieren --> Unities abgeben:         
Hallo Problem: Beim Spiegeln von Blöcken (zB. Beschriftete Lampen) dreht sich der Text beim spiedeln in der Achse um 180°. Nun ist die Schrift spiegelverkehrt. Lösungsversuch: Mit folgendem Makro: ^C^C_ucs;o \_ucs;y;90;_rotate;v;;0,0,0;180;_ucs;w; 1) Koordinatensystem auf Objekt legen (Basispunkt ist im Zentrum) 2) Objekt auswählen 3) Koordinatensystem um Y drehen 4) Vorheriges Objekt am Basispunkt drenen Vermutungen: - Weil das Koordinatensystem gedreht wurde bezieht sich die Auswahl „vorher“ nicht mehr auf den vorherigen sondern auf den letzten Block. Der Drehpunkt ist somit falsch, wenn es nicht zufällig auch das letzte Objekt war. Feststellungen: - Mit dem Hochkomma (transparenter Befehl) geht UCS nicht. - Die Systemvariable: Mirrtext geht nur bei Text welcher nicht in Blöcken integriert ist. Fragen: A) Wie kann ich das vorher gewählte Objekt wieder wählen? Eventuell die Benutzereingabe anderst definieren? (^P(s……..???) B) Wie kann ich die Auswahl der vorher gewählte Objekt(en) speichern und abrufen? Ev. mit Gruppieren? Danke Alex PS: Immernoch gravierendes offenes Problem: http://ww3.cad.de/foren/ubb/Forum353/HTML/000120.shtml
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Headcase Mitglied Dipl.-Ing. (FH) --> Maschinenbau
 
 Beiträge: 141 Registriert: 14.10.2004 WinXP Prof., SP3 AutoCAD Mechanical 2010 (2008) Inventor 2010 (2008)
|
erstellt am: 22. Jul. 2008 15:09 <-- editieren / zitieren --> Unities abgeben:          Nur für 3jalex
|
3jalex Mitglied
 
 Beiträge: 244 Registriert: 13.03.2006 AutoCAD MEP 2013 AutoCAD Architecture 2013 Windows 7 Professional 64 Bit Vectorworks 2013
|
erstellt am: 22. Jul. 2008 15:20 <-- editieren / zitieren --> Unities abgeben:         
|
Headcase Mitglied Dipl.-Ing. (FH) --> Maschinenbau
 
 Beiträge: 141 Registriert: 14.10.2004 WinXP Prof., SP3 AutoCAD Mechanical 2010 (2008) Inventor 2010 (2008)
|
erstellt am: 22. Jul. 2008 15:39 <-- editieren / zitieren --> Unities abgeben:          Nur für 3jalex
|
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 22. Jul. 2008 15:39 <-- editieren / zitieren --> Unities abgeben:          Nur für 3jalex
|
3jalex Mitglied
 
 Beiträge: 244 Registriert: 13.03.2006 AutoCAD MEP 2013 AutoCAD Architecture 2013 Windows 7 Professional 64 Bit Vectorworks 2013
|
erstellt am: 22. Jul. 2008 16:15 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank Dies hat ein Problem gelöst. Nun kann ich meine Blöcke ändern um dieses Problem zu umgehen. Leider gibt es noch viele Blöcke mit Text und Konstanten Attributen welche ich noch mühsam von Hand drehen muss. Das Makro dazu habe ich schon fast. bleibt noch das mit der Auswahl im Makro. Gruss Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
3jalex Mitglied
 
 Beiträge: 244 Registriert: 13.03.2006 AutoCAD MEP 2013 AutoCAD Architecture 2013 Windows 7 Professional 64 Bit Vectorworks 2013
|
erstellt am: 01. Sep. 2008 11:46 <-- editieren / zitieren --> Unities abgeben:         
Guten Tag allerseits Ich sollte in einen Plan (von anderen gezeichnet) viele Attribute zufügen. Dies geht einfach mit Blockbearbeiten. Jedoch wurde die hälfte davon gespiegelt, so dass meine Attribute teilweise spiegelverkehrt dargestellt werden. Mit meinem gebastelten Makro kann ich diese um eine Achse um 180° drehen. 2 Probleme habe ich damit noch: 1) Ich muss den Block zuerst anwählen(damit das Makro vorheriger erkennt), dann das Makro ausführen und nochmals den block wählen. Wie kann ich das Auswählen auf einen Klick reduzieren? ^C^C_ucs;o \_ucs;y;90;_rotate;v;;0,0,0;180;_ucs;w; 2) Ist der Block (Lampe) urspünglich nicht auf 0° sondern auf 90° gezeichnet worden müsste ich ja anstelle der y-Achse eine andere bestimmen... Da es schwierig anzusehen ist um welche Achse es jeweils gedreht werden soll habe ich es mit Dynamischer Umkehr-Aktion versucht. Nur weden jetzt die Attribute nicht gedreht... Wenn ich das Attribut auf konstant setze, kann ich es drehen aber nicht beschriften... Wer weiss weiter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
3jalex Mitglied
 
 Beiträge: 244 Registriert: 13.03.2006 AutoCAD MEP 2013 AutoCAD Architecture 2013 Windows 7 Professional 64 Bit Vectorworks 2013
|
erstellt am: 02. Jul. 2010 17:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute Da dieses Problem noch nicht gelöst ist hake ich nochmals nach. Hier ist ein tolles Lisp welches ALLE Blöcke am Einfügepunkt speigelt: (defun c:blkmirror ( / ALISTE tfac) (setq ALISTE (ssget "_X" '( (0 . "INSERT") ) ) ) (if ALISTE (progn (mapcar '(lambda (el) (command "_.mirror" el "" (setq tfac(cdr(assoc 10(entget el)))) (polar tfac pi 10.0) "_Y") ) (bau_elemli ALISTE) ) ) ) (princ) ) (defun bau_elemli (asatz / n elemli) (setq n 0) (repeat (sslength asatz) (setq elemli(cons (ssname asatz n) elemli) n (1+ n)) ) elemli )
Das habe ich hier gefunden: http://ww3.cad.de/foren/ubb/Forum54/HTML/004538.shtml#000002 Weiss jemand wie man nur einen Block oder eine Auswahl von Blöcken am Eifügepunkt spiegelt. Ich möchte ja die richtigen Böcke nicht spiegeln. Vielen Dank Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
3jalex Mitglied
 
 Beiträge: 244 Registriert: 13.03.2006 AutoCAD MEP 2013 AutoCAD Architecture 2013 Windows 7 Professional 64 Bit Vectorworks 2013
|
erstellt am: 02. Jul. 2010 17:19 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute Da dieses Problem noch nicht gelöst ist hake ich nochmals nach. Hier ist ein tolles Lisp welches ALLE Blöcke am Einfügepunkt speigelt: (defun c:blkmirror ( / ALISTE tfac) (setq ALISTE (ssget "_X" '( (0 . "INSERT") ) ) ) (if ALISTE (progn (mapcar '(lambda (el) (command "_.mirror" el "" (setq tfac(cdr(assoc 10(entget el)))) (polar tfac pi 10.0) "_Y") ) (bau_elemli ALISTE) ) ) ) (princ) ) (defun bau_elemli (asatz / n elemli) (setq n 0) (repeat (sslength asatz) (setq elemli(cons (ssname asatz n) elemli) n (1+ n)) ) elemli )
Das habe ich hier gefunden: http://ww3.cad.de/foren/ubb/Forum54/HTML/004538.shtml#000002 Weiss jemand wie man nur einen Block oder eine Auswahl von Blöcken am Eifügepunkt spiegelt. Ich möchte ja die richtigen Böcke nicht spiegeln. Vielen Dank Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |