到圆的多段线
你好在我的工作场所,我们有几个文件,每个文件都包含一个单独的部分。我从受益人那里得到文件。这些零件有很多孔。问题是,我认为孔是用实心舱口制成的。嗯,我需要图案填充的轮廓圆。如果我删除图案填充,我可以看到边界,但是从小直线,我无法在autocad上创建圆。
我正在寻找一个自动化的解决方案,如果有的话,因为我有8个文件,每个文件中有数百个洞。我附上一份样本文件。
当做
阿诺德
测验dxf 我把你的帖子转到了AutoLISP、Visual LISP和DCL论坛,也许这里有人可以帮你。 如果要删除实体图案填充,则需要将由许多小多段线构成的“圆”替换为真实的圆。是这样吗? 测试2.dwg这可以接受吗?这不是圆,它们仍然是普林斯。
更新为2004年文件 欢迎来到CADTutor
试试这个快速代码,让我知道。
(defun c:Test (/ ss)
;; Author : Tharwat 20. jan. 2014 ;;
(if (setq ss (ssget "_:L" '((0 . "LWPOLYLINE") (-4 . "&=") (70 . 1))))
((lambda (i / sn l x y)
(while (setq sn (ssname ss (setq i (1+ i))))
(setq l (mapcar 'cdr (vl-remove-if-not (function (lambda (u) (eq (car u) 10))) (entget sn)))
x (/ (apply '+ (mapcar 'car l)) (length l))
y (/ (apply '+ (mapcar 'cadr l)) (length l))
)
(if (entmakex (list '(0 . "CIRCLE") (cons 10 (list x y)) (cons 40 (distance (list x y) (car l)))))
(entdel sn)
)
(setq l nil
x nil
y nil
)
)
)
-1
)
)
(princ)
)
(vl-load-com)
是的,我想用一个真实的圆替换“多段线圆”。
我无法打开dwg文件。你能用旧版本发送吗。我用的是2011版。
当我尝试运行代码时,它会给我一个错误:
; 错误:超过了最大选择集数
有什么建议吗? 我用2004年的版本更新了这个文件。
我使用了一个Civil命令(MAPCLEAN),可以简化对象,但它并没有将它们变成一个圆。如果这只是您需要的一次,并且PLINE是可以接受的,我可以为您转换它们。
您是如何运行代码的?您尝试选择了多少个对象?
我在办公室和家里的机器上都运行得很好 AutoCAD一次可以处理的选择集数量有限制。请在您的绘图部分尝试该代码;它不是选择所有要固定的元素,而是尝试按区域选择它们。
请注意,选择集中不要包含除要修复的闭合多段线之外的其他闭合多段线,因为这些闭合多段线也将成为圆。Tharwat的代码不包括形状验证。 你好
谢谢你的支持。
我在另一台计算机上运行了代码,它运行得很好。
它由两个半圆代替一个圆,但这比多段线要好。它将100MB文件减少到约1.5MB。
再次感谢。我真的很感激。
ragards,
阿诺德
页:
[1]
2