函数: Arc(角度)
示例:

from pyp3d import *
# 定义参数化模型
class 弧(Component):
# 定义各个参数及其默认值
def __init__(self):
    Component.__init__(self)
    # obvious 属性的可见性 True时可见,False为不可见。默认为False
    # readonly 属性的只读性 True时不可调,为置灰状态,False为可调状态。默认为False
    self['a轴长度'] = Attr(1000.0, obvious=True, readonly = False)
    self['b轴长度'] = Attr(300.0, obvious=True)
    self['弧'] = Attr(None, show=True)
    self['旋转角度'] = Attr(0,obvious = True)
    self['X'] = Attr(300.0, obvious=True)
    self['Y'] = Attr(300.0, obvious=True)
    self['Z'] = Attr(300.0, obvious=True)
    self.replace()
@export
# 开始写模型
def replace(self):
    # 在 def relpace(self)中,凡是self['']形式的变量,都会参与输出与绘制。
    # 因此,请不要随便使用self['']来作为变量名,尽量在最终输出模型时以该形式作为变量名
    # 设置变量,同时调用参数(简化书写过程)
    L = self['a轴长度']
    W = self['b轴长度']
    x = self['X']
    y = self['Y']
    z = self['Z']
    Angle = self['旋转角度']
    # 绘制模型
    self['弧'] = translate(x,y,z) * rotation(math.pi/180 * Angle) * scale(L,W) * Arc(math.pi*2)
# 输出模型
if __name__ == "__main__":
FinalGeometry = 弧()
place(FinalGeometry)

实现效果

示例中所包含的函数:

代码 函数名
Arc 圆弧线函数
color 颜色参数

示例中,第一行为引用pyp3d工具包,每个脚本的开头都应当引用所需使用的工具包。(后文中所有示例中默认首行已引用pyp3d)
Arc创建的是单位圆弧(半径为单位1的圆弧)。Arc只需要填写角度,即可创建一个单位圆弧。如Arc(pi*2),即为创建一个单位圆。示例中填写的角度值为1.5π,则会创建一个半径为1的3/4个圆弧。
Arc的默认绘制起点为X轴上,即圆心为(0,0,0),起点为(1,0,0),绘制方向为逆时针绘制,遵循右手定则。

1.1.1 右手定则

右手食指到小指四指握拳,大拇指伸出(“点赞”造型)。大拇指指向为旋转轴指向,四指握拳方向为旋转的正方向。即当右手握拳放于桌面上是,大拇指朝上,此时拇指指向为Z轴正方向,桌面为XY平面,旋转方向为逆时针。

1.1.2 三点画弧

Arc函数可以实现三点画弧功能。只需要将原有的角度值改为三个点即可。这三个点分别为弧线的起点,弧线中任意一点和弧线终点即可。
示例:

from pyp3d import *
# 圆弧线-三点画弧
# 函数名 Arc
# 参数:圆弧角度(弧度制) 
from pyp3d import *
# 定义参数化模型
class(Component):
    # 定义各个参数及其默认值
    def __init__(self):
        Component.__init__(self)
        self['弧'] = Attr(None, show=True)
        self.replace()
    @export
    # 开始写模型
    def replace(self):
        # 绘制模型
        self['弧'] = Arc(Vec3(0,0,0), Vec3(100,100,0), Vec3(0,200,0)).color(1,0,0,1)
# 输出模型
if __name__ == "__main__":
    FinalGeometry = 弧()
    place(FinalGeometry)

1.1.3 color函数

color函数包括了颜色和不透明度。color中的四组数字分别代表R(红),G(绿),B(蓝)和不透明度。其中R,G,B的取值范围是0到1(对应0到255),不透明度的取值是0到1,数字越大,不透明度越高(透明度越低),当不透明度为0时,构件会在P3D的光照下呈白色和灰色。当不输入颜色时,输出默认颜色,为白色不透明。

1.1.4 place函数

place函数为放置纯几何体,即需要在BIMBase中手动使用鼠标左键选择布置位置。
通常,非参数化建模过程中,只需要使用create_geometry和place中的一个即可,不需要同时使用这两个函数。