3dsmax maxscript教程-间隔取一个多边形面小脚本

本文摘要:

重新编写一段关于editpoly间隔一格取一个面的算法,我之前也写过一个类似的算法,但是觉得算法太过于依赖数学运算而不是3dsmax maxscript的运算流程的,数学运算的通用性感觉不大好,而且修改繁琐,这次改进的算法就简练多了,可重用性还不错,只要稍微修改几个参数就能得到各式各样的效果,

算法分解:

–建立空数组

n=#()

–分列数。就是一个网格格子纵向的数量

k=32

–数组n的系列排序,初始量为1

u=1

–for循环 a的值等于网格的行数量

for a =0 to 20 do

(

–mod是取余数的运算,当余数等于0时运算代码,不等于0时运行代码

if (mod a 2)==0 then

(

–在if语句中嵌套for循环函数,当等于0时,做k值范围内的循环运算,b的值每次加2取值

for  b=1 to k by 2 do

(

–数组赋值

n[u]=a*k+b

u+=1

)

)

else

(

–同上

for  b=2 to k by 2 do

(

n[u]=a*k+b

u+=1

)

)

)

–定义变量m,把n数组的数据类型转化为bitarray

m=n as bitarray

–选择bitarray值的曲面

$.EditablePoly.SetSelection #Face m

 

合作项目:
版权声明:
0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧

老林站长

工业设计建模,建筑参数化,动画渲染,在线指导

作者

关于本文的有任何疑问都可以在评论区提问。

微信群

加入犀牛技术微信解答群,随问随答

Rhino课程

工业设计的犀牛建模实战课程

参数化纹理

参数生成无缝纹理

BIM考证特训

完全免费在线考试特训视频

购物车
优惠劵
搜索