首页 > 代码库 > 展平splineshape
展平splineshape
通过for循环的嵌套来来展平Splineshape中顶点
1.判定选中的样条曲线是否符合要求
2.通过循环来计算曲线中每个顶点
3.将计算到的顶点的Z坐标位置设置成和曲线本身的Z坐标一致
4.执行完以上操作后 使用UpdateShape()更新曲线
--判断选择的曲线是否是可编辑样条曲线 曲线的数量是1 并且没有添加任何修改器if ( selection.count==1 and (classof selection[1]==SplineShape or classof selection[1]==line) and selection[1].modifiers.count==0 )do ( posZ=$.pos.z --声明一个变量 存储当前物体的Z坐标 for splines=1 to (numSplines $) do --在for循环中计算从1到选定对象中的样条线数 ( for knots=1 to (numKnots $ splines) do --计算选中样条线的点 ( --将当前样条线中的点的Point3的世界坐标存到变量中 knt = getKnotPoint $ splines knots --读取选定当前选中线条中的点矢量 将Point3直接坐标存到变量中 in_vec = getInVec $ spines konts --读取出当前循环到的样条线的点的矢量 将Point3直接坐标存到变量中 out_vec = getOutVec $ spines knots --将向量和点的Z坐标设置为 posZ变量中存储的新值 knt.z = in_vec.z = out_vec.z = new_z --指定新进出矢量重置为各自的节点和样条线 setInVec $ s k in_vec setOutVec $ s k out_vec --将回存到各自的节点和样条线指定新的节点位置 setKnotPoint $ s k knt )--end knots loop )--end splines loop )--end if updateshape $--更新的内部数据结构进行的所有更改
展平splineshape
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。