This is obviously not an easy problem to solve, it would be a big rehaul, so if could dicuss the topic here and make a plan on how it could be done, it would be a good start. Later either us, or other people can use the plan as a guidline to make improvements step by step.
I will just brainstorm some ideas here, and later can edit this post as more ideas roll in and hopefully from this get a concrete plan. So some of my ideas:
1. separated 2D and 3D drawing views(this one could be tough to do)
2. a dedicated 2D view button perhaps which when pressed would show all objects in 2D
3. each architecture object would be represented by both a 3D model and a 2D drawing at the same time(when it is created), and these could be toggled with only one click:
- with this we would not have to use Shape 2D View at the end and wait until it is all computed when we make changes
- the 2D objects would be automaticaly put into the appropriate layers
- simple and fast creation of these kind of walls is a must for user friendliness.
6. windows and doors should be able to reckognize any wall they enter and make a hole in it, both when inserted the first time and when later moved(the first option works already)
7. windows and doors could be primarily created in the Part Design workbench(especialy when the topology fix is fully implemented) and added to the parts library [ALREADY WORKING]
8. improved parts library(I have some ideas what to do about it):
- easily link, import, save stuff(in the BIM library)
- add export to github(in the BIM library)
- 3D preview and edit on click
10. a way to easily export 2D drawings of complex drawings(in 3D view):
- export a custom size selected from the 3D view(for example if a rectangle is selected export an image that is the size of that rectangle)
Ideas on how to achieve this:
Walls(I don't know how current walls work at the moment, so pardon my ignorance)
Wall layer would be generated from a line using offset after which a face is created. This face would represent the 2D view of the object. A wall layer should have a certain material attached to it. Each wall should consist of some number of layers(this is already implemented). Layers of walls should be able to communicate between them, so that layers of the same type would all be under one boolean union. For layers of different types we should use boolean difference of the boolean unions to get a propper function system.
I don't know if this way will be possible for computers to handle, but it is the only way I see at the moment. When all the walls are joined we could extrude them at the end. It is important to hide all this stuff from the end user so they can only see simple objects in the object tree. Also walls should be easily movable by moving the underlying line and the line should be properly accentuated with colour perhaps. Another important problem corners of walls, but I don't have any ideas for that now
I have some more ideas, but this is enough to start a discussion. Please give some ideas, proposals, anything lets do some brainstorming
Also if you remember of some previous discussions about this, you can link them here, or just write down important points from there.
Windows and doors
https://wiki.freecadweb.org/Arch_Window ... ow%20types
https://forum.freecadweb.org/viewtopic. ... 23&t=46320