| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Blöcke mit Atrrib. drehen und skalieren (1151 mal gelesen)
|
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 14. Feb. 2005 10:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich stehe vor dem Problem, dass ich Blöcke, die Attribute enthelten, drehen und skalieren muss. Dabei sollen aber die Attribute ihre Größe und Ausrichtung behalten? Kann mir dabei jemand helfen? Zur Drehung habe ich schon was gefunden. Proxy hatte schon mal was geschrieben. Kann man das erweitern? Grüße Lutz ------------------ May the force be with you! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 14. Feb. 2005 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für Dig15
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 14. Feb. 2005 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Dig15
zur Not noch das auf die Schnelle: (defun C:INSERT_SCARO (/ AUSWAHL W X INDEX INSERT LISTE OBJEKTDATEN) (if(and(setq AUSWAHL (ssget '((0 . "INSERT")))) (setq W (getreal "\nRelativdrehwinkel : ")) (setq X (getreal "\nSkalierfaktor : ")) ) (progn (setq INDEX -1) (repeat (sslength AUSWAHL) (setq INSERT(ssname AUSWAHL(setq INDEX(1+ INDEX)))) (setq Objektdaten (entget INSERT)) (if(assoc 66 OBJEKTDATEN) (progn (setq LISTE nil) (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN))))) (if (= (cdr (assoc 0 OBJEKTDATEN)) "ATTRIB") (progn (princ(setq LISTE (cons (list(assoc 40 OBJEKTDATEN) (assoc 50 OBJEKTDATEN) (assoc 41 OBJEKTDATEN) (assoc 51 OBJEKTDATEN) ) LISTE ) ) ) ) ) ) (setq Objektdaten (entget INSERT)) (command "_scale" INSERT "" (cdr(assoc 10 OBJEKTDATEN)) X) (command "_rotate" INSERT "" (cdr(assoc 10 OBJEKTDATEN)) W) (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN))))) (if (= (cdr (assoc 0 OBJEKTDATEN)) "ATTRIB") (progn (entmod(mapcar '(lambda(x) (cond ((member(car X) '(40 41 50 51)) (assoc (car X) (car LISTE))) ('T X) ) ) OBJEKTDATEN ) ) (setq LISTE (cdr LISTE)) ) ) ) (command "_regen") ) (progn (command "_scale" INSERT "" (cdr(assoc 10 OBJEKTDATEN)) X) (command "_rotate" INSERT "" (cdr(assoc 10 OBJEKTDATEN)) W) ) ) ) ) ) ) ------------------ - 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 |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 14. Feb. 2005 13:39 <-- editieren / zitieren --> Unities abgeben:
Hey, Ihr seid genial. Vielen Dank dafür. @CADwiesel: tolles Lisp. Werde ich mir merken, aber für mich in dem speziellen Fall nicht einsetzbar, da an dem Block mehrer Attribute mit unterschiedlichen Höhen dranhängen. @CADmium: "auf die Schnelle"?!. Echt super. Eine Frage/Bitte noch: Geht es "einfach" einzubauen, den Skalierfaktor für X- und Y- unterschiedlich einzugeben, ohne Attributbeeinflussung? Grüße Lutz ------------------ May the force be with you! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 14. Feb. 2005 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für Dig15
Zitat: Original erstellt von Dig15: Geht es "einfach" einzubauen, den Skalierfaktor für X- und Y- unterschiedlich einzugeben, ohne Attributbeeinflussung?
nö, ist dann etwas komplizierter, weil umrechnen der Attrib-Einfügepunkte nötig. Dann gehts mit "command" nicht mehr.. und das ist dann nicht mal kurz über Mittag geschrieben.. ------------------ - 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 |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 14. Feb. 2005 14:14 <-- editieren / zitieren --> Unities abgeben:
|