如果你只是想要一个反转级别,那么在这里使用这个。只需要在标签的点上有一个文本。选择基准面、基准线、pt,然后选择文本作为答案,多支持。
- ;Calculates level of a point in cross or long sections
- (setvar "cmdecho" 0)
- (princ "\n To run just type SRL")
- ;;-------------------=={ Parse Numbers }==--------------------;;`
- ;; ;;
- ;; Parses a list of numerical values from a supplied string. ;;
- ;;------------------------------------------------------------;;
- ;; Author: Lee Mac, Copyright © 2011 - [url="http://www.lee-mac.com"]www.lee-mac.com[/url] ;;
- ;;------------------------------------------------------------;;
- ;; Arguments: ;;
- ;; s - String to process ;;
- ;;------------------------------------------------------------;;
- ;; Returns: List of numerical values found in string. ;;
- ;;------------------------------------------------------------;;
- (defun LM:ParseNumbers ( s )
- (
- (lambda ( l )
- (read
- (strcat "("
- (vl-list->string
- (mapcar
- (function
- (lambda ( a b c )
- (if
- (or
- (< 47 b 58)
- (and (= 45 b) (< 47 c 58) (not (< 47 a 58)))
- (and (= 46 b) (< 47 a 58) (< 47 c 58))
- )
- b 32
- )
- )
- )
- (cons nil l) l (append (cdr l) (list nil))
- )
- )
- ")"
- )
- )
- )
- (vl-string->list s)
- )
- )
- (defun c:SRL ()
- (setq olddimzin (getvar "dimzin"))
- (setvar "dimzin" 0)
- (if (= dwgscale nil)
- (setq dwgscale (/ 1000.0 (getreal "\n enter vertical scale ")))
- )
- ;(setq datum (getreal "\n Enter datum level "))
- (setq datum (car (LM:ParseNumbers (cdr (assoc 1 (entget (car (entsel "\nPick datum text"))))))))
- (setq test 1)
- (setq pt1 (cadr (getpoint "\npick datum")))
- (while (= test 1)
- (setq pt2 (cadr (getpoint "\npick point")))
- (setq dist (/(abs (- pt1 pt2)) dwgscale))
- (setq en1 (car (entsel "\nSelect text number:" )))
- (if (/= en1 nil)
- (progn
- (setq tent (entget en1))
- (setq a (+ dist datum))
- (setq a (rtos a 2 3))
- (setq el (subst (cons 1 a) (assoc 1 tent) tent))
- (entmod el)
- );progn
- (princ "\nplease pick again"); else
- );if
- ); while t
- (setq el nil
- en nil
- a nil
- en1 nil
- test nil)
- (setvar "cmdecho" 1)
- (setvar "dimzin" olddimzin)
- (princ)
- ) ;ends main defun
-
|