duotu007 发表于 2010-6-28 19:25:00

删除多段线中的圆弧,有什么好办法么?

本帖最后由 作者 于 2010-6-28 19:46:12 编辑 <br /><br /> <p>过程如图:由于热工分析软件仅识别直线,所以必须把圆弧都转成近似的直线。</p>
<p>&nbsp;图中的4是根据情况手动输入的,封闭的多段线,包含很多不同半径的圆弧(有的甚至有上百个圆弧),在输入4的时候提示所包含圆弧的最小弧长,输入必须小于这个弧长。</p>

duotu007 发表于 2010-6-28 19:43:00

<p>我现在想到的办法是:如图</p>
<p>&nbsp;</p>
<p>1.找出圆弧并画出来</p>
<p>2.画辅助圆</p>
<p>3.连线</p>
<p>4.炸开多段线并删掉圆弧</p>
<p>5.连接新多段线。</p>
<p>&nbsp;</p>
<p>感觉有点笨。大侠们有什么好办法么?</p>

ZZXXQQ 发表于 2010-6-28 20:38:00



;弧转线 明经 ZZXXQQ 2006.5.26
(DEFUN C:TEST ()
(SETVAR "CMDECHO" 0)
(COMMAND ".UNDO" "BE")
(PRINC "\nSelect Polyline(s) :")
(IF (SETQ SS (SSGET '((0 . "*POLYLINE")))) (PROGN
(COMMAND "ZOOM" "ALL")
(SETQ NM (FINDFILE "TEST.WMF")
          PT (LIST (CAR (GETVAR "EXTMIN")) (CADR (GETVAR "EXTMAX"))))
(IF NM
   (COMMAND "WMFOUT" NM SS "")
   (COMMAND "WMFOUT" "TEST.WMF" SS "")
)
(COMMAND "ERASE" SS "")
(SETQ S1 (ENTLAST))
(COMMAND "WMFIN" "TEST.WMF" PT "2" "" "" "EXPLODE" "L" ""
                "ERASE" (IF S1 (ENTNEXT S1) (ENTNEXT)) "" "ZOOM" "P")
))
(COMMAND ".UNDO" "E")
(SETVAR "CMDECHO" 1)
(PRINC)
)

duotu007 发表于 2010-6-29 08:27:00

版主,你发的代码不对啊。

srm 发表于 2010-8-10 11:22:00

<p>可以这么笨:</p>
<p>从1个定点,作射线,用你的圆弧剪切射线,得到射线的端点。依次循环,将端点存储在表中。最后画直线时依次读取表中数据。循环变量越小,你获取的直线精度也就越高</p>

chlh_jd 发表于 2010-8-10 22:38:00

<p>可以先求圆弧圆心和圆心角,根据需要等分求得各个点,修改图元表完成修改。</p>
<p>具体可以参照这里</p>

chlh_jd 发表于 2010-8-10 22:41:00

<p><strong>宽PL线转线框</strong></p>

duanfenghan 发表于 2012-3-30 16:16:11

看看
学习一下

另类思维 发表于 2012-8-29 16:54:54

ZZXXQQ 发表于 2010-6-28 20:38 static/image/common/back.gif


请教高手。这个怎么用啊

这般炸酱面 发表于 2019-5-21 16:51:24

我擦 还看不了帖子 发帖数量不够
页: [1] 2
查看完整版本: 删除多段线中的圆弧,有什么好办法么?