realthunder wrote: ↑
Tue Oct 27, 2020 8:06 am
have already add support for cylindrical face for parallel constraint. If you are using upstream image, your can manually clone my asm3 repository to your user directory. For Linux, it is /home/<username>/.FreeCAD/Mod. The AppImage will prefer the repo in the user directory.
Great. I was not aware that this would work (its better than switching AppImages). I thought your upstream WB depends on a lot of additional core changes, so a part of the features would not work at all or make the model incompatible. But if that works, I wonder - wouldn't that be the same as adding your WB to the AddonManager and install it into the user/Mod folder? With the 0.19pre AppImage adding the Asm3 WB with the Addon Manager I'd get your Upstream version, deleting it again I'd get back to the 0.19pre version.
The basic idea is to use a master sketch to control the position. Or better, it can also be used to control the length the tube if you want. Below is an example sketch. You can name the 1000mm length constraint in the sketch, and then bind the TubeMaster.Height to this length. Add the sketch to the assembly, and lock any of its edge. This will be your base part. Add the tubes. Constraint each tube to an edge with two constraints, one PointCoincidence and one MultiParallel (cylinderical parallel to the sketch edge). That's it. You can easily change the sketch to re-configure the whole tube assembly without needing to touch anything else.
Screenshot from 2020-10-27 15-48-18.png
Thats exactly what I was trying to get when I thought about an efficient approach. I did not expect that I could use an expression link to the master of a linked group that gets filled with the individual data. I can see that by not using two PointCoincidents for both ends but fixing one end only the solver does not get conflicting length data. The key is to have MuliParallel working with axes. For the first item I would be using PointCoincidence+MultiParallel, for the others PointOnLine+MultiParallel.
Maybe that saves complexity with rectangular tube frames as well - as you say - even in 3D using several sketches. Once the sketch is set up, its 2 constraints per tube/profile instead of 9 (2 sides with 3 alignments each).
For using sketches more intensively I'm afraid I need to ask about the workplanes
. Its not clear to me what they refer to. There are 3 choices "Workplane", "WorkplaneXZ" and "WorkplaneYZ". I was assuming that "Workplane" actually means "WorkplaneXY", but I thnik that is wrong because not in all cases they create 3 orthogonal planes, e.g. selecting a tube I my example got 2 planes with the same orientation. I noted that I need to select either the whole assembly, a part or an element to be able to add a workplane, because it defines the origin. But what defines the orientation is not obvious. The properties do not show a link to the selected part and they do not move with the part but with the assembly work space. Currenlty its unpredictable to me which plane will result, so I'm, adding all of them and delete the ones I do not need
. The additional options "placement" and "origin" add what is expected, but I have no clue why I would want to use those - probably not seeing the obvious
Its helpful if you could confirm if any of my assumptions are correct. For any further hint about the function I would be very grateful, of course
Line in Plane can be achieved using PointInPlane and MultiParallel (i.e. Line Plane Parallel)
Yes, that should work now with your added support for cylinders. So when that is merged back into 0.19pre, it should be available for anyone. Until then I will use your daily AppImage and copy the WB as described above.