有很多同学可能想要知道该如何实现属性表中的下拉选择,而不是完全由数值输入的形式来改变参数,毕竟有很多构件是有标准尺寸的,而标准尺寸是有多个固定的数值,并不允许随意更改。因此,下拉选择还是很有必要的
想要实现下拉选择的效果实际上很简单,我们只需要在设置参数时,在Attr里面新增一个Tag就可以了。
3.3.1 combo标签
通常,我们在设置参数时,一般会在Attr
中放置文字(str
)或数值(int
或float
),以及obvious
和readonly
这两个tag。现在,我们有一个新的tag——combo
注意,obvious
、readonly
、combo
这三个tag全部都是纯小写字母,不要输入大写字母。combo
标签的格式如下所示:
self['长'] = Attr(1000.0, obvious=True, combo = [500,1000,2000,3000,4000])
需要将一个list
赋值给combo
标签。要注意的是,list
中装填的元素应当与Attr
中给定的默认参数保持相同类型,并且应当有一个元素与默认参数相同。
接下来,我们以长方体为例,将combo
标签放入Attr
中。
from pyp3d import *
class 立方体(Component):
def __init__(self):
Component.__init__(self)
self['长'] = Attr(1000.0, obvious=True, combo = [500,1000,2000,3000,4000])
self['宽'] = Attr(1000.0, obvious=True)
self['高'] = Attr(1000, obvious = True)
self['立方体'] = Attr(None, show=True)
self.replace()
@export
def replace(self):
L = self['长']
W = self['宽']
H = self['高']
TestCube = scale(L,W,H) * Cube()
self['立方体'] = TestCube
if __name__ == "__main__":
FinalGeometry =立方体()
place(FinalGeometry)
此时,我们运行脚本并将长方体布置到工程文件中,并选中该长方体,可以看到,该长方体的参数“长”已经变成了下拉选单的形式。

注意,当使用了combo
标签时,就不能再随意设置数值了。因此,一定要确认好是否需要任意修改参数的数值后,再决定是否使用combo
标签。