示例#1
0
文件: sample.py 项目: buguen/osvcad
# n1 = GeometryNodeStep(step_file_path="step/sphere.stp", anchors=None)
n1 = GeometryNodeStep(step_file_path="step/plate_with_holes.step",
                      anchors=None)
n2 = GeometryNodePyScript(py_script_path="py_scripts/plate_with_holes.py")
n3 = GeometryNodeLibraryPart(
    library_file_path="libraries/ISO4014_library.json",
    part_id="ISO4014_M2_grade_Bx21")

A = Assembly()

# A.add_node(n1)
# A.add_node(n2)

A.add_edge(n2,
           n1,
           object=ConstraintAbsolutePositionning(t=(0, 0, 20), r=(0, 0, 0)))

A.add_edge(n2,
           n3,
           object=ConstraintAbsolutePositionning(t=(50, 25, 0), r=(0, 0, 0)))

print(A.number_of_nodes())
print(A.number_of_edges())

# A.show_plot()
# A.write_yaml("sample.yaml")
A.write_json("sample.json")

A.display_3d()
示例#2
0
文件: sample.py 项目: Fermium/gitea
nuts = [
    Part.from_library_part(library_file_path="libraries/ISO4032_library.json",
                           part_id="ISO4032_Nut_M2.0") for _ in range(4)
]

assembly = Assembly(root=plate_gn)

for i, screw in enumerate(screws, 1):
    assembly.link(plate_gn,
                  screw,
                  constraint=ConstraintAnchor(anchor_name_master=str(i),
                                              anchor_name_slave=1,
                                              distance=0,
                                              angle=0))

for i, (screw, nut) in enumerate(zip(screws, nuts), 1):
    assembly.link(screw,
                  nut,
                  constraint=ConstraintAnchor(anchor_name_master=1,
                                              anchor_name_slave=1,
                                              distance=-5 - 1.6,
                                              angle=0))

if __name__ == "__main__":
    print(assembly.number_of_nodes())
    print(assembly.number_of_edges())

    # view_part(nuts[0])
    # view_assembly(assembly)
    # view_assembly_graph(assembly)