关于单线变双的算法,大家能讨论一下吗? « CAD家园

如题。
相关论题:
http://www.xdcad.net/forum/showthre…17764#post17764

标签: , ,

14 条评论 发表在“关于单线变双的算法,大家能讨论一下吗?”上

  1. 把要改为双线的线左右偏移(偏移前可先连接为pline),再把偏移的两线连接,再转为region,再union即可(有需要再炸开)。
    只是线”line,*polyline,arc,spline,ellipse,circle”要在不点选下自动左右偏移(还在想办法!!)
    很多情况没法连接,比如,两条成60度角的线,如果是”转折”型而不是交叉型,当OFFSET时,外边线有口子.

  2. 俺在line时的处理:
    1。用线型定义墙厚,一目了然。
    2。偏移。不用多说,各位办法多多。
    3。根据交点和开门窗点计算,形成开口端表。
    4。根据端点的交叉情况,处理端点。
    5,由端点和开口表entmake line线。
    优点:只对中线处理,中线也好检查,
    成功率》tch,《abd5.0,它对弧线
    的处理也相当稳定。对于复杂交接
    和重线情况基本上不用调整修改。(附图)
    缺点:对arc等其他线型还找不到好的处理
    办法,(xx+犯懒:) )。

  3. xd这里可能某些字符是格式符,吞字,写的字
    和显的字不一样,说的意思拧了。
    老菜的程序中对弧线开口的处理没考虑,而不是
    “对弧线 的处理也相当稳定”---想着
    xx也犯懒。很久了,就是加不上弧线部分。:)
    不过直线部分成功率还算高,看看附图,如果用tch3.0,
    不知会漏几根线。实际上用fillet,break在捕捉时
    很容易出错,包括abd2.0~3.5的版本。
    我程序中最关键的函数实际上是abd
    的left(判断点在线的左上右的,明经那儿也登了,他
    还说是无名氏,呵呵)。
    abd的编程水平高,可是做的东西用不顺,可惜了。

  4. 我定义墙中线的理由:
    用线型定义,一目了然,所以以前用xdata记录,
    后来开倒车用复杂线型。因为常用的墙厚就几种,
    60,90,100,120,180,200,240,370,
    也写过输墙厚在acad.lin文件中加线型定义的程序,
    作为临时增加。这几个常用线型在样板图中始终存在。
    所有的操作只对中线进行,即使重线,只要重线
    是一样的墙厚,变双结果一样。
    墙中偏移,在当年用archtlt时,就发现虽然可以
    定义墙偏移,但是一旦copy,mirror,线的头尾
    点可能不如所愿,造成反偏移,而且未变双看不
    出来,变双后再检查又很麻烦。所以我取消偏移,
    当然也简化了程序。
    单线变双,我感觉{zh0}的是abd5.0和得赛,成功率
    都相当高;tch3.0的水平和abd早期版本差不多,稍
    微复杂就容易漏线,乱连。不过得赛的D版少见,abd
    的操作麻烦。所以当时决定自己写一个,花了3天初稿,
    补充测试15天,但是没加入弧线部分,因为弧线部分
    连门窗的定义方式都没确定。

郑重声明:资讯 【关于单线变双的算法,大家能讨论一下吗? « CAD家园】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——