qjtang 发表于 2005-1-18 23:20:00

快来帮忙啊!先谢谢了!

我是一个cad菜鸟,但是想用vba实现一个功能,就是把一张标有立体坐标的平面图转换成立体图,那位仁兄帮帮忙,给点建议!定重谢哦!

定重谢哦!

mikewolf2k 发表于 2005-1-19 20:07:00

你先把你的示范文件给大家看看吧。


个人认为,你这个要求很难满足。

qjtang 发表于 2005-1-20 10:36:00

楼上的热心兄弟,非常感谢!但是这个要求是老板提出来的,不满足不行呀!能具体一点为什么不能满足吗?我想只要能把简单一点的图转换过来那么复杂的也就没什么问题了,比如说两条相交的多线转换成两个相交的管道,仅靠改变各个交叉点和端点以及始点的z坐标,然后切换一下视图能达到目的吗?

yulijin608 发表于 2005-1-20 15:53:00

是不是要将二维的线转换成三维的?

laoliu09 发表于 2005-1-20 18:00:00

好像有点难度!

qjtang 发表于 2005-1-21 16:07:00

是把2维的线转化成三维的呀,大家都知道一个有很多管道的哪个屏保程序吧,就是把平面的线图转换成那种图!不过不用动态。

laoliu09 发表于 2005-1-21 17:02:00

本帖最后由 作者 于 2005-1-21 17:50:38 编辑

哦,我打开屏保程序看了一会,这才明白你的要求,我没搞过管道,但我想你的问题是可以解决的!我说说我的办法吧!大家可以评评看!



首先,设置多段线各顶点的高程,使多段线形成空间多段线,就相当于管道的轴线,然后通过循环遍历多段线各段,对于每一段,先建一条直线(用这条直线作面域),根据管道的半径把这根直线作成面域,然后绕这根直线旋转形成立体圆柱,还要在这根直线的一端根据管道半径做一个立体球(作为管道拐弯处),删除这根直线,再处理下一段,最后把各个立体圆柱和各个立体球进行进行布尔并集运算,可得一根立体管道,最后删除这根多段线,当然,你也可以渲染一下,那效果更好。对于两根同一平面上的管道,可以通过布尔并集运算使两根立体管道相交!最后就可以设置视图啦!OK!这只是一个算法,具体编程就靠你自己啦!


我的方法就这样啦!希望对你有帮助啦!
页: [1]
查看完整版本: 快来帮忙啊!先谢谢了!