-
-
Notifications
You must be signed in to change notification settings - Fork 787
Infrastructure Authoring ‐ Design and Coordination
This page is intended to collect design decisions and provide a high-level overview to development tasks related to authoring in the infrastructure domain with IfcOpenShell and bonsai.
See original discussion at OSArch.
A primary goal of these infrastructure authoring capabilities will be to accommodate two user personas:
- Typical user interacting with the Blender GUI to create and edit infrastructure elements.
- Computational designer interacting programmatically via text-based coding or visual programming (e.g. sverchok)
Accordingly, the goal of these infra additions will be to target the existing ifcopenshell.api namespace.
UI Element | Corresponding IFC Class(es) | Namespace | Notes |
---|---|---|---|
Points | IfcAnnotation | tbd | PredefinedType.SURVEY for existing points. Potentially user-defined type .COGO. (coordinate geometry )for design points |
Terrain | IfcGeotechnicalAssembly | tbd | |
Alignment | IfcAlignment / IfcAlignmentHorizontal | api.alignment | |
Profile | IfcAlignmentVertical | api.alignment | |
Corridor | IfcRoad | tbd | |
Typical Section | IfcRoadPart | api.profile | aka in industry as template component or subassembly |
Cross Sections | ? | api.drawing |
Industry Foundation Classes (IFC) offer the ability for rich information exchanges between modeling, analysis, planning, and other software tools in the Architecture, Engineering, and Construction (AEC) industry. Specifically, the latest release of IFC (version 4.3, also referred to as IFC4X3) adds linear referencing via alignment modeling, which is core to describing the construction and maintenance of infrastructure assets such as roads, bridges, and railways.
Alignment import (read) capabilities have been added to IfcOpenShell and the Bonsai add-in for Blender. They have reached a state of maturity such that the next logic step is to enable alignment authoring (write) capabilities.
Alignment authoring will take place in Blender via the Bonsai add-in. A user-focused workflow has been developed and documented, along with preliminary user interface mockups. This project would add alignment authoring capabilities via new panels and other items within Blender. The ifcopenshell.api namespace will also need to be enhanced incrementally to support the new user interface tools.
Understanding and general working knowledge of python.
Medium
The participant focuses on authoring horizontal alignments via the PI method. This could be via interactive icons or primarily through a table-based interface. The user would need to be able to add, edit, and remove PI (point of intersection) points. Additionally the user would need to be able to adjust the radius that corresponds to each PI point. Though not strictly required for this project, the authoring tool would also enable definition and editing of entry and exit transition curve type (clothoid, sine spiral, polynomial spiral, etc.) and length.
PI-based alignment would be added for vertical and cant as well. A basic corridor modeling UI tools would be implemented to allow for sweeping geometry (open or closed profile) along an alignment curve to generate 3D linear geometry via IfcSectionedSolidHorizontal and related IFC entities.
Potential mentors: Richard Brice @RickBrice & Scott Lecher @civilx64
Organization website: https://ifcopenshell.org
Communication channels: https://github.com/IfcOpenShell/IfcOpenShell/discussions
Technical resources:
https://docs.bonsaibim.org/guides/development/index.html
Blender 4.3: Precise Modeling for Architecture, Engineering, and 3D Printing