diff --git a/CHANGELOG.md b/CHANGELOG.md index 7aad41246..72e3d9e64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Fixed missing input parameter in `SurfaceModelOptions` GH Component. * Fixed error with tolerances for `SurfaceModel`s modeled in meters. * Renamed `beam` to `element` in different locations to make it more generic. +* Fixed `AttributeError` in `SurfaceModel`. +* Updated example scripts. +* Calling `process_joinery` in `SurfaceModel`. ### Removed diff --git a/examples/model/0001_model.py b/examples/model/0001_model.py index ccd07e3e9..2cd681982 100644 --- a/examples/model/0001_model.py +++ b/examples/model/0001_model.py @@ -11,14 +11,14 @@ HERE = os.path.dirname(__file__) -LINES = os.path.join(HERE, 'lines.json') +LINES = os.path.join(HERE, "lines.json") def create_viewer(): viewer = Viewer() viewer.renderer.camera.far = 1000000.0 viewer.renderer.camera.position = [10000.0, 10000.0, 10000.0] - viewer.renderer.camera.pan_delta = 5.0 + viewer.renderer.camera.pandelta = 5.0 viewer.renderer.rendermode = "ghosted" return viewer @@ -32,7 +32,7 @@ def create_viewer(): HEIGHT = 120 WIDTH = 60 for line in lines: - model.add_beam(Beam.from_centerline(centerline=line, height=HEIGHT, width=WIDTH)) + model.add_element(Beam.from_centerline(centerline=line, height=HEIGHT, width=WIDTH)) beams = model.beams @@ -51,6 +51,8 @@ def create_viewer(): TButtJoint.create(model, beams[1], beams[3]) TButtJoint.create(model, beams[2], beams[4]) +model.process_joinery() + viewer = create_viewer() for beam in model.beams: diff --git a/examples/model/0002_stand.py b/examples/model/0002_stand.py index da772b5a6..ed5ddd2c8 100644 --- a/examples/model/0002_stand.py +++ b/examples/model/0002_stand.py @@ -12,7 +12,7 @@ HERE = os.path.dirname(__file__) -LINES = os.path.join(HERE, 'stand.json') +LINES = os.path.join(HERE, "stand.json") def create_viewer(): @@ -20,10 +20,11 @@ def create_viewer(): viewer = Viewer() viewer.renderer.camera.far = 1000000.0 viewer.renderer.camera.position = [10000.0, 10000.0, 10000.0] - viewer.renderer.camera.pan_delta = 5.0 + viewer.renderer.camera.pandelta = 5.0 viewer.renderer.rendermode = "ghosted" return viewer + # Load centerlines from file lines = json_load(LINES) @@ -46,7 +47,7 @@ def create_viewer(): normal = NORMAL_VERTICALS if category == "verticals" else None beam = Beam.from_centerline(centerline=line, height=height, width=width, z_vector=normal) beam.attributes["category"] = category - model.add_beam(beam) + model.add_element(beam) # create topology to joint type mapping topo_connection = {JointTopology.TOPO_L: LButtJoint, JointTopology.TOPO_T: TButtJoint} @@ -66,6 +67,8 @@ def create_viewer(): if joint_cls is not None: joint_cls.create(model, beam_a, beam_b) +model.process_joinery() + # setup the viewer viewer = create_viewer() diff --git a/examples/model/0003_wall.py b/examples/model/0003_wall.py index efdf9c509..f733fe660 100644 --- a/examples/model/0003_wall.py +++ b/examples/model/0003_wall.py @@ -10,10 +10,11 @@ def create_viewer(): viewer = Viewer() viewer.renderer.camera.far = 1000000.0 viewer.renderer.camera.position = [10000.0, 10000.0, 10000.0] - viewer.renderer.camera.pan_delta = 5.0 + viewer.renderer.camera.pandelta = 5.0 viewer.renderer.rendermode = "ghosted" return viewer + model = TimberModel() # Add beams to model @@ -24,7 +25,7 @@ def create_viewer(): wall_frame = Frame.worldXY() model = TimberModel() -model.add_wall(Wall(wall_frame, 3000, 140, 2000)) +model.add_element(Wall(wall_frame, 3000, 140, 2000)) # setup the viewer viewer = create_viewer() diff --git a/src/compas_timber/design/wall_from_surface.py b/src/compas_timber/design/wall_from_surface.py index a6ebe4ee4..37efe2777 100644 --- a/src/compas_timber/design/wall_from_surface.py +++ b/src/compas_timber/design/wall_from_surface.py @@ -180,7 +180,7 @@ def centerlines(self): def create_model(self): model = TimberModel() for beam in self.beams: - model.add_beam(beam) + model.add_element(beam) topologies = [] solver = ConnectionSolver() found_pairs = solver.find_intersecting_pairs(model.beams, rtree=True, max_distance=self.dist_tolerance) diff --git a/src/compas_timber/ghpython/components/CT_Model_From_Surface/code.py b/src/compas_timber/ghpython/components/CT_Model_From_Surface/code.py index d455bc0f6..c46c3e265 100644 --- a/src/compas_timber/ghpython/components/CT_Model_From_Surface/code.py +++ b/src/compas_timber/ghpython/components/CT_Model_From_Surface/code.py @@ -49,6 +49,7 @@ def RunScript(self, surface, stud_spacing, beam_width, frame_depth, z_axis, opti debug_info = DebugInfomation() scene = Scene() model = surface_model.create_model() + model.process_joinery() if CreateGeometry: for element in model.beams: scene.add(element.geometry)