# 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()
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)