尊敬的先生:,
李先生的节目
它的用途非常充分
http://www.cadtutor.net/forum/showthread.php?31363-地板放大器高度lsp
- (defun c:ellev (/ *error* Line Text OFFSET OLDDIM P1 P2 PT TSZE X Y)
- ;; Lee Mac ~ 01.03.10
- [color=Red][b] (setq offset 1.5) ;; Text Offset[/b][/color]
- (defun *error* (msg)
- (and oldDim (setvar 'DIMZIN oldDim))
- (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
- (princ (strcat "\n** Error: " msg " **")))
- (princ))
- (defun Line (p1 p2)
- (entmakex (list (cons 0 "LINE")
- (cons 10 p1) (cons 11 p2))))
- (defun Text (pt hgt str)
- (entmakex (list (cons 0 "TEXT") (cons 10 pt)
- (cons 40 hgt) (cons 1 str)
- (cons 50 (angle '(0 0 0) (getvar 'UCSXDIR)))
- (cons 7 (getvar 'TEXTSTYLE))
- [color=Red][b] (cons 72 1) ; Center
- (cons 73 2) ; Middle[/b][/color]
- (cons 11 pt))))
- (setq oldDim (getvar 'DIMZIN))
- (setvar 'DIMZIN 0)
-
- (or *scl (setq *scl 100)) (initget 6)
- (setq *scl (cond ((getint (strcat "\nEnter Drawing Scale <" (itoa *scl) "> : "))) (*scl)))
- (setq tsze (* 0.002 *scl))
- (while (setq pt (getpoint "\nPick Elevation Line Point: "))
- (setq x (car pt) y (cadr pt))
- (setq p1 (trans (list (- x (/ tsze 2)) (+ y tsze) 0.) 1 0)
- p2 (trans (list (+ x (/ tsze 2)) (+ y tsze) 0.) 1 0))
- (mapcar (function (lambda ( x ) (line (trans pt 1 0) x))) (list p1 p2))
- (line p1 p2)
- (Text (trans (list x (+ y (* offset tsze)) 0.) 1 0) tsze
- (strcat (if (<= 0 y) "+" "") (rtos y 2 2) "m")))
- (setvar 'DIMZIN oldDim)
- (princ))
|