求改进代码!框选所有矩形 在矩形中心生成圆
本帖最后由 依然小小鸟 于 2025-5-29 10:25 编辑 <br /><br />我是搞岩土的 我需要定位矩形方桩的中心点 所以我需要一个插件 就是框选所有矩形 在矩形的中心生成圆 这样方便我批量提取圆坐标 依次来定位方桩<br> 我有上千根方桩 这样批量操作会更快捷! 我搜集的一个源代码, 但是这个代码不支持框选 求改进<br> (defun c:NM (/ dxf10 i p0 p1 p2 pp s1 ss)<br> (defun dxf10 (e / s) ;10组码取点<br> (if (setq s<br> (mapcar 'cdr<br> (vl-remove-if-not '(lambda (x) (= (car x) 10))(entget e))<br> )<br> )<br> (if (= 1 (length s))(car s)s)<br> )<br> )<br> (setq i -1)<br> (if (setq ss (ssget ":S"(list '(0 . "LWPOLYLINE"))))<br> (while (and(setq s1 (ssname ss (setq i (1+ i))))) <br> (setq pp(dxf10 s1)<br> p1(car pp)<br> p2(caddr pp)<br> )<br> (setq p0(mapcar '(lambda(x)(* 0.5 x)) (mapcar '+ p1 p2)))<br> (vla-AddCircle (vla-get-modelSpace (vla-get-ActiveDocument (vlax-get-acad-object)))(vlax-3D-point p0) (* 0.02 (distance p1 p2)))<br> (vla-put-layer (vlax-ename->vla-object (entlast)) "图层3")<br> (entmake (list '(0 . "LINE") (cons 8 "图层4")(cons 10 p0) (cons 11 p1) ))<br> )<br> )<br> (princ)<br>) 框选所有矩形 在矩形中心生成圆可以让ai写一个 (vla-put-layer (vlax-ename->vla-object (entlast)) "图层3")看你图形有没有图层3图层.没有就会出错 vla-getboundingbox? 圆直径可输入 默认为矩形短边长
附加统计坐标
CADHH450 发表于 2025-5-30 10:46
圆直径可输入 默认为矩形短边长
附加统计坐标
统计坐标可以 输出为txt格式吗 CADHH450 发表于 2025-5-30 10:46
圆直径可输入 默认为矩形短边长
附加统计坐标
这个好像有看到过 还有很多方式能够实现。。提取矩形形心点坐标
页:
[1]