wuxjld 发表于 2005-12-30 15:03:00

请教:如何判断一组由line,arc,pline相连接的对象是否构成了闭合区域?

如何判断一组由line,arc,pline相连接的对象是否构成了闭合区域?谢谢!

无痕 发表于 2005-12-30 23:01:00

region

wuxjld 发表于 2005-12-31 10:14:00

<P>除了用能否生成region来判断外,是否还有其它方法?谢谢!</P>

zhong5 发表于 2006-1-1 02:14:00

<P>用这个函数试试吧</P>
<P>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;加载后运行ei<BR>(defun c:ei()<BR>&nbsp; (initget 1)<BR>&nbsp; (setq SS (ssget ":S"))&nbsp; &nbsp;;选择实体;Creates a selection set from the selected object<BR>&nbsp; (vl-load-com)<BR>&nbsp; (setq N 0) <BR>&nbsp; (repeat (sslength SS)&nbsp;&nbsp;;repeat :循环&nbsp;&nbsp;;sslength :Returns an integer containing the number of objects (entities) in a selection set <BR>&nbsp;(princ (strcat "\n" (itoa n) "\n"))<BR>&nbsp;(if (vlax-curve-isClosed (vlax-ename-&gt;vla-object (ssname SS N)))<BR>&nbsp;&nbsp;(princ "封闭实体")<BR>&nbsp;&nbsp;(princ "非封闭实体")<BR>&nbsp;)<BR>&nbsp;;;;(princ (entget (ssname SS N))) &nbsp;&nbsp;;SSNAME&nbsp;&nbsp; : Returns the object (entity) name of the indexed element of a selection set<BR>&nbsp;&nbsp;&nbsp; (setq N (1+ N)) <BR>&nbsp; ) ;end repeat<BR>&nbsp; (princ "\n加载后运行ei\n")<BR>&nbsp; (princ) <BR>)<BR></P>

wuxjld 发表于 2006-1-4 10:06:00

<P>首先谢谢楼上的答复!我的问题是由多个line,pline,arc首尾相连是否构成了一个闭合区域。</P>

wuxjld 发表于 2006-1-4 18:46:00

请版本帮忙,谢谢!

无痕 发表于 2006-1-4 21:23:00

(DEFUN C:TT()
(SETQ SS(ssget '((0 . "LINE,ARC,*polyline"))))
(command "pedit" "m" SS "" )
(IF (WCMATCH (cdr(assoc 0 (entget (ssname ss 0)))) "LINE,ARC")
   (COMMAND "Y")
)
(COMMAND "j" "")
(setq e (entlast))
(equal (vlax-curve-getstartpoint e)(vlax-curve-getendpoint e) 1e-4)
)

页: [1]
查看完整版本: 请教:如何判断一组由line,arc,pline相连接的对象是否构成了闭合区域?