|
"组件不能获取不在它那个层级别的其他组件的值。"...
这一点很好理解...在su软件中,组和组件是靠引入相对坐标系来管理滴,如此这般,组中组、件中件,一层层嵌套其中,每层都有自己相对外层组或组件的独立坐标系。因为坐标系的不同,自然无法获取其他层级的构件值嘞。换句话讲,SU软件做了一个限定,即:从外层不能直接操作组或组件当中的构件。只有打开组或组件,才能操纵。所以在制作动态组件时,不要试图从外层直接操纵组件中的构件。而是应该由内向外来建模,先将最内层组件的参数,用该层根组件【暂且这么叫吧】中各参数做变量赋值,偶管这叫参数封组,这样,组件就有了外层接口。封组后,就不需要再考虑内层组件内部情况,只需专心考虑外层接口,也就是刚才那个根组件的参数赋值。如此这般,由内向外层层设计并封组...补充一句,su会自己根据底层组件与顶层组件之间的相对坐标轴差,自动计算内层组件的位置与尺寸等参数取值滴...嫩看懂意思了米有?舌头都打结儿啦...嘿嘿...
举个例子,看图...
...这是三个内层组件,底座、栏杆、灯头...
...如下图,作封组设置,注意看最后一行那个传参设置...
...到外层看看...
...将来通过改变外层lenz参数,这个模型的栏杆部分就会变长,灯头和灯座尺寸和相对位置不会变化...
最后调整成这样...养成良好习惯,让语法符合调用逻辑...
要明白一点,参考坐标系的改变,只会影响不同组件层组件的位置参数,尺寸是不受影响的,所以不要试图去在不同组件层中传递位置参数,这样做没有意义,把它交给SU去做,层间只传尺寸参数这个偶想了一整天才明白...刚开始琢磨...欢迎纠正...
|
|