PATH = os.path.join(DATA, 'stack.json') # load assembly assembly = Assembly.from_json(PATH) # compute interface forces compute_interface_forces_cvx(assembly, solver='CPLEX', verbose=True) # serialise assembly.to_json(PATH) # visualise R = Rotation.from_axis_and_angle([1.0, 0.0, 0.0], -pi / 2) assembly_transform(assembly, R) plotter = AssemblyPlotter(assembly, figsize=(10, 7)) plotter.draw_vertices(text={key: str(key) for key in assembly.vertices()}) plotter.draw_edges() plotter.draw_blocks(facecolor={ key: (255, 0, 0) for key in assembly.vertices_where({'is_support': True}) }) plotter.show()
""" import os from compas.geometry import Frame from compas.geometry import Transformation from compas_assembly.datastructures import Assembly from compas_assembly.datastructures import assembly_transform HERE = os.path.dirname(__file__) DATA = os.path.join(HERE, '../data') PATH_FROM = os.path.join(DATA, '090_wall_courses.json') PATH_TO = os.path.join(DATA, '51_wall_transformed.json') assembly = Assembly.from_json(PATH_FROM) # Set default attributes which will be changed later on in the planning process assembly.update_default_vertex_attributes(is_buildable=False, is_planned=False, is_built=False) # Define the frame where you want to transform the brick wall to. pt = (-0.189775, -0.871978, 0.518383) frame = Frame(pt, (1, 0, 0), (0, 1, 0)) T = Transformation.from_frame(frame) # Transform the assembly assembly_transform(assembly, T) # serialise assembly.to_json(PATH_TO)