paullee0 / FreeCAD_SketchArch

A module for Architecure and making Arch Objects with SketchObjectPython
GNU Lesser General Public License v2.1
27 stars 7 forks source link

FreeCAD SketchArch Workbench

alt text 2 An experimental add-on module to augment Arch Objects with additional features

I. Description

For better and more intuitive architectural modelling workflow, this workbench leverage Sketch (or SketchObjectPython) inherent features and enhance it with smarter and information-rich features for use as Base of Arch Objects (e.g. Wall, Structure, Curtain Wall).

II. Features

1. ArchSketch : Sketcher Capabilities - Enhanced with Smarter and Information-Rich Features

alt text 1

(Click To PLAY VIDEO !)  Youtube Video  Youtube Video

alt text 1a

alt text 1b

2. Parametric Placement/Attachment of Arch Objects Intuitively

(Toponaming-Tolerant)

alt text 2

[ Special Remarks :

(Click To PLAY VIDEO !)  Youtube Video  Youtube Video

(Click To PLAY VIDEO !)  Youtube Video

alt text 2a alt text 2b alt text 2c

3. Width, Align & Offset Per Edge

(Toponaming-Tolerant)

alt text 3a alt text 3b alt text 3ca

(Click To PLAY VIDEO !)  Youtube Video  Youtube Video

alt text 3a

4. Arch Structure, Curtain Wall, Wall etc. + Same ArchSketch = Building Layout

(with User Selected Edges in ArchSketch)

alt text 4a alt text 4b alt text 4c
ArchSketch + ArchWall = Wall Layout
ArchSketch + ArchStructure = Slab Layout
ArchSketch + ArchCurtainWall = CurtainWall Layout

Have your ever set out your building layout in a sketch like below, and wonder if -

So you have just 1 simple ArchSketch, just like any architectural student start learning sketching building layout in school. Now, you can select the Edges in ArchSketch you want for your Wall, Slab, or Curtain Wall separately though on same ArchSketch; and you just edit the same ArchSketch, and you have e.g. the shape / dimension of the slab and curtain wall changed at the same time.

FreeCAD Forum Discussion Thread

(Click To PLAY VIDEO !)  Youtube Video

alt text 3a alt text 3a alt text 3a alt text 3a

5. Variant PropertySets : Variant Arch Layout / Objects

alt text 5

6. Floor Area Calculation + Room Dimension

alt text 3a

7. CellComplex Creation [Topologic]

alt text 6

(Click To PLAY VIDEO !) Youtub Video

alt text 3a alt text 3a alt text 3a

8. Topological Naming Tolerant

(Click To PLAY VIDEO !)  Youtube Video

9. Voxelisation

alt text 6

  1. Select the shape object to 'voxelise', click Voxel button
  2. Can select the shape of voxel, like (App::Link to) a Group w/ 4 Walls, Windows, Slab etc.
  3. Has 3 modes :-
    • a. Center : If Center of (the BoundBox of) voxel is within the Input Shape, it is shown
    • b. Any Corner : If Any Corner of (the BoundBox of) voxel is within the Input Shape, it is shown
    • c. All Corners : Only if All Corners of (the BoundBox of) voxel are within the Input Shape, it is shown

What ceated ?

  1. Under the hood, pressing the button creates 2 objects
  2. First is a 'VoxelPart' object with a propertyLink to an 'Input Shape Object'
  3. Second is an App::Link which produce the Array of Voxels
    • The VoxelPart calculates the placement of every Voxels
    • It creates a Box, or copy the shape of 'VoxelObj' (usecase: point to a object with Shape, or to a Link to a Group containing a numbers of objects)
    • The 2nd Object App::Link actually create the array of Voxels according to VoxelPart calculation

alt text 6a alt text 6b

Features in Development, Other Remarks

Click to expand! #### 10. Space / Room / Zone & Cell Complex Definition - A Space, Room or Zone could be defined right within (Arch)Sketch itself - Automatic identification of each enclosed area (room) defined by edges (walls) - Automatic generation of CellComplex (see below) - Manual assignment of Space / Zone definition identified by user - Naming of the Space / Room / Zone by user - Single Source of 'Information Rich' Sketch to build - ArchWall - ArchSpace / CellComplex (rooms) - CellComplex - OSArch forum: Talk on Topologic (CellComplex) ([forum thread](https://community.osarch.org/discussion/131/talk-on-topologic#latest)) - Built on same Sketch as ArchWall (building layout) - Share same faces between Cells - Cell faces have no thickness - Space Connectivity - So 2 ArchSpace / Cells with same ArchWindow/Door is interconnected - ArchWindow/Door Attachment - 'Attached' to Space / Room / Zone rather than only 'Arch Wall' (or edges) - 'Grouped' under 'ArchSpace' as well #### 11. More concepts of adopting ArchSketch as Building Layout Object - Different materials for wall surface on each sides - Different wall joint / junction geometrical shape - (good for IFCexport ?) Maybe Wall can support different Height for each segment? Similarly, this information be saved in the ArchSketch - (good for IFCexport ?) Different materials for different wall segment? #### Prerequisites / Other Remarks - The said information (width, align, height, material etc.) is conceived to be saved in ArchSketch with Part Geometry Extensions feature - the latter currently has a bug which crash FC - Bugs / IFC export / multi-materials etc. to support Wall base on Sketch to be fixed / implemented

III. Examples

Models

IV. Install

'Semi'- Automatic (recommended)

Manual

If necessary, this workbench can be installed manually. Example:

For more general info see the general instructions for manual install on the FreeCAD wiki.

V. Feedback / Discussion / Announcement

There are a few discussion on FreeCAD discussion fourm with different topics:-

When bugs/feature-requests are vetted on the forum they will then be tracked in the issue queue of this repo.

VI. About

Maintainer: paullee (@paullee0) Repository: https://github.com/paullee0/FreeCAD_SketchArch

VII. License

LICENSE