3.1.1 Python模板介绍

(本节内容旨在让大家快速上手生成自己的第一个Python构件,因此这里先不关注模板每一部分的细节,而注重于关键功能实现。)

新建插件

插件模板提供了一个生成长方体的Python脚本。关于Python参数化组件建模部分,可以查看 【二】.Python建模接口文档进行详细学习

首先,我们一起看下点击“新建插件”生成的python模板脚本(这是常规固定写法):

第一步,我们一起来看红框标出的参数化接口声明部分,这里我们定义了3条属性,以第11行代码所代表的属性【高】为例,此行代码最终实现的效果为:对Python模型添加1条属性,名称为【高】,默认值为500;不难推断出另外两条属性分别为【长】,默认值1000【宽】,默认值300.0
接下来就是橙框标出的造型实现部分,第18行代码将属性【长】的默认值1000传递给了变量【L】;19,20行代码也做了相似的操作。
第二步,第22行代码实现的效果为:生成一个立方体,它的尺寸为长1000,宽300,高500,并且它的“名字”叫【TestCube】。根据文字描述拆分此行代码所用到的函数不难得出以下结论:

1.Cube()可以生成一个立方体
2.scale()函数可以传进去三个值,并将立方体按输入的三个值进行xyz轴的放大缩小
3.【*】可以将scale()作用于Cube()

最后对【TestCube】赋值给self[‘长方体’],点击运行即可在BIMBase中看到生成的模型了

3.1.2 如何实现参数化

实际上,只要模型造型部分用到了事先声明的【参数化属性】,而不是直接给具体数值,就可以实现模型与参数的联动,也就是说模板代码有无过程变量【L】【W】【H】本质上是不影响最终的效果,但是为了代码简洁以及后期维护(还有可能触发一些奇怪的BUG),尽量还是做一层中间变量的传递,去实现我们最终的造型。

3.1.3 常见接口

这里我们提供一些基础的造型函数和对其操作的造型功能函数,详细内容可见接口文档。

from pyp3d import *
# 造型函数
Vec3(1,3,4)                    #在(X=1,Y=3,Z=4)的位置生成一个【三维点】
Line()                         #根据输入的两个或以上【三维点】生成一条【直线】或【多段线】
Section()                      #输入两个以上的【三维点】生成一个【截面】
Sweep()                        #输入一个【截面】和一条【直线】/【多段线】,即可将截面沿直线方向扫掠生成实体
Cube()                         #生成一个1*1*1的立方体
Sphere()                       #生成一个半径为1的球体
# 造型功能函数
trans(13,45,77)                #将模型移动至点(X=13,Y=45,Z=77)
rotx(pi/2)                     #将沿x轴旋转pi/2
roty(pi/2)                     #将沿y轴旋转pi/2
rotz(pi/2)                     #将沿z轴旋转pi/2
scale(100,200,300)             #将模型xyz轴分别放大100,200,300倍
scale(7)                       #将模型整体尺寸放大7倍(不分xyz轴)

BIMBase Python 参数化组件建模教学视频课程

如果你对Python参数化组件建模有兴趣,可以点击下方链接进行学习
【视频】BIMBase Python参数化组件建模
也可以跳转至本文档的二.Python建模接口文档