houlinbo 发表于 2008-8-11 16:21:00

求救 好几年了这个问题没解决,关于块的

<p>在块内使用选择集处理各ent ,就好像是在cadDoc中使用选择集处理各ent一样&nbsp;&nbsp;&nbsp;&nbsp; </p><p>即块内选择集</p><p></p><p>是这样,现在我遇到了一个这样的问题:在一个块中由&nbsp; 直线连接圆再连接直线组成,我想得到两根直线没有连接圆的顶点</p><p>基本思路是:遍历块,找到直线,在直线的两端子周围做选择集,如果不能得到圆,则返回这一点</p><p><font color="#e66b1a">现在最主要的问题是不能实现块内选择集,或都各位能有什么好的办法实现这一功能?不胜感激</font></p>

mccad 发表于 2008-8-11 18:15:00

<p>你不能通过计算来实际吗?</p><p>只需要计算直线两个端点与圆心的距离是不是圆的半径就行了。</p><p>块内是不能用选择集的。</p>

bluefires 发表于 2008-8-11 19:55:00

<p>我有点不明白你的意思了,你有那么多的块吗,需要你如此来用程序解决吗,我觉得你多半是做电气的开发,你就做成一个块,然后在外面建立选择集不久可以了。</p>

houlinbo 发表于 2008-8-14 16:25:00

问题

本帖最后由 作者 于 2008-8-14 18:03:56 编辑 <br /><br /> <p></p><p>首先感谢各位的回复,详细情况是这样:</p><p></p><p>如图所示,操作步骤如下:</p><p>1单击1圆</p><p>2.单击另1圆</p><p>3点击1点做为块中间位置的X坐标点</p><p>4生成除2圆以外的块</p><p>5利用选择集,想将块的两端的圆的信息写入块的扩展数据里</p><p>问题:如何将圆信息写入块的扩展数据?第1个端点是块的插入点,可以实现,第2点怎么得到?</p><p>解决办法1:在点击选择2圆时,就将2圆信息写入块的扩展数据(错,若用户将块手动移动再配上另2个圆,则出错)</p><p>解决办法2:用块内选择集(想像中的),在块内判断直线端点的周围有块中间的小圆(想像中的当然实现不了)</p><p>解决办法3: 换块为多义线,这样各个端点位置明确,可以实现,但现在用户需要块这样的样式,或者多义线可以隐藏掉中间的一段线也可以实现,怎么隐藏多义线中间的一段线?</p><p>头痛至极,头疼至极,请各位帮忙</p><p><font color="#ff3300">值得注意:如果用户将块移动位置,块内直线起终点的坐标点不可能与直线的插入点相同(因为块的插入点变了,而块内各实体的坐标点仍为一开始插入时的坐标点),所以还是不能得到块的两个端点在图中的实际位置</font></p><p><font color="#ff3300"></font></p><p><font color="#ff3300"></font></p><p><font color="#0909f7">块生成时就将块的中间位置的坐标点,起点(插入点),终点都写的块的扩展数据里 这样这个块的几何位置关系就确定了,这样即使块移动了位置,根据相对坐标,也能得到其余各点的坐标&nbsp;&nbsp; 我现在暂时用这种办法,不知是否有更好的办法?</font></p>
页: [1]
查看完整版本: 求救 好几年了这个问题没解决,关于块的