[ Comments Request /PR ] Intuitive Automatic Windows/Doors + Equipment Placement

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

[ Comments Request /PR ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by paullee »

Have been experimented this for a while, and with @Realthunder's guidance, adding this to Arch Windows and their Links

[EDIT 2]
Support for ArchEquipment are added in post below


[EDIT]
Concept of Intuitive Placement in Arch : Placement of Windows/Doors should be like -
  1. 'placing at this end of wall / corner of the room;
  2. by an offset of x mm, at y mm height Along the wall (edge) of the room'
  3. and it stick with this position no matter how the layout of the room / wall segment is edited subsequently.
    (and probably similarly for other Arch Objects - e.g. a WaterCloset along that wall, offsetting from end of wall by say 800mm)
Discussion of Link support here
Discussion about Links of Window not creating hole here

Python Updated
  1. ArchWindow.py
    (73.41 KiB) Downloaded 205 times
  2. SketchArch WB in https://github.com/paullee0/FreeCAD_SketchArch
Example Model File
Test_ Link_ ArchWindow_ 04b.FCStd
(109.46 KiB) Downloaded 187 times

Workflow Example
  1. Add a new Window/Door by clicking the Window Button
  2. Made sure no Draft Snap is effective
  3. Just input 0,0,0 in the Global x,y,z, and [Enter] to create the Window/Door
  4. Find Hosts in Windows ComboView Data Tab
  5. Click [...] and find a Wall object would attach to and create opening
  6. The Window placed itself along the starting end of 1st Wall Segment
  7. Enter [1] [2] .. in Master Sketch Subelement to make it slign to nth Wall Segment
  8. Enter the offset distance from the end in Master Sketch Subelement Offset
  9. Enter the height of Window in position-z in Attachment Offset Xyz and Rotation
  10. Edit the Wall base Sketch, the Wall shape changes, so do the positions of the Windows (Links of Windows)

Work In Progress / Desirable Workflow
  1. Renaming Attributes e.g. Master Sketch Subelement to probably Edge or Segment, Attach To Objects - Hosts, etc.
  2. Currently the underlying Sketch of Window needs to be at 0,0,0 and upright to make this works
  3. So as highlighted in about pint 2 and 3, do not use snap to a wall. If one move cursor to a Wall with Snap on, the underlying Sketch of Window would align with the Wall face, and the placement would not be correct.
  4. Hope the GUI can be modified to make it compatible
See anyone is interested, thanks in advance.

phpBB [video]


[EDIT]
Screenshot from 2020-10-13 10-28-22.png
Screenshot from 2020-10-13 10-28-22.png (362.66 KiB) Viewed 10382 times
Screenshot from 2020-10-13 10-28-40.png
Screenshot from 2020-10-13 10-28-40.png (348.6 KiB) Viewed 10382 times
Last edited by paullee on Sat Nov 21, 2020 6:33 pm, edited 9 times in total.
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by paullee »

More Features Experimented
  1. Can offset perpendicular from the wall alignment
    (In addition to offset along the wall alignment)
  2. Have preset rotation of the Window
    (Usecase ? Skylight ? :lol: )
Example Model File
Test_ Link_ ArchWindow_ 04c.FCStd
(52.34 KiB) Downloaded 140 times

SketchArch WB / Python Updated
  1. SketchArch WB in https://github.com/paullee0/FreeCAD_SketchArch
  2. Or simply replace with below 1 file
    ArchSketchObject.py
    (48.16 KiB) Downloaded 135 times
    phpBB [video]
Last edited by paullee on Sun Oct 11, 2020 4:10 am, edited 1 time in total.
User avatar
Roy_043
Veteran
Posts: 8410
Joined: Thu Dec 27, 2018 12:28 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by Roy_043 »

I have experimented a bit with the files in your first post. And it certainly works as you have described. And in cases where users want to keep windows connected to sketch based walls it would be a time-saver. It is difficult to achieve this manually as we both know from past attempts.

I do have some doubts regarding your FreeCAD_SketchArch add-on. To base walls with different widths on the same sketch can be a useful feature. But when entering the more detailed planning stages, in most cases, different materials will have to be applied to wall segments with different widths. As I understand things your add-on does not support this.
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by paullee »

Thanks for the comments indeed :)

The whole intent is to make design development more intuitive and automatic, intuitive as an ordinary people would think of so it would be easier to use and change hopefully. So if you have any idea how those parameters, or GUI tools should be, do suggest.

Currently SketchArch add-on support different width and align for each edge / wall segment. Indeed, it is an intent to add material support also.


'Short-term' Target

Current target is to make making preliminary sketch layout more intuitive and easier to modify -
  1. By leverage Sketch inherent capabilities e.g. in dimensional control
  2. Earlier with different width and align for each wall segment
  3. Then, placing windows / doors
  4. Maybe, next is placement of Arch Stairs ?
  5. Placement of Arch Equipment ? Section Plane ? Draft Label ?
  6. So have a preliminary Sketch Layout good for study purpose

'Long-term' Target ?

Then, maybe Materials - maybe 2 ArchWalls on 1 ArchSketch, so each of the Wall 'output' Wall Segments of different materials ... ?

Indeed, I use the whole add-on on the Villa Savoye model, with some walls in different colour but not developing the above concept yet. Can achieve this by Sketch Link to External Geometry - a series of 'Dependent' Sketches linked to a 'Master' (Arch)Sketch - though it is not my workflow.

I find I indicated different Wall Joint / Junction geometrical shape in the Github :)


And other things ?


Cheers
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by paullee »

Demonstration of the Window can align along the Wall 'Axis' (i.e. the Sketch Edge), as well as the edges of Wall profile (left or right).

