Hello, to test the new features introduced in Assembly 4 I tried to make an assembly of two pipes with flanged connection.
The assembly is fully parametric and is controlled by the parameters present in the spreadsheet contained in the Parametri_globali.FCStd file.
In the first version of the assembly it happened that the assembly broke modifying the number of holes of the flange (i.e. a voluntary modification of the topology). I solved the problem by changing the LCS map mode of the flange holes from "concentric to hole edge" to "ObjectXYZ" and using the expressions for the association offsets. In this way the assembly doesn't break anymore even if you change the number of holes.
I used the new functionality inside Assembly 4 to insert the screws and nuts, but not the washers. For washers I find it more convenient to have two LCSs: one LCS for one side of the washer and another LCS for the other side. In this way it is not necessary to know the actual thickness of the washer used by the author of the WB Fasteners: the washer attaches to the flange and the nut (or screw) attaches to the washer from the opposite side without needing to set an offset for the nut (or screw).
The new feature to create an array of linked objects is really very convenient to place all screws, washers and nuts defining only one LCS in a hole of the flange. But I'm not sure that the method I used is the most correct/easy to do this, also because it was not an immediate operation to find the correct values for the parameter "center" of Polar Array. However, also in this case the assembly works in a fully parametric way.
I have attached the .FCStd files (for more clarity with partially translated names and labels) for any suggestions/criticisms.
Thanks.
A parametric assembly to test Assembly4 new features
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
-
- Posts: 125
- Joined: Fri Sep 13, 2019 12:15 pm
Re: A parametric assembly to test Assembly4 new features
nice ... but why did you put the spreadsheet in a separate file ? Why not put it directly in the assembly file ? I did that, to try, and it seems to work.FCuser2019 wrote: ↑Sat Nov 23, 2019 10:35 am The assembly is fully parametric and is controlled by the parameters present in the spreadsheet contained in the Parametri_globali.FCStd file.
good to know. Are you talking about the Hole-LCS things that you make when clicking on the edge of a hole ?FCuser2019 wrote: ↑Sat Nov 23, 2019 10:35 am In the first version of the assembly it happened that the assembly broke modifying the number of holes of the flange (i.e. a voluntary modification of the topology). I solved the problem by changing the LCS map mode of the flange holes from "concentric to hole edge" to "ObjectXYZ" and using the expressions for the association offsets. In this way the assembly doesn't break anymore even if you change the number of holes.
yes, I was thinking about it too, but didn't know what to decide. So I left it as it was originally in the Fasteners WBFCuser2019 wrote: ↑Sat Nov 23, 2019 10:35 am I used the new functionality inside Assembly 4 to insert the screws and nuts, but not the washers. For washers I find it more convenient to have two LCSs: one LCS for one side of the washer and another LCS for the other side. In this way it is not necessary to know the actual thickness of the washer used by the author of the WB Fasteners: the washer attaches to the flange and the nut (or screw) attaches to the washer from the opposite side without needing to set an offset for the nut (or screw).
I think that what you did is very good, now this should somehow be automated. We can't assume that every user will be able to reproduce what you did. What you put into the spreadsheet should be in the LinkArray class.FCuser2019 wrote: ↑Sat Nov 23, 2019 10:35 am The new feature to create an array of linked objects is really very convenient to place all screws, washers and nuts defining only one LCS in a hole of the flange. But I'm not sure that the method I used is the most correct/easy to do this, also because it was not an immediate operation to find the correct values for the parameter "center" of Polar Array. However, also in this case the assembly works in a fully parametric way.
-
- Posts: 125
- Joined: Fri Sep 13, 2019 12:15 pm
Re: A parametric assembly to test Assembly4 new features
Zolko, thank you for your remarks.
Changing the number of holes from 6 to 8 changes the names associated with the edges:
and obviously the assembly is ruined in this way:
if instead LCS_1 is attached to the gasket as the LCS_0 created by default by Assembly 4 and then is placed in the right place through the expressions, then the problem does not occur anymore.
I put the spreadsheet in a separate file just to learn how to use this possibility, of course the spreadsheet can be in one of the other files.
Yes. In the first version of the assembly, LCS_1 of the gasket it was concentrically attached to the edge of the central hole (as visible in the following image of a 6-hole flange):
Changing the number of holes from 6 to 8 changes the names associated with the edges:
and obviously the assembly is ruined in this way:
if instead LCS_1 is attached to the gasket as the LCS_0 created by default by Assembly 4 and then is placed in the right place through the expressions, then the problem does not occur anymore.
Is it already possible to do this?
Re: A parametric assembly to test Assembly4 new features
not quite, but some others are also working on the same subject:
https://forum.freecadweb.org/viewtopic. ... 20#p349073
https://forum.freecadweb.org/viewtopic. ... 30#p349276
My gut feeling is that taking the Draft.Array as-is will not fit the Assembly4 workbench very well, and instead we should try to replicate the same functionality, by duplicating some of the Draft.Array code. I'm not sure that code for 2D drawings can be best used for 3D assemblies.
Re: A parametric assembly to test Assembly4 new features
I guess FCuser2019 did what I was thinking, which is using expressions to define the properties of the array.
I think this would be a good idea if you think the current Draft Array is limited. As I mentioned before, the Array is not a 2D object; it is a generic object which can create arrays of planar objects but also 3D solids. This tool is in the Draft Workbench for historical reasons but it could well be a generic command usable in all workbenches.Zolko wrote: ↑Sun Nov 24, 2019 1:36 pm My gut feeling is that taking the Draft.Array as-is will not fit the Assembly4 workbench very well, and instead we should try to replicate the same functionality, by duplicating some of the Draft.Array code. I'm not sure that code for 2D drawings can be best used for 3D assemblies.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
Re: A parametric assembly to test Assembly4 new features
yes, that was exactly my though: that tool is so useful that it should be available for every workbench. And to be even more usable, the axis of the polar array should be selectable from any datum axis (PartDesign::Line)vocx wrote: ↑Sun Nov 24, 2019 4:38 pmThis tool is in the Draft Workbench for historical reasons but it could well be a generic command usable in all workbenches.
-
- Posts: 125
- Joined: Fri Sep 13, 2019 12:15 pm
Re: A parametric assembly to test Assembly4 new features
Thanks for this information.Zolko wrote: ↑Sun Nov 24, 2019 1:36 pm not quite, but some others are also working on the same subject:
https://forum.freecadweb.org/viewtopic. ... 20#p349073
https://forum.freecadweb.org/viewtopic. ... 30#p349276
Yes.
I agree.