明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6093|回复: 11

SPLINE to PLINE怎么用VBA实现?

  [复制链接]
发表于 2005-9-9 17:42:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2005-9-9 22:11:46 编辑

在MJTD的杂志上看到了一篇介绍把SPLINE转换为PLINE的代码,只是用LISP编写的。可是我对LISP是一窍不通,我特别需要这样的功能,自己想过用VLAX来搞的,可是在总是提示加载应用程序出错,只好作罢。

想请高手帮忙用VBA编写一下这个函数: spl2pl(splSS as AcadSelectSet,maxArcLen as Double)  as long,splSS为包含SPLINE的选择集,maxArcLen为拆分后圆弧的最大弧长,返回值为经成功转换后的数量。

多谢了!

 楼主| 发表于 2005-9-11 17:57:00 | 显示全部楼层
看来是没有人理我了。查看了明经网后找到了VLAX不好用的原因了,我自己试试先,也请各位提提建议。
 楼主| 发表于 2005-9-12 22:11:00 | 显示全部楼层
多谢各位了,在下已经解决上面的问题了,特别感谢龙龙仔版主,以及ZZXXQQ!
发表于 2005-10-8 06:49:00 | 显示全部楼层

可以上传上来大家分享一下吗?

 楼主| 发表于 2005-10-12 21:21:00 | 显示全部楼层

稍等一下,我正在外面出差。回去整理一下贴出来。

不知龙龙仔和ZZXXQQ会不会有意见?

 楼主| 发表于 2005-10-21 20:20:00 | 显示全部楼层

程序最后还是用LISP实现的,只是在VBA中调用了一下。见附件

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2007-8-28 13:32:00 | 显示全部楼层
楼主,我是超级菜鸟。请问你的命令是什么?
发表于 2007-9-7 16:50:00 | 显示全部楼层
首先得知道样条曲线转化为多段线的原理,即先将该样条曲线的文档保存为外部块文件,然后打开外部块文件,另存为DXF格式的文件,最后在引入DXF文件,同时删除原样条曲线,得到多段线
发表于 2007-10-17 21:10:00 | 显示全部楼层

各种曲线转为多线段执行最快的办法是直接用等分的办法,得到画多线段所需要的点,但画出来效果要差些,不是变形较大就是点很多,比如南方CASS把一个椭圆弄成多线段,不管其大小通通都是100个左右结点,其效果可想而知,但处理起来确实很快

我自己写过一个类似的程序,思路是先得到要处理的线上的点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之前

如果是,则不需要该点,只要将n+1就行了

我试过这个办法,处理出来效果很好,但由于判断过程太长,处理时间基本上由曲线形状决定

发表于 2008-2-22 22:22:00 | 显示全部楼层

转换后精度不够  我们处理的图档要在+-0.005以下  没有EXPRESSTOOLS里的FALTTEN 精度高  请改进谢谢  

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-27 16:11 , Processed in 0.207016 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表