很久前就想编写个程序:用GH或rhinoscript 展开扭曲的曲面(可展的曲面),但参考了很多vb代码始终没能把它给写出来。最近有个工程是扭曲的飘带,材料为铝单板,分格后单块板子类似于圆锥体,但几百块铝板没有一块是相同的。一块铝板分两个大面焊接,两个大面加两个扭曲的折边,那么一块铝板就需要展开4个曲面,如果用rhino的手工命令展开,要重复N多步骤!!最可恶的是rhino里的展平命令展平后的面都默认定位在原点,而且方向不一,展开前就不得不在原曲面上作个点标记方向,展开后和原来的曲面对比,然后要移动,要镜像,要旋转,每块展开的曲面都需要手工检查方向是否正确。这是个繁重的活儿,能秒杀性急的童鞋! 为解决这个问题,重温script功课,终于编了个小程序告别了繁重手工步骤。此小程序估计可以提高8倍的工作效率,减轻身体劳累,且确保正确无误。 总结:一点想法,一些做法,这就是rhino和GH给我的最好启发。 思路:由曲面上3个点确定展开后方向正确(就是正反面的确定),利用Xform转换展开的曲面。核心函数:UnrollSurface。 下面上图:
1.部分飘带三维图: 2.展开: 3.GH图: 源文件就不放上了,重在思路。 |