跳到主要内容

Assembly API

Assembly 领域把可复用 Item 定义与已放置实例分开。Part 持有 Body Geometry 与 Part 元数据;Component 把 Part 或子 Assembly 放置在父 Assembly 中。

产品结构

类型身份与作用
Partpart_id、Body、可选 Name、Material 与 Connector
Assemblyassembly_id、Component、Assembly Connector、Constraint 与 Grounded ID
Component唯一实例 ID、引用的 Item 与 Placement
Placement刚性右手变换
Material显式工程属性与外观元数据
body = cad.make_box_rsolid(60.0, 40.0, 4.0)
part = cad.make_part_rpart("base", body, name="Base plate")
assembly = cad.make_assembly_rassembly("fixture")
assembly = cad.add_component_rassembly(
assembly,
part,
component_id="base-1",
placement=cad.make_placement_rplacement((0.0, 0.0, 0.0)),
)

ID 必须非空且在所属 Scope 中唯一。更新辅助函数返回新产品值。

Placement

Placement 包含 Origin 和正交归一轴。公共辅助函数可创建 Identity、平移与 Z 旋转 Placement,组合与求逆 Transform,并计算相对 Placement。组合顺序有明确含义:Placement 从根 Assembly 传播到每个实例。

Connector

Connector 通过显式 Placement 或 Face、Edge、Vertex Geometry Reference 表达稳定装配意图。ConnectorRef 标识 Constraint 使用的 Component 与 Connector。

Connector Resolution 会验证 Component Path 和底层引用。Forwarded Connector 可在父 Assembly 边界暴露子 Item 接口,无需展平层级。

Constraint

约束运动意图
Fixed消除相对刚体运动
Revolute只允许绕一个轴旋转
Prismatic只允许沿一个轴平移
Gear按 Ratio 耦合角运动
Belt通过节圆关系耦合 Pulley 运动
Rack-pinion耦合旋转与线性位移

至少 Ground 一个合适的 Component,或以其他方式提供稳定参考。solve_assembly_constraints_rassembly(..., strict=False) 返回更新后的 Placement;inspect_assembly_constraints_rconstraintreport(...) 提供残差与诊断;发布边界使用严格求解。

输出与相邻领域

make_compound_from_assembly_rcompound 把已放置实例下沉为组合几何。运动学约束只描述允许的运动,不描述刚度、摩擦、预紧或分布式表面接触;这些声明分别属于物理连接仿真交接

全部符号见 51 个 Assembly API