求助大神帮忙检修一下代码 大神帮忙写的圆心距检查插件
本帖最后由 wutao8282 于 2022-4-30 09:28 编辑(defun c:tt( / ss ent1 ent2 par c1 c2 r1 r2 i j)
(setq ss (ssget "x" (list (cons 0 "circle"))) i -1)
(while (setq ent1 (ssname ss (setq i (1+ i))))
(setq par (entget ent1) c1 (cdr (assoc 10 par)) r1 (cdr (assoc 40 par)))
(setq j i)
(while (setq ent2 (ssname ss (setq j (1+ j))))
(setq par (entget ent2) c2 (cdr (assoc 10 par)) r2 (cdr (assoc 40 par)))
(if (and (or (equal r1 15 0.0001)(equal r2 15 0.0001))(< (distance c1 c2)(+ r1 r2 15)))
(progn (if (equal r1 15 0.0001)(vl-cmdf "change" ent1 "" "P" "c" 1 ""))
(if (equal r2 15 0.0001)(vl-cmdf "change" ent2 "" "P" "c" 1 ""))
)
)
)
)(princ)
)
群高手帮忙写的圆心距检查插件 求助大神帮忙修改一下。现在为圆心距小于30自动红色显示,帮忙修改为检测到心距小于30自动避让 偏移位置使间距超过30即可 要偏移开复杂度就大大增加了,要检测红色图元 周边其他图元的空间位置和距离 才能确定往那个方向移动 guosheyang 发表于 2022-4-30 10:58
要偏移开复杂度就大大增加了,要检测红色图元 周边其他图元的空间位置和距离 才能确定往那个方向移动
是的,感觉难度非常大,要确定往哪边躲,就要检测周围所有的图元 简直是无穷个情况,360°方向都可以移,十万八千里距离也能移,倒不如全部重新排列 start4444 发表于 2022-4-30 12:09
简直是无穷个情况,360°方向都可以移,十万八千里距离也能移,倒不如全部重新排列
直接判断间距不足30向反方向移动,满足30就行 为什么我运行你这个程序没有反应呢?
页:
[1]