在su的开发过程中,对于初学者对单位的处理比较容易犯错,本文举几个代码的简单示例,帮助大家了解su里的Numeric跟单位units的关系。
首先,在su里通过代码画一个点,点的高度为12m,尝试一下代码:
mod = Sketchup.active_model # 获取su里的模型
ent = mod.entities # 模型里的所有物体
point=[0,0,12]
ent.add_cpoint point
如果按照以上代码,你会发现,代码画出来的那个点,如下图,圈圈划出的点,高度不太对。
正确的高度如上图的右侧,为什么呢?
这是因为su api里的数字Numeric类型的单位问题,比如
n=12
UI.messagebox(n)
弹窗显示的是12,但是后面没有带单位。
我们再在代码里加上一行:
n=12
n=n.m
UI.messagebox(n)
这会弹窗显示的n是12m,带上了单位。
可见,在su的编程中,如果涉及到数字的话,需要给一个单位,不然会出现异常情况哦~
那么,如何绘制一个12m高的点到su里呢?代码如下:
mod = Sketchup.active_model # 获取su里的模型
ent = mod.entities # 模型里的所有物体
point=[0,0,12]
point.z=point.z.m
ent.add_cpoint point
记得给数字加上一个设定单位的命令,此部分详细的资料可以查看su的开发文档:
http://ruby.sketchup.com/Numeric.html
相关推荐