你表达得有点模糊,目前我没弄懂你要做什么。。。
 - (defun qdd(ss)
- (setq a 1)
- (if (not **W**) (setq **W** 1.00))
- (setq **W** (cond((getdist(strcat "\n输入宽度 <"(rtos **W** 2 2) ">: ")))(**W**)))
- ;(setq ss (ssget '((0 . "LINE,ARC,LWPOLYLINE,POLYLINE"))))
- (setq
- ex (ssname ss 0)
- ss1 ss
- )
- ;获取端点列表1
- (setq lst (mapcar 'cdr
- (vl-remove-if-not '(lambda (x) (= (car x) 10)) (setq a (entget ex))
- )
- )
- )
- (command "offset" **w** ss pause "")
- ;获取偏移线点表
- (command "ERASE" ss1 "" )
- (setq cm (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq lst2 (mapcar 'cdr
- (vl-remove-if-not '(lambda (x) (= (car x) 10)) (setq a (entget (entlast)))
- )
- )
- )
- (command "ERASE" (entlast) "")
- (setq lst2 (cons (nth 0 lst) lst2))
- (setq lst1x(reverse lst2))
- (setq lscx (append lst lst1x))
- ;(setq lscx (list lscx (nth 0 lst)))
- (entmake (append (list '(0 . "LWPOLYLINE")
- '(100 . "AcDbEntity")
- '(100 . "AcDbPolyline")
- (cons 90 (length lscx))
- )
- (mapcar '(lambda (pt) (cons 10 pt)) lscx)
- )
- )
- (setvar "cmdecho" cm)
- (princ "CX-矩形增强版")
- )
- (defun c:te1()
- (setq cm (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setvar "peditaccept" 1) ;加入这个系统变量的代码
- (if (setq KX (ssget '((0 . "LINE,ARC,LWPOLYLINE,POLYLINE"))))
- (command "_pedit" "m" KX "" "j" "10" ""))
- (command "change" (entlast) "" "p" "co" "1" "")
- (qdd (ssadd (entlast)))
- (setvar "cmdecho" cm)
- (princ))
|