The essence of Arch objects and custom Arch Window
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
-
- Posts: 13
- Joined: Mon Jul 25, 2022 3:00 am
The essence of Arch objects and custom Arch Window
Hello,
I am try to understand the essence of the Arch Workbench and what makes them special compared to a Part or a Body. Is there any documentation explain the core concept of Arch objects?
For instance information I mesh to know:
- What is the concept of "Component"?
- What is the relationship between an Arch object and its 3d representation? Especially when the 3d representation come from your custom object design. Does it influence the Arch object properties?
- Does the 3D representation of Arch object work the same for every object?
- How does sub object creates opening in its parent? Is it an hardcoded concept of Arch Window inside an Arch Wall?
- What makes a wall, different from a pipe, different from a window, different from a structure? Could a "recreate" the notion of wall using raw Arch objects?
Also, I am experimenting in making my own custom window design using Part objects, but even after reading the Arch Window documentation I cannot make it work:
- Just adding my object to a Arch Window should make it work?
- How does it knows the size for the opening on the wall?
- How are "Hole wire" for window elements are derive from the added objects?
- Should I use my custom objects inside window elements?
- What kind of value is expected from the Subvolume property?
Thanks!
I am try to understand the essence of the Arch Workbench and what makes them special compared to a Part or a Body. Is there any documentation explain the core concept of Arch objects?
For instance information I mesh to know:
- What is the concept of "Component"?
- What is the relationship between an Arch object and its 3d representation? Especially when the 3d representation come from your custom object design. Does it influence the Arch object properties?
- Does the 3D representation of Arch object work the same for every object?
- How does sub object creates opening in its parent? Is it an hardcoded concept of Arch Window inside an Arch Wall?
- What makes a wall, different from a pipe, different from a window, different from a structure? Could a "recreate" the notion of wall using raw Arch objects?
Also, I am experimenting in making my own custom window design using Part objects, but even after reading the Arch Window documentation I cannot make it work:
- Just adding my object to a Arch Window should make it work?
- How does it knows the size for the opening on the wall?
- How are "Hole wire" for window elements are derive from the added objects?
- Should I use my custom objects inside window elements?
- What kind of value is expected from the Subvolume property?
Thanks!
Re: The essence of Arch objects and custom Arch Window
Suggest your read a few classic tutorials first
https://wiki.freecadweb.org/Arch_tutorial
https://wiki.freecadweb.org/Arch_Window
https://wiki.freecadweb.org/Tutorial_for_open_windows
For Arch Window, you may post your file to let people have a look what may be the problem.
- How does it knows the size for the opening on the wall?
> To my understanding, it looks for the biggest wire to punch a hole
- How are "Hole wire" for window elements are derive from the added objects?
> To select particular wire user wish to use to punch a hole, identify in this attribute
- What kind of value is expected from the Subvolume property?
> an object which Arch Window use to 'boolean subtract' it from a WAll
Good luck
https://wiki.freecadweb.org/Arch_tutorial
https://wiki.freecadweb.org/Arch_Window
https://wiki.freecadweb.org/Tutorial_for_open_windows
For Arch Window, you may post your file to let people have a look what may be the problem.
- How does it knows the size for the opening on the wall?
> To my understanding, it looks for the biggest wire to punch a hole
- How are "Hole wire" for window elements are derive from the added objects?
> To select particular wire user wish to use to punch a hole, identify in this attribute
- What kind of value is expected from the Subvolume property?
> an object which Arch Window use to 'boolean subtract' it from a WAll
Good luck
Re: The essence of Arch objects and custom Arch Window
I have attached one of the good tutorial (step by step - "How to Create Custom Doors and Windows") and I believe it might answer some of your questions.Dragnalith wrote: ↑Mon Jul 25, 2022 6:36 am
Also, I am experimenting in making my own custom window design using Part objects, but even after reading the Arch Window documentation I cannot make it work:
- Just adding my object to a Arch Window should make it work?
- How does it knows the size for the opening on the wall?
- How are "Hole wire" for window elements are derive from the added objects?
- Should I use my custom objects inside window elements?
- What kind of value is expected from the Subvolume property?
Thanks!
https://www.youtube.com/watch?v=zXiYCdu ... gTutorials
Cheers
Re: The essence of Arch objects and custom Arch Window
Hello! I suggest to explore the code to understad how Arch works, its not difficult to read and It Is Always the best to get the informations from the source.Dragnalith wrote: ↑Mon Jul 25, 2022 6:36 am I am try to understand the essence of the Arch Workbench and what makes them special compared to a Part or a Body. Is there any documentation explain the core concept of Arch objects?
Arch objects works like Part workbench objects so they are a Little different from what you are used to in Part Design.
What they basically do is to: 1 add IFC properties to another Base object (you can literally encapsulate whatever has a shape and add IFC psets to it) 2 compute an own Shape based on the object properties (basically extruding things).
Note that unlike App::Part or PartDesign::Body, Arch objects, like Part objects do not define their own coordinate system, so every transformation you add to them using another object Will depend on its Base object Placement. So, if you dont want to use hard coded shape generation, the encapsulation with an Arch Object should Always be the last operation, so the Arch Object can contain your custom object.
I never tried to encapsulate a Part or a Part design body object, but that should be feasible, and you get the control over the IFC export.
Arch uses a kind of composiition pattern, so every object Is derived from a Component. A Component have built in some hard coded shape generation properties like additions and subtraction.- What is the concept of "Component"?
For the other questions i dont Remember at the Moment, and i'm at the beach now, but It wont be difficult to figure out Just playing a bit with them and with IFC export.
follow my experiments on BIM modelling for architecture design
-
- Posts: 13
- Joined: Mon Jul 25, 2022 3:00 am
Re: The essence of Arch objects and custom Arch Window
@paullee @Palmtree @carlopav
Thank you for all the information, some concept are a bit more clear.
One thing still puzzle me about Arch Window, is it possible to take a custom object and use it as a Windows. By following the Arch Window doc, if I use a custom object as a window it does not create opening on the wall. I do not understand how the Arch Window system could guess what size should be the opening.
Also can I definie my custom window object once and instantiate several Arch Window out of it?
Thank you for all the information, some concept are a bit more clear.
One thing still puzzle me about Arch Window, is it possible to take a custom object and use it as a Windows. By following the Arch Window doc, if I use a custom object as a window it does not create opening on the wall. I do not understand how the Arch Window system could guess what size should be the opening.
Also can I definie my custom window object once and instantiate several Arch Window out of it?
Re: The essence of Arch objects and custom Arch Window
Probably if it is a custom object 'encapsulated' as Arch Window, it just boolean cut its shape out of the host object.
There are several ways to 'instantiate' Arch Window, Arch WB is very flexible, e.g. :
- The 'classic' way is to make a Draft Clone of the Window
- Or make a Link, smaller file size, but currently it needs add-on to support extra features (SketchArch)
- Keep 1 underlying Sketch object, and make several Window objects based on it, can have variation like door swing direction
(just select the Window object, Ctrl-C, deselect the Sketch, OK, Ctrl-V, Ctrl-V, Ctrl-V, Ctrl-V ....
Good luck !
There are several ways to 'instantiate' Arch Window, Arch WB is very flexible, e.g. :
- The 'classic' way is to make a Draft Clone of the Window
- Or make a Link, smaller file size, but currently it needs add-on to support extra features (SketchArch)
- Keep 1 underlying Sketch object, and make several Window objects based on it, can have variation like door swing direction
(just select the Window object, Ctrl-C, deselect the Sketch, OK, Ctrl-V, Ctrl-V, Ctrl-V, Ctrl-V ....
Good luck !
Re: The essence of Arch objects and custom Arch Window
To add a bit more clarification:
- All arch objects are arch components. An arch component is basically just a wrapper that adds IFC properties to any object, and contains some shared logic used by all other arch objects. But in itself it basically does nothing.
- All other arch objects are based on the arch components through what is called in programming class inheritance. For ex, a wall object inherits everything a component does, and it has its own logic on top of it. So a wall is basically a component with additional functionality.
- These specific arch objects such as walls, windows,... basically add some convenience geometry tools so you can build such objects "the way it works in other BIM apps". For example, the wall tool offer ways to conveniently build a wall geometry out of a baseline/polyline. The window tool offers ways to easily buld a window geometry out of a base sketch. And so on.
- But that's basically all. If you find more convenient to use the wall tool to draw beams, you can. If you prefer to model your windows using PartDesign, you can. Just set the IFC Type to the correct category (wall, window,...) and you are set, you have a proper BIM object. And if your object has no IFC Type property, for ex. it comes from PartDesign, then you just turn it into an arch component and it will gain an IFC Type property.
- To resume, one can in fact separate the concepts of "a wall object" and "a tool to build wall-like geometry". In FreeCAD they are independent from each other. Actually I have already thought of renaming the wall, windows, etc... to things like "vertical extrusion along a path", "extrusions of different contours" but it seems to me it would confuse people even more...
- thomas-neemann
- Veteran
- Posts: 11964
- Joined: Wed Jan 22, 2020 6:03 pm
- Location: Osnabrück DE 🇩🇪
- Contact:
Re: The essence of Arch objects and custom Arch Window
In my opinion, the current situation is wonderful. "everything" is possible.
Thank you Yorik for your great work
-
- Posts: 13
- Joined: Mon Jul 25, 2022 3:00 am
Re: The essence of Arch objects and custom Arch Window
thank you @paullee for the tips
thank you @yorik for clarifying the concept.
thank you @yorik for clarifying the concept.
This explanation makes it very clear to understand the intention behind Arch Workbench tools. I thought the purpose of Arch objects was first the BIM semantic, then some geometry reprensation you were forced to use. But it is actually the opposite: its one way to create geometry related with architecture, and in addition it contains IFC properties than can be completely modified.Actually I have already thought of renaming the wall, windows, etc... to things like "vertical extrusion along a path", "extrusions of different contours" but it seems to me it would confuse people even more
-
- Posts: 13
- Joined: Mon Jul 25, 2022 3:00 am
Re: The essence of Arch objects and custom Arch Window
I have some other question related to Arch objects:
- I am still unsuccessful created custom Arch Window using PartDesign objects. When I encapsulate the part as a Arch Window and insert the Arch Window inside a wall, the substracted shape is incorrect (cf screenshot and .FCstd file attached). I am not sure of what I am doing wrong.
- Is it possible to keep the high-res coordinate system synchronized with the low-res object one? (so if you move one, it moves the other one)
- When should I prefer "Draft_Move" tool instead of moving the underlying Arch objects in order to move an arch objects?
Thank you!
- I am still unsuccessful created custom Arch Window using PartDesign objects. When I encapsulate the part as a Arch Window and insert the Arch Window inside a wall, the substracted shape is incorrect (cf screenshot and .FCstd file attached). I am not sure of what I am doing wrong.
- Is it possible to keep the high-res coordinate system synchronized with the low-res object one? (so if you move one, it moves the other one)
- When should I prefer "Draft_Move" tool instead of moving the underlying Arch objects in order to move an arch objects?
Thank you!
- Attachments
-
- screenshot_freecad.png (139.05 KiB) Viewed 978 times
-
- CustomWindowTest.FCStd
- (30.89 KiB) Downloaded 17 times