| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| CAD-Automatisierung: Effizienzsteigerung durch smarte Methoden, ein Webinar am 11.10.2024
|
Autor
|
Thema: z-wert in text (388 mal gelesen)
|
Tblaenky Mitglied Landschaftsarchitekt
Beiträge: 82 Registriert: 30.07.2002
|
erstellt am: 07. Nov. 2002 11:47 <-- editieren / zitieren --> Unities abgeben:
hallo, ein (für mich) großes Problem, das sicher mit einer kleinen lisp gelöst werden kann: habe eine Menge von Höhenpunkten, die 3d als Polylinie vorliegen und hätte gern den z-Wert als Text neben dem jeweiligen Punkt zu stehen. Kann jemand helfen? Grüße Tblaenky ------------------ Tblaenky Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Britt Mitglied
Beiträge: 154 Registriert: 21.03.2002 AutoCAD 2006 WindowsXP HP800
|
erstellt am: 07. Nov. 2002 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für Tblaenky
Hallo Tblaenky, reicht Dir das so? Tschüß Britt (defun c:koord-z () (setq OSMODE-ALT (getvar "osmode")) (setq TEXTHOEHE 25) (setq L-1 "___koordinaten") (setq F-1 "4") (command "layer" "mach" L-1 "fa" F-1 L-1 "") (setq L-2 "___koordinaten-bezug") (setq F-2 "8") (command "layer" "mach" L-2 "fa" F-2 L-2 "") (setq P1 (getpoint "\n Punkt zeigen:" ) ) ;;;(setq PX (car P1)) ;;;(setq PY (cadr P1)) (setq PZ (caddr P1)) (setq P2 (getpoint "\n Einfügepunkt Text eingeben:") ) (command "layer" "se" L-1 "") ;;;(setq TEXT (strcat "X= " ;;; (rtos PX 2 1) ;;; "; Y= " ;;; (rtos PY 2 1) ;;; "; Z= " ;;; (rtos PZ 2 1) ;;; ) ;;; ) (setq TEXT (rtos PZ 2 1)) (command "_text" P2 TEXTHOEHE "0" TEXT "") (setq P2 (getpoint "\n Punkt an Text zeigen: ")) (command "layer" "se" L-2 "") (command "osmode" "0") (command "_line" P1 P2 "") (setvar "osmode" OSMODE-ALT) ) ;;;ende
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tblaenky Mitglied Landschaftsarchitekt
Beiträge: 82 Registriert: 30.07.2002
|
erstellt am: 07. Nov. 2002 13:21 <-- editieren / zitieren --> Unities abgeben:
|
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 07. Nov. 2002 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für Tblaenky
Gut. Ich ändere mal eben meinen kompletten Beitrag, denn außer einer zu heißen Nadel, mit der ich gestern Lisps gestrickt habe, waren da auch noch ein paar dicke Tomaten auf meinen Augen, denn ich habe das nicht unwesentliche Wort POLYLINIE übersehen. Peinlich. Peinlich. Hier also mein revidiertes Proggie um die Stützpunkte einer 3D-Polylinie mit deren z-Koordinate zu beschriften. Das ganze bitte in keiner wüsten 3d-Ansicht ausführen. Aufruf mit (koorZ "DeinLayername") ;;;========================================================================================= ;;;beschriftet alle Stützpunkte einer Pline auf dem übergebenen Layer mit deren z-Koordinate ;;;========================================================================================= (defun KoorZ (lay / ss t-size c ename vlist koords z-koord) (setq ss (ssget "_x" (list (cons 8 lay) (cons -4 "<OR") (cons 0 "POLYLINE") (cons 0 "LWPOLYLINE") (cons -4 "OR>") ) ) ) (if ss (progn (if (= 0.0 (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))) ) (setq t-size (rtos (getreal "\nTexthoehe: ") 2 3)) ) ; if (setq c 0) (while (< c (sslength ss)) (setq ename (ssname ss c)) (plist ename) (while vlist (setq koords (car vlist)) (setq z-koord (rtos (caddr koords) 2 3)) (if t-size (command "_.TEXT" "_C" koords t-size "0" z-koord) (command "_.TEXT" "_C" koords "0" z-koord) ) ; if (setq vlist (cdr vlist)) ) ; while (setq c (1+ c)) ) ; while ) ; progn ) ; if ) ; defun ;; ;; ;; PLIST (keine Ahnung wo ich das her habe) ;; holt die Punkte aus einer Pline (defun plist (ename / en entl flag pt Elev) (setq vlist '() entl (entget ename) en (LI_item 0 entl) ) ;_ end of setq (cond ((= en "LWPOLYLINE") (setq vlist '() Elev (LI_item 38 entl) ) ;_ end of setq (foreach pt entl (if (= (car pt) 10) (setq vlist (cons (list (cadr pt) (caddr pt) Elev) vlist)) ) ;_ end of if ) ;_ end of foreach ) ((= en "POLYLINE") (setq ename (entnext ename) entl (entget ename) en (LI_item 0 entl) vlist '() ) ;_ end of setq (while (= en "VERTEX") (setq flag (LI_item 70 entl)) (if (and (zerop (logand flag 1)) (zerop (logand flag 2)) (zerop (logand flag 8)) ) ;_ end of and (setq pt (LI_item 10 entl) vlist (cons pt vlist) ) ;_ end of setq ) ;_ end of if (setq ename (entnext ename) entl (entget ename) en (LI_item 0 entl) ) ;_ end of setq ) ;_ end of while ) ) ;_ end of cond ) ; defun ;; (defun LI_item (n alist) (cdr (assoc n alist)))
[Diese Nachricht wurde von CADchup am 08. November 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 08. Nov. 2002 12:51 <-- editieren / zitieren --> Unities abgeben: Nur für Tblaenky
|
Tblaenky Mitglied Landschaftsarchitekt
Beiträge: 82 Registriert: 30.07.2002
|
erstellt am: 11. Nov. 2002 08:10 <-- editieren / zitieren --> Unities abgeben:
|