phpBB [video]
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by paullee »

Demonstration of the Window can :
  1. Be placed at Custom XYZ; or
  2. Align with Invisible Axis
Example Model File
Test_ Link_ ArchWindow_ 04d.FCStd
(78.96 KiB) Downloaded 154 times

SketchArch WB / Python Updated
  1. SketchArch WB in https://github.com/paullee0/FreeCAD_SketchArch; OR
  2. Simply replace with below 1 file
ArchSketchObject.py
(48.43 KiB) Downloaded 159 times

phpBB [video]
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by paullee »

Concept of Intuitive Placement in Arch added in 1st post for discussion. Images of placements or doors in Villa Savoye Model also added.

Comments being sought -
  1. conceptual of 'placement' in Arch intuitive to designer, users, occupants
  2. intuitive property names for Architectural designers / native english users
    • e.g. 'Attach To Objects' [None, Hosts ...] rather than 'Attach To Axis or Sketch' ?
    • e.g. 'Attachment and Alignment' [Attach to Segment, Attach & Align to Segment, Follow Only XYZ and Rotation ...] ?
    • e.g. 'Attachment Align' [Edge Axis, Left, Right ...] rather than [Edge, Edge Group Width Left, Edge Group Width Right ...] ?
    • etc.
  3. better GUI workflow suggestion
    (probably outside my ability to improve though :lol: )
Last edited by paullee on Tue Oct 13, 2020 9:48 am, edited 2 times in total.
User avatar
Meetlat
Posts: 72
Joined: Tue Oct 13, 2020 7:00 am

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by Meetlat »

Hi Paullee,

It's great to see you update the window/door placement. As requested here ar some suggestions.

1. Make placement more intuitive. Revit shows temporary dimensions while drawing anything. You can also edit this temporary dimension so it keeps a certain distance while placing. You can also make it centered by click EQ (equal). See: https://www.youtube.com/watch?v=Ehh7vxOBofA

2. Make window stretchable after/during placement. See this GIF form OSArch community: Image In general I really like this UX proposal. Also the capability to select the type of frame is nice.

3. Can the window/door cut multiple walls draw next to each other? In my country it's normal to draw the construction wall separately from the architecture wall (isolation, air gap and brick layer). So it can be exported separately and replaced by the modified walls drawn by the construction calculation department. When placing a wall normally it would only cut the host wall. Revit has this nice option to join walls so the program know it has to cut both walls.

Hope this helps.
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by paullee »

Welcome Meetlat, and thanks for the comments :)
Meetlat wrote: Tue Oct 13, 2020 7:12 am 3. Can the window/door cut multiple walls draw next to each other? In my country it's normal to draw the construction wall separately from the architecture wall (isolation, air gap and brick layer). So it can be exported separately and replaced by the modified walls drawn by the construction calculation department. When placing a wall normally it would only cut the host wall. Revit has this nice option to join walls so the program know it has to cut both walls.
There are a few options, suggesting one as follows -

Opening in Wall Layers
  1. Windows has a host option in FreeCAD
  2. Select the Wall you want to punch a hole in the attribute, you get a hole when the Window placement is along the wall
  3. You can Select a numbers of Walls you want to punch a hole in this attribute, and you get same hole
Wall Layers
  1. You can build a numbers of Wall based on same Base (Draft Wire, Sketch e.g.)
  2. By setting different Offset and Width in these Walls, you get Wall Layers
See ScreenCaptures and Model file attached.

Meetlat wrote: Tue Oct 13, 2020 7:12 am 1. Make placement more intuitive. Revit shows temporary dimensions while drawing anything. You can also edit this temporary dimension so it keeps a certain distance while placing. You can also make it centered by click EQ (equal). See: https://www.youtube.com/watch?v=Ehh7vxOBofA

2. Make window stretchable after/during placement. See this GIF form OSArch community: Image In general I really like this UX proposal. Also the capability to select the type of frame is nice.
These looks great :) Currently I am more focused on what attributes / concept of placement is more intuitive and easier for designers, see if you have any more observation. Placement at Middle of Wall is one good feature to adopt.

As for the GUI thing, being a python beginner, I am currently far from able to implement these (as 'qualified in my posts :lol: ), hope someone want to implement these. You can code BTW ?

Test_ Link_ ArchWindow_ 04e.FCStd
(94.45 KiB) Downloaded 151 times
Screenshot from 2020-10-13 17-46-47.png
Screenshot from 2020-10-13 17-46-47.png (307.06 KiB) Viewed 10429 times
Screenshot from 2020-10-13 17-47-16.png
Screenshot from 2020-10-13 17-47-16.png (339.04 KiB) Viewed 10429 times
Screenshot from 2020-10-13 17-47-51.png
Screenshot from 2020-10-13 17-47-51.png (271.87 KiB) Viewed 10429 times
User avatar
Meetlat
Posts: 72
Joined: Tue Oct 13, 2020 7:00 am

Re: [ Comments Request ] Intuitive Automatic Windows/Doors Placement

Post by Meetlat »

Thanks for the wall layer workflow, I will try it later today.

As of placement of window I think Archicad does a great job, see example here: https://www.youtube.com/watch?v=pqL74xIY5pA around 0:42 After selecting the door, and setup of the style/dimensions, they place the door. A thick line shows the placement side, outside or inside of the wall. You see those arrow indicating that you can mirror the window. When the window is places you can change the opening reference depth, this can also be a negative value. Also importend for placing is the insertion point, left/middel/right. Most programs have an icon to select placement point before you acuale place the window/door.

Ps. I'm an architect, not a coder.
Post Reply