查稍微有点斜的线
画图时稍不注意,有的线画斜了。斜一点点,肉眼看不出,结果标注尺寸时出来小数点,因为看不出所以难查,网上下载了查斜线的程序,但它是把所有的斜线都查出来打成红色,能否在这程序基础上,改成查与正交线,即水平和竖直线偏一点点的线,程序加上角度,各人可按需修改需查的角度。bias.lsp程序见下面
(defun c:bias(/ pd_lst olderr newerr ss_kill ss_first n en en_data pt_st pt_en ang)
(setq pd_lst '(0.0 18000.0 9000.0 27000.0))(setvar "cmdecho" 0)(setq olderr *error* *error* newerr)
(defun newerr(msg)
(if msg
(progn
(princ "\n 函数出错了\n")
;
(princ msg)
))(command "_.undo" "_e")
(setq *error* olderr)
(setvar "cmdecho" 1)
(princ))
(command "_.undo" "_be")
(prompt "\n选择直线:")
(setq ss_kill (ssadd) n 0)(setq ss_first (ssget '((0 . "line"))))
(while (< n (sslength ss_first))
(setq en (ssname ss_first n) en_data (entget en))
(setq pt_st (cdr (assoc 10 en_data)))(setq pt_en (cdr (assoc 11 en_data)))
(setq ang (/ (* 180 100 (angle pt_st pt_en)) pi))
(if (not (member ang pd_lst))(setq ss_kill (ssadd en ss_kill))
)
(setq n (1+ n)))(if ss_kill
(progn
(command "_.chprop" ss_kill "" "c" 1 "")
(princ (strcat "\n------------- 有\t" (itoa (sslength ss_kill)) "条斜线。"))
)
(princ "\n没有斜线!")
)
(newerr nil)
)
而且还可以加个功能,查出来后是否自动纠正为正垂直或者正水平的直线。但这个时候就要判断往哪个端点纠正才是对的?要总结斜线出现的规律了。 highflybir有个图元归整,完美解决以上问题 参考帖子:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=86961&page=10#pid594428 highflybir 发表于 2013-7-3 09:27 static/image/common/back.gif
参考帖子:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=86961&page=10#pid594428
highflybir你好,花了明经币下载你说的一楼的程序怎么下载不下来,提示“抱歉,该附件无法读取”~~~ 我要学习啊。。。。
页:
[1]