[ 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!
User avatar
dimitar
Posts: 229
Joined: Thu Jun 13, 2019 6:10 am
Contact:

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

Post by dimitar »

Cross posting here to keep content in the right place:
paullee wrote: Sat Jan 22, 2022 11:01 am
Not sure I understand you about the 'exposed host property' and 'if doors have a number, each linked instance should have its own number' ? :)

Incidentally, the 'intuitive parametric placement' feature works on Links also - you create App::Links of a Window/Door object, each of these Links have added parameters individually to allow attaching to particular segment of wall .
At the moment, all the IFC properties and Window properties besides "Hosts" for a linked door are linked, so if I change them on one instance, it would change all instances. Usually, we have door types, which links is doing quite well, and door instances. Each door instance may have it's own identifying data, like a door/window number. This property should not be linked, but should be something like the Base Label.
paullee
Veteran
Posts: 5096
Joined: Wed May 04, 2016 3:58 pm

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

Post by paullee »

dimitar wrote: Sat Jan 22, 2022 11:47 am At the moment, all the IFC properties and Window properties besides "Hosts" for a linked door are linked, so if I change them on one instance, it would change all instances. Usually, we have door types, which links is doing quite well, and door instances. Each door instance may have it's own identifying data, like a door/window number. This property should not be linked, but should be something like the Base Label.

I see. This is doable.

Generally users can add property to one's like - right click on the attribute tab and click something like 'add property'.

But @yorik had once commented that it may be better to propose, may you open a new thread, to discuss what properties are desirable to be added. So the developers may consider to add in the original vanilla object for consistency (maybe like IFC properties ?)
User avatar
yorik
Founder
Posts: 13639
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

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

Post by yorik »

One thing I'd like to undertake (sorry, kind of hijacking the thread here), is to unify IFC properties and FreeCAD properties. That is, all IFC properties would be stored as FreeCAD properties and vice-versa. Only, we need to identify precisely which FreeCAD properties to export to IFC and which not ("internal" FreeCAD properties). Maybe prefix properties groups with something Like "IFC_"?
paullee
Veteran
Posts: 5096
Joined: Wed May 04, 2016 3:58 pm

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

Post by paullee »

yorik wrote: Mon Jan 24, 2022 1:21 pm Maybe prefix properties groups with something Like "IFC_"?
It sounds reasonable and intuitive :)

By the way, anything in IFC describe the relative position of an object (a door, an equipment) relative to a Wall, a Room etc. - so maybe this could be used in parameters / attributes discussed in this thread ?
User avatar
yorik
Founder
Posts: 13639
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

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

Post by yorik »

paullee wrote: Mon Jan 24, 2022 5:15 pm By the way, anything in IFC describe the relative position of an object (a door, an equipment) relative to a Wall, a Room etc. - so maybe this could be used in parameters / attributes discussed in this thread ?
Basically, no.

There are ways to tie the position of an object to another object (there was a prototype made by geometry gym, I cannot find it back). But that's really complex because it works only for curves, not for full shapes. So that basically means: "It could work but only in very specific cases and both the window and the wall need to be made of a very specific way". Which IMHO would break much of the free-modelling paradigm we have in FreeCAD, and also probably would render the IFC file incompatible with some other BIM apps.

This would be an annoying and narrow path to follow... I think we'd better either 1) wait for something to change on the IFC side or 2) go further on the path to offer a "full IFC compliant model" based on BlenderBIM, which, if BlenderBIM finds a solution, would be included automatically for us then.
paullee
Veteran
Posts: 5096
Joined: Wed May 04, 2016 3:58 pm

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

Post by paullee »

Thanks, maybe I start using 'IFC_' for the setting-out information here :D
paullee
Veteran
Posts: 5096
Joined: Wed May 04, 2016 3:58 pm

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

Post by paullee »

dimitar wrote: Wed Jan 19, 2022 8:32 am ...Also, when specifying the index of a sketch line, it disappear from the door properties, yet it is still written, so it is impossible to tell which index the door is currently constrained to.
paullee wrote: Wed Jan 19, 2022 8:29 pm Hmm indeed, that 'input' is a workaround currently, the actual stored index is hidden currently (would dynamically updated to overcome the 'toponaming' problem'). Should expose it for viewing at least.
OK, it is updated to show to the user which Wall Edge (or 'Wall Axis') the Arch Object is attaching to - update the Sketch Arch Add-on to test.

Mind you, it is just an ugly hack:
- the "Master Sketch Subelement" attribute works as 'input', it use the name of edge, e.g. 'edge1' or simply '1'.
- the "Master Sketch Subelement Index" attribute works as 'output', not editable, it use the internal index number of edge, so 'edge1' is shown '0', 'edge2' is '1'

This should be 'toponaming tolerant' - as long as you always has SketchArch Add-on installed - e.g. if user delete an edge in the ArchSketch for a Wall, the 'index' number will update to whatever the edge originally user select, will not 'jump' to other edge unexpectedly :)

Hope it helps in the meantime.

Screenshot from 2022-02-02 13-27-40.png
Screenshot from 2022-02-02 13-27-40.png (207.99 KiB) Viewed 2178 times
paullee
Veteran
Posts: 5096
Joined: Wed May 04, 2016 3:58 pm

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

Post by paullee »

Maybe attach the simple model file for ease of understanding.
paullee
Veteran
Posts: 5096
Joined: Wed May 04, 2016 3:58 pm

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

Post by paullee »

Cross-post of discussion at OSArch
- ArchSketch works with Topologic to find external walls to place windows (/ internal wall to place doors)


OK, tested a basic workflow as proof-of-concept.
The python script to find internal and external faces (walls) works as expected :D
  1. Create a 'single-line sketch' layout with an ArchSketch on FreeCAD
  2. It automatically generate a series of Solids as volume of spaces
  3. Convert the Solids into CellComplex in Topologic
  4. Find the external and internal faces of the CellComplex by Topologic method
  5. Based on same ArchSketch layout, it can create ArchWall in FreeCAD as well

'ArchSketch Single-Line Layout' -
Screenshot from 2022-04-13 03-08-54.png
Screenshot from 2022-04-13 03-08-54.png (163.5 KiB) Viewed 1805 times

Auto-generated Solids as spaces; Convert to CellComplex in Topologic -
Screenshot from 2022-04-13 03-08-26.png
Screenshot from 2022-04-13 03-08-26.png (197.35 KiB) Viewed 1805 times

Found External faces -
Screenshot from 2022-04-13 03-08-12.png
Screenshot from 2022-04-13 03-08-12.png (257.8 KiB) Viewed 1805 times

Found Internal faces -
Screenshot from 2022-04-13 03-08-17.png
Screenshot from 2022-04-13 03-08-17.png (212.93 KiB) Viewed 1805 times

Build ArchWall based on same ArchSketch -
Screenshot from 2022-04-13 03-08-46.png
Screenshot from 2022-04-13 03-08-46.png (230.58 KiB) Viewed 1805 times
paullee
Veteran
Posts: 5096
Joined: Wed May 04, 2016 3:58 pm

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

Post by paullee »

Cross-post of discussion at OSArch
- ArchSketch works with Topologic to find external walls to place windows (internal wall to place doors)


Automatic Placement of Windows at Found External Walls now -


Done testing :D
  1. Create a 'single-line sketch' layout
  2. Based on same ArchSketch layout, it can create walls and slab
  3. Automatically find external walls by Topologic and place window instances
'ArchSketch Single-Line Layout'
Screenshot from 2022-04-17 09-30-58.png
Screenshot from 2022-04-17 09-30-58.png (191.18 KiB) Viewed 1801 times

'ArchWall and Slab'
Screenshot from 2022-04-17 09-31-26.png
Screenshot from 2022-04-17 09-31-26.png (228.08 KiB) Viewed 1801 times

'Automatic Placement windows at found external walls' - no window at internal wall
Screenshot from 2022-04-17 09-30-20.png
Screenshot from 2022-04-17 09-30-20.png (252.12 KiB) Viewed 1801 times
Post Reply