WOW, amazing progress! Now windows with general base-sketch-positions are supported!
BTW can you please have a look at my attached nodel where I found a behavior that seams strange to me.
If I try to input a window on a wall with Align-property set to Right, all Offset-properties set to zero and AttachmentAlignment-property set to EdgeGroupWidthRight then IMO the resulting window position is shifted by half the wall thickness too much (in my example 40/2=20cm)
Thank you for your help and for putting all this energy in this topic! @balrobs Direct_windows_input_ArchSketch_ r3.FCStd (183 KB)
The answer to your question is simple - the code to tackle Wall / Wall Segment not Centre has not exposed yet - it is in my own chaotic file, yet need some more spare time to single out to the Github
Before then, I am posting another use case example.
Thanks @paullee, would never have thought of it alone.
Your model is just amazing.
I will study it carefully because I am convinced that I can learn a lot from it.
Kind regards
One question about the ‘Attachment Alignment Offset’ - the direction of offset is different when the figure is +positive, or -negative, fine; but now it seems to me the direction of offset should be in Opposite direction by intuition.
Tried App:Part, and now the feature allow to attach an object to another object the latter of which without an underlying Sketch:-
Workflow to Attach an ArchEquipment to another ArchEquipment
Example : 1 Table + 4 Chairs
Select the ArchEquipment of the Chair
Set AttachToAxisOrSketch : Hosts
Set AttachToSubelementOrOffset : FollowOnlyOffsetXYZ&Rotation
Set Host : ArchEquipment of Table
Now set Attachment Offset XYZ & Rotation : e.g. X : -500, Y : -900
Create several Links to the ArchEquipment of Chair and repeat above setting
Now move ArchEquipment of the Table, all Chairs move like a group. Turn the Table Visibility on/off by space bar, the whole set of furniture including the chairs turn on /off altogether.
Is there any synergy between this development and the various kinds of assembly workbenches? To me it looks like they are trying to solve the same issues, but from different points of view. Your system seems to be much simpler to understand. The assembly workbenches on the other hand are more powerful with regards to what they can achieve.
For FreeCAD as a whole, I believe it would be beneficial to unify similar workbenches to reduce unnecessary diversity. Having a lot of features is a good idea, but if there are many different ways of somewhat (but not exactly) achieving the same goal, it makes teaching and learning FreeCAD more difficult. Having one powerful assembly/placement module that can deal with both assembly of parts and placement/alignment of architectural features would be ideal.
I think to improve ArchWB with some improved basic features, does not overlap the features of other more advanced WB. In a workflow, it is more practical if you keep working with one WB when you don’t need more complex operations.
This part, to me, sounds like the usual assembly problem. I have to parts I want to assemble/place in a certain orientation to each other. The offsets are constraints to be adhered to.
In fact, there is some indirect synergy - peoples like @abdullah etc. are helping somehow I started this by using the Attachment Extension - to my understanding one of the foundation for assembly.
Then I find there are a lot of thing they wouldn’t do - like placing Door 200mm from corner of a Wall, a Bed or a Fireplace (maybe an ArchEquipment) against that Wall, a Room (maybe an ArchSpace) etc. That’s some semantic meaning / architectural spatial concept about that placement that are beyond topological attachment / assembly.
In fact, I am like building something a layer on top of the current Attachment Extension - translating the common architectural terms (being an architect) into Attachment Extension (but I am only a python beginner, so no knowledge about FC corecode, C++ etc.)
Maybe you can test and comment what is a better workflow etc. ? Thanks