Architectural CAD software
Desktop CAD application
Developed a complete standalone architectural CAD application, including its geometric modeling tools, interactive 3D workspace, user interface and document system.
Architects can generate floors, facades and openings from building parameters, combine them with directly modeled geometry and work with terrain and map data in the same project.
Editing environment
Direct modeling tools include solid creation, boolean operations, fillets, chamfers and transformations. A common tool system handles selection, snapping and editing, supported by document storage and undo/redo.
The C# application integrates the Parasolid solid-modeling kernel with Unity's interactive 3D display. Modeling operations use Parasolid's double-precision geometry, keeping Unity's single-precision display calculations separate from the CAD model.
The integration converts Parasolid's boundary representation into display meshes, using caching and minimizing buffer copies to limit processing and memory overhead. It also manages native geometry lifetimes from C# and resolves interoperability issues between Parasolid's managed wrapper and Unity's runtime.
Procedural building design
Building geometry is generated from an editable mass and parameters for floors, facade walls, cores and openings. Floor definitions can be reused at multiple levels, with geometry recalculated when the building changes.
Scroll horizontally to explore the diagram.
Application architecture
Tools and interaction
- Commands and tool system
- Object and sub-object selection
- Snapping and manipulators
Direct modeling
- Solid creation and booleans
- Face editing and transformations
- Fillets and chamfers
Building generation
- Editable masses and floor definitions
- Facades, cores and openings
- Area and volume calculations
Document model
- Objects and component instances
- Materials and object properties
- Undo / redo and clipboard
- Document storage
Parasolid kernel
- Solid modeling and topology
- Geometric operations
Unity display
- Viewport and camera navigation
- Materials and real-time lighting
- Clipping and section views
Site context
- GIS and map integration
- Terrain and surrounding buildings