[求助] rectang画矩形和用pline线画闭合矩形有区别吗?
本帖最后由 作者 于 2008-5-19 23:57:14 编辑 <br /><br /> <div style="FONT-SIZE: 14px;"><font size="3">Autocad中 用_rectang画矩形和自己用pline线画闭合矩形有区别吗?<br/>因为在使用“秋枫”的批量打印程序时,选择闭合矩形时,用_rectang画的矩形可以被认,而用pline线画闭合矩形被过滤掉?<br/>为什么呢?两者用list显示好像没太多实质性的区别,难道内部有什么区别,请教,谢谢!</font></div> 没有看出区别来. PLine 线绘制的闭合矩形, 是通过 C 选项闭合的吗? 有区别。用rectang画的矩形始终是LWPOLYLINE类型,而用PLINE画的矩形当系统变量PLINETYPE被改变时画的类型是POLYLINE。 <p>谢谢回复,</p><p>可我还想知道,在没有改变plinetype的情况下,创建出来都是闭合的LWPOLYLINE矩形是怎么区别出一个是用rectang画的一个是用pline画然后C闭合的呢?</p> 本帖最后由 作者 于 2008-5-21 6:46:17 编辑 <br /><br /> PLine 命令绘制出来的矩形, 关键是看闭合的方式, 如果是指定了 1/2/3/4 点后, 输入 C 进行闭合, 那是和 Rectang 命令绘制出来的是一样的. 如果是指定了 1/2/3/4/1 共 5 个点来手工闭合的话, 那就不是了. 这样的矩形, 形状上是闭合的, 但其闭合属性却是 False. <br/>昨天后来搜索从网易的论坛上也下载了个这个软件, 虽然有其它方面的些 bug, 但在这方面我试了下, 正常的, 没有排除了 PLine 绘制的矩形的现象. 从它的源程序的代码上看, 对矩形的要求是: <br/> ;; 指定图层矩形PLINE<br/> (if (= "LayerRadio" (getvalue 'Frame))<br/> (setq filterlist<br/> (list '(0 . "LWPOLYLINE") ; 要求是 LWPOLYLINE 二维多义线实体<br/> (cons 8 (getvalue 'LayerName)) ; 层的要求, 即只是在指定层上的才被纳入<br/> '(90 . 4) ; 多义线必须是 4 个顶点<br/> '(70 . 1) ; 多义线必须是闭合的<br/> '(43 . 0.0) ; 多义线的统一宽度, 宽度须为 0<br/> )<br/> )<br/> )<br/>如果觉得都符合了上面提及的几个条件, 还是被排除的话, 可能是矩形不是严格的矩形, 比如对边不平行, 夹角不是 90°之类的. 不过, 我也没细看它的源程序, 不知道是否真的有这方面的检查. 要么, 将个有这样被排除的矩形和有可以正常被纳入的, 发个图形文件上来看看?谢谢!问题解决!
<p><font face="Verdana" color="#61b713"><strong>非常感谢dunkel的详细解答,我终于明白了,我的图形是一个程序生成的不闭合然后我用pedit把它闭合,正是dunkel所说“</strong><font color="#000000">指定了 1/2/3/4/1 共 5 个点来手工闭合的话</font><font color="#61b713"><strong>”的情况。我一直没注意端点数的区别,听了dunkel的解释后我用list看了一下端点数果然是五个的原因不能选中!!!</strong></font></font></p><p><font face="Verdana" color="#61b713"><font color="#61b713"><strong>再次感谢,图纸就没必要传了。</strong></font></font></p>
页:
[1]