求个位大神写一个,批量选取矩形,标注矩形旋转角度的程序
求个位大神写一个,批量选取矩形,标注矩形旋转角度的程序;获得多段线顶点
(setq
ptn (mapcar
'cdr
(vl-remove-if '(lambda (x) (/= 10 (car x))) (entget s1))
)
)
;从ptn中选取邻近顶点,用angle算出角度
;选位置写文字,用command或entmake都可以
tigcat 发表于 2022-1-4 14:00
你好大神,可以来一个可以运行的程序不 664571221 发表于 2022-1-4 20:45
你好大神,可以来一个可以运行的程序不
我不是大神,菜鸟,我试试编一个. tigcat 发表于 2022-1-4 21:04
我不是大神,菜鸟,我试试编一个.
好的 我看了你的帖子都是好东西,加下我qq3298554767 664571221 发表于 2022-1-4 21:32
好的 我看了你的帖子都是好东西,加下我qq3298554767
;函数是东抄西抄的
;当天写好结果发现论坛崩溃了,一直到现在才能贴
(defun c:tt4 (/ en i ptn ptn_xmax ptn_ymin ss)
(vl-load-com)
(setqss (ssget '((0 . "lw*") (70 . 1)))
i0
)
(repeat (sslength ss)
(setq en (ssname ss i))
(setq
ptn (mapcar
'cdr
(vl-remove-if '(lambda (x) (/= 10 (car x))) (entget en))
)
)
(setq ptn_ymin (vl-sort ptn (function (lambda (e1 e2)(< (cadr e1) (cadr e2)) ) ) ))
(setq ptn_xmax (vl-sort ptn (function (lambda (e1 e2)(> (car e1) (car e2)) ) ) ))
(if(or (equal (angle (car ptn_ymin) (car ptn_xmax)) 0 1e-3)
(equal (angle (car ptn_ymin) (car ptn_xmax)) (* 0.5 pi) 1e-3)
)
(entmake
(list
'(0 . "TEXT")
(cons
1
"旋转角度0"
)
(cons 10 (append (car ptn_xmax) '(0)))
(cons40
(* 0.4
(min(distance (car ptn) (cadr ptn))
(distance (cadr ptn) (caddr ptn))
)
)
)
)
)
(entmake
(list
'(0 . "TEXT")
(cons
1
(strcat "旋转角度"
(rtos (/ (* 180 (angle (car ptn_ymin) (car ptn_xmax)))pi) 2 2)
"°"
)
)
(cons 10 (append (car ptn_xmax) '(0)))
(cons40
(* 0.4
(min(distance (car ptn) (cadr ptn))
(distance (cadr ptn) (caddr ptn))
)
)
)
)
)
)
(setq i (1+ i))
)
(prin1)
)
没有测试图,只能动手画几个框了
页:
[1]