songzhi 发表于 2005-9-9 17:42:00

SPLINE to PLINE怎么用VBA实现?

本帖最后由 作者 于 2005-9-9 22:11:46 编辑 <br /><br /> <P>在MJTD的杂志上看到了一篇介绍把SPLINE转换为PLINE的代码,只是用LISP编写的。可是我对LISP是一窍不通,我特别需要这样的功能,自己想过用VLAX来搞的,可是在总是提示加载应用程序出错,只好作罢。</P>
<P>想请高手帮忙用VBA编写一下这个函数: spl2pl(splSS as AcadSelectSet,maxArcLen as Double) &nbsp;as long,splSS为包含SPLINE的选择集,maxArcLen为拆分后圆弧的最大弧长,返回值为经成功转换后的数量。</P>
<P>多谢了!</P>

songzhi 发表于 2005-9-11 17:57:00

看来是没有人理我了。查看了明经网后找到了VLAX不好用的原因了,我自己试试先,也请各位提提建议。

songzhi 发表于 2005-9-12 22:11:00

多谢各位了,在下已经解决上面的问题了,特别感谢龙龙仔版主,以及ZZXXQQ!

jcmtxgt 发表于 2005-10-8 06:49:00

<P>可以上传上来大家分享一下吗?</P>

songzhi 发表于 2005-10-12 21:21:00

<P>稍等一下,我正在外面出差。回去整理一下贴出来。</P>
<P>不知龙龙仔和ZZXXQQ会不会有意见?</P>

songzhi 发表于 2005-10-21 20:20:00

<P>程序最后还是用LISP实现的,只是在VBA中调用了一下。见附件</P>
<P></P>
<P>&nbsp;</P>

zoomworld 发表于 2007-8-28 13:32:00

楼主,我是超级菜鸟。请问你的命令是什么?

天龙八部 发表于 2007-9-7 16:50:00

首先得知道样条曲线转化为多段线的原理,即先将该样条曲线的文档保存为外部块文件,然后打开外部块文件,另存为DXF格式的文件,最后在引入DXF文件,同时删除原样条曲线,得到多段线

llsheng_73 发表于 2007-10-17 21:10:00

<p>各种曲线转为多线段执行最快的办法是直接用等分的办法,得到画多线段所需要的点,但画出来效果要差些,不是变形较大就是点很多,比如南方CASS把一个椭圆弄成多线段,不管其大小通通都是100个左右结点,其效果可想而知,但处理起来确实很快</p><p>我自己写过一个类似的程序,思路是先得到要处理的线上的点Pt(P1,P2,,,Pn),在Pn和Pn+1中间得到点q,判断q到直线Pn-Pn+1的距离及Pn-q + q-Pn+1 -Pn-Pn+1是否很小(或者三角形Pn-q-Pn+1面积是否很小),如果不是,将q加入到Pt的Pn之后,Pn+1之前</p><p>如果是,则不需要该点,只要将n+1就行了</p><p>我试过这个办法,处理出来效果很好,但由于判断过程太长,处理时间基本上由曲线形状决定</p>

flfcegu168 发表于 2008-2-22 22:22:00

<p>转换后精度不够&nbsp; 我们处理的图档要在+-0.005以下  没有EXPRESSTOOLS里的FALTTEN 精度高  请改进谢谢  </p>
页: [1] 2
查看完整版本: SPLINE to PLINE怎么用VBA实现?