cityengine规则建模之常用规则函数1(无实例)
属性定义:变量定义——如高度值,宽度值等,一般形式为 : attr 变量名=变量值;
常量定义——如纹理的路径(可直接将纹理图片拖入),导入数据的存储路径等,一般形式为 : const 常量名=常量值,或者 attr 常量名=常量值。
拉伸函数:extrude(世界坐标轴的某个轴向axisWorld,拉伸的长度height),另外,extrude(50)表示默认为在垂直于该对象的方向拉伸50m。
颜色函数:color(r,g,b),每种颜色取值范围是[0,1],如红色color(1,0,0)。
或者color(s),以16进制来表示,如红色color(#ff0000#)。
组件分离函数:comp (f/e/v) { selector : operation | selector : operation…}
f——面切割,e——边缘切割,v——顶点切割;
selector——被切分出的面,例如:front, back, left, right, top, bottom, vertical, horizontal, aslant, side;
operation——表示对所切分的面执行的操作,如对后续名称,颜色或高度等属性的定义;
“|”字符分开切割的顺序。
切割函数:split(以局部坐标系为准的切割所沿的轴线方向splitAxis){切割宽度size1 :operations1 | size2 :operations2 | …}*
"*"表示对其紧贴的大括号内的内容进行重复。
缩放函数:s (float xSize , float ySize ,f loat zSize)
例如s(‘0.5,‘0.5,0.5)表示将原始模型在x,y轴上缩放成为了原来的0.5倍,在z轴上长度缩短了0.5m。若要实现拉伸,使用负值即可。
平移函数:t(tx ,ty , tz)
沿着局部坐标系的各个轴向平移相应的偏移量。
旋转函数:r (centerSelector , xAngle , yAngle , zAngle)
centerSelector 定义模型旋转时的旋转中心,scopeOrigin(模型原始坐标系)或scopeCenter(模型中心坐标系),若不定义centerSelector,则默认为scopeOrigin,即模型原始坐标系。
xAngle , yAngle , zAngle为基于scope轴的每个轴的旋转角度。
坐标转换函数:reverseNormals()
将导入的模型的坐标系转换成场景坐标系。
NIL函数:NIL
作用是将当前规则所控制的模型从整体的三维模型中删除或结束规则中的循环。
innerRect函数:innerRect()
作用是将模型建立在当前几何图形中面积最大的矩形上。