批量生成多个闭合多边形外边界
批量生成多个闭合多边形的外边界,并偏移一定距离。现在我只能一处一处的提取,太慢了,谁能帮我批量提取啊?谢谢。需加载XLRX_API:
(defun c:tt ()
(if (and
(setq d (getdist "\n偏距:"))
(setq ss (ssget '((0 . "*line,arc,ellipse,circle"))))
)
(if (setq ss (XLRX-Curve-GetOutPoly ss 0.001 nil))
(progn
(mapcar '(lambda (x)
(mapcar '(lambda (y) (xlrx-set y "color" 1))
(xlrx-curve-getoffsetcurves
x
(if (XLRX-ClockWiseP x)
(- d)
d
)
)
)
(xlrx-delete x)
)
(XLRX-PickSet->List ss)
)
)
)
)
(princ)
) 本帖最后由 香田里浪人 于 2015-2-25 09:59 编辑
可根据以下程序再补充。解决偏移问题。
;边界轮廓线 明经 ZZXXQQ 2013.6.5
(defun c:bjlkx ()
(setvar "CMDECHO" 0)
(if (and (setq p1 (getpoint "\n第一角点: "))
(setq p2 (getcorner p1 "\n另一角点: "))) (progn
(setq s1 (entlast))
(command "_.RECTANG" p1 p2)
(setq p3 (polar p1 (angle p1 p2) 5))
(command "_.BOUNDARY" p3 "")
(command "_.ERASE" "C" p1 p1 "")
(setq ss (ssadd))
(while (setq s1 (entnext s1)) (ssadd s1 ss))
(if (> (sslength ss) 0)
(command "_.ERASE" "W" p1 p2 "R" ss "")
(princ "\n无法生成边界!")
)
))
(setvar "CMDECHO" 1)
(princ)
)
鱼与熊掌 发表于 2015-2-25 18:53 static/image/common/back.gif
厉害,怎么做的啊? xyp1964 发表于 2015-2-25 17:28 static/image/common/back.gif
斑竹,给放个代码么? xyp1964 发表于 2015-2-25 17:28 static/image/common/back.gif
斑竹,提示no function definition: XYP-START。我加载函数库了怎么没这个函数啊 这个好啊!!!! freehand8008 发表于 2015-2-27 09:02 static/image/common/back.gif
这个好啊!!!!
香田的那个解决了每个闭合的外边界,但几个闭合连在一起的内边界也消失了
页:
[1]
2