大家好,
我有一个lisp帮助我给出矩形的尺寸,如下所示:-
- (defun _vertices ( l )
- (if (eq "LWPOLYLINE" (cdr (assoc 0 l)))
- (_vertices1 l)
- (_vertices2 (entnext (cdr (assoc -1 l))))
- )
- )
- (defun _vertices1 ( l / p )
- (if (setq p (assoc 10 l))
- (cons (cdr p) (_vertices1 (cdr (member p l))))
- )
- )
- (defun _vertices2 ( e )
- (if (eq "VERTEX" (cdr (assoc 0 (entget e))))
- (cons (cdr (assoc 10 (entget e))) (_vertices2 (entnext e)))
- )
- )
- (defun _uniquefuzz ( l f )
- (if l
- (cons (car l)
- (_uniquefuzz
- (vl-remove-if '(lambda ( x ) (equal x (car l) f)) (cdr l))
- f
- )
- )
- )
- )
- (defun c:SNC ( / ss pl ptlst l-r-ptlst d-u-ptlst midl midr midd midu len bre sonar )
- (setq scbk (getfiled "Select Sonar Contact Block" "*.*" "dwg" 4))
- (progn
- (setq Bs (Getreal "\nScale factor for Sonar Contact Block <1>:"))
- (if (= Bs Nil) (setq Bsc 1) (setq Bsc Bs)))
- (while (not ss)
- (prompt "\nSelect polyline")
- (setq ss (ssget "_+.:E:S:L" '((0 . "*POLYLINE"))))
- )
- (setq pl (ssname ss 0))
- (setq ptlst (_uniquefuzz (_vertices (entget pl)) 1e-)
- (setq l-r-ptlst (vl-sort ptlst '(lambda (a b) (< (car a) (car b)))))
- (setq d-u-ptlst (vl-sort ptlst '(lambda (a b) (< (cadr a) (cadr b)))))
- (setq midl (mapcar '(lambda (a b) (/ (+ a b) 2.0)) (car l-r-ptlst) (cadr l-r-ptlst)))
- (setq midr (mapcar '(lambda (a b) (/ (+ a b) 2.0)) (caddr l-r-ptlst) (cadddr l-r-ptlst)))
- (setq midd (mapcar '(lambda (a b) (/ (+ a b) 2.0)) (car d-u-ptlst) (cadr d-u-ptlst)))
- (setq midu (mapcar '(lambda (a b) (/ (+ a b) 2.0)) (caddr d-u-ptlst) (cadddr d-u-ptlst)))
- (setq len (distance midl midr))
- (setq bre (distance midd midu))
- [b](setq sonardimension (strcat (rtos len 2 1)
- "m X "
- (rtos bre 2 1)
- "m X nmh"[/b]
- )
- )
- (setq Pnt (Getpoint "\n Specify Point:"))
- (command "insert" scbk pnt 1 1 0 sonardimension)
- (princ)
- )
我已将属性块作为附件附加
我希望突出显示的代码作为属性插入到lisp中
但命令即将结束。示例如下
- Command: snc
- Scale factor for Sonar Contact Block <1>:
- Select polyline
- Select objects:
- Specify Point:Unknown command "18.1M X 23.4M X NMH". Press F1 for help.
- 0
请帮帮我
声纳接触。图纸 |