LAYER2-agnostic rename candidates
The following proposal extends off of this discussion that looks to make LAYER2 parametric tools more IFC-class agnostic.
Extending this out further, perhaps the following could be changed as well.
Thoughts?
LAYER2-agnostic rename candidates
Names whose logic is already class-agnostic (they operate on placement +
axis + IfcMaterialLayerSetUsage, never the entity type) but whose name still
says "wall." Generalizing them supports the direction of treating any AXIS2
LAYER2 element — IfcWall, vertical IfcCovering (siding/cladding), IfcPlate,
etc. — the same way.
Suggested generic names are just that — suggestions.
Predicates — tool/parametric.py
| Current | Could be |
|---|---|
is_wall |
is_layer2_element |
is_path_connectable_wall |
is_path_connectable_layer2 |
is_fillet_corner_wall |
is_fillet_corner |
Geometry / mutation — tool/model.py
| Current | Could be |
|---|---|
clip_wall_to_slab |
clip_layer2_to_underside |
connect_wall_to_slab |
connect_layer2_to_underside |
remove_wall_to_underside_booleans |
remove_underside_booleans |
recreate_wall |
recreate_layer2_element |
regenerate_wall |
regenerate_layer2_element |
recalculate_walls |
recalculate_layer2_elements |
get_wall_axis |
get_layer2_axis |
get_connected_walls |
get_connected_layer2_objs |
get_connected_slab_objs / get_connected_wall_objs |
generalize the wall / slab params |
get_polygons_from_wall_axis |
get_polygons_from_axis |
Core operations — core/model.py
| Current | Could be |
|---|---|
extend_wall_to_slab (wall_objs / slab_objs) |
extend_layer2_to_underside |
regenerate_wall_to_underside |
regenerate_layer2_to_underside |
unjoin_walls |
unjoin_layer2_elements |
classify_wall_join_state |
classify_join_state |
wall_join_preview_lines |
join_preview_lines |
resolve_extend_walls_target |
resolve_extend_target |
Connections / queries / types — tool/wall.py
| Current | Could be |
|---|---|
WallGeometry (TypedDict) |
Layer2Geometry |
read_geometry (returns WallGeometry) |
keep name, generalize return type |
iter_wall_slab_connections / iter_slab_wall_connections |
iter_layer2_underside_connections |
find_wall_slab_rel |
find_layer2_underside_rel |
wall_slab_connection_location_world |
layer2_underside_connection_location_world |
walk_connected_walls |
walk_connected_layer2 |
compute_wall_fillet_geometry |
compute_fillet_geometry |
has_layer2_usage, is_straight_axis |
already generic ✓ |
Operators / gizmos / decorators — bim/module/model/
| Current | Note |
|---|---|
ExtendWallsToUnderside, RegenerateWallToUnderside, ExtendWallsToWall |
logic agnostic — but bl_idnames (bim.extend_walls_*) are public; renaming breaks keymaps/macros |
_resync_walls_after_mutation |
_resync_layer2_after_mutation |
_CommitWallDraftsFirstMixin / _commit_pending_wall_edits_for_selection |
drop wall |
DumbWallJoiner |
joiner is axis-driven, not wall-typed |
GizmoWallEdition |
the edit-gizmo group |
regenerate_fillet_corner_wall |
regenerate_fillet_corner |
WallAxisDecorator, WallSystemPathDecorator, WallFilletPreviewDecorator |
axis / path / fillet decorators, all agnostic |
Caveat: public surface
The bl_idnames and the "wall" gizmo-pref key are public surface —
renaming those is a breaking change (keymaps, saved prefs, any user scripts). So
the low-risk rename set is the internal Python predicates / helpers / types
above; the operator idnames are best left alone even as the concept generalizes.


