First of all I want to congratulate everybody who is contributing, one way or another, in the development of this software.
It has being a short time since I begun experimenting with FreeCad, and especially with the BIM and TechDraw workbenches. There are some thoughts I am having on various matters, and I will begin with door/window moving along with their host wall. Searching the forum I found that I am not the only one who is troubled by this.
My thoughts are the following:
When an object is added to an other selected one, along with the Host field that is created in the Property View, a Guest field must by created too, so that for every object we can check its Host and Guest ones.
For example, we create the Wall1. Then we create Wall2 and add this to Wall1. Then we create Window1 and add this to Wall2. Finally we create Window2 and add this to Wall2. The Host – Guest structure directly expressed for the four objects is the following:
Wall1.Hosts = []
Wall1.Guests = [Wall2]
Wall2.Hosts = [Wall1]
Wall2.Guests = [Window1, Window2]
Window1.Hosts = [Wall2]
Window1.Guests = []
Window2.Hosts = [Wall2]
Window2.Guests = []
By implicit, Window1 and Windows2 are also guests to Wall1. So the Host – Guest structure directly and indirectly expressed for the four objects is the following:
Wall1.Hosts = []
Wall1.Guests = [Wall2, Window1, Window2]
Wall2.Hosts = [Wall1]
Wall2.Guests = [Window1, Window2]
Window1.Hosts = [Wall2]
Window1.Guests = []
Window2.Hosts = [Wall2]
Window2.Guests = []
When an object is moved, then its direct and indirect Guest objects must by moved along with it, but not the host objects. In the above example:
- if we move Wall1, then Wall2, Window1 and Window2 must also move along.
If we move Wall2, then Window1 and Window2 must also move along, but Window1 must be unmoved.
If we move Window2, then all other objects must remain unmoved.
I am waiting for your thoughts.