Assembly 3 - loco coupled wheels motion (solved)

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Assembly 3 - loco coupled wheels motion (solved)

Post by bambuko »

For my first attempt at Assembly 3 I have used one of my simple models of two coupled loc axles connected with a coupling rod.
ass_3-first_try.jpg
ass_3-first_try.jpg (440.88 KiB) Viewed 1914 times
Should be simple... I have locked axleboxes and axles, attached LH and RH wheels to each other, attached all the crankpins to their respective wheels and finally axially aligned coupling rod to the crankpins at both ends.

But... things don't behave as they should, so clearly I have made some error :oops:

Hopefully someone will not mind having a look at the file to point and correct error of my ways ;)

PS I am not sure whether this is the right place to ask (or should I post elsewhere?)

Code: Select all

OS: Windows 10 Version 1909
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.6+
Qt version: 5.15.1
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/United Kingdom (en_GB)
Last edited by bambuko on Sun May 23, 2021 12:27 pm, edited 4 times in total.
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly 3 - what am I doing wrong?...

Post by jpg87 »

Here is how I would do it:

https://www.dropbox.com/s/b373sa84o332f ... FCStd?dl=0

If you need detailed explanation, please don't hesitate to ask me.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Assembly 3 - what am I doing wrong?...

Post by bambuko »

Thank you very much indeed jpg87
Just downloaded your file and it will take me some time to study what you did to try and understand it ;)
I am sure that I will be back later with more... :mrgreen:
In the meantime couple of questions/comments about your suggestion that immediately spring to mind:

1- Coupled and driving crankpins are different so I cannot have 4 instances of one wheel
I can see that doing this made file much smaller as well :D
These wheels are heavy even when simplified and without any fillets ...
2- When I transform/rotate the wheel I would expect the crankpins and coupling rod to follow... and that doesn't happen (see attached pic issue 1).
This was the issue I had with my original file and I thought I did something wrong with crankpin/wheel constraint?
3- Why is it that I am able to transform supposedly locked parts i.e. axlebox, (see attached pic issue 2)
Once again this was also the case with my original file, so it might be my misunderstanding of the concept of "locking"?
transformed-issue1.jpg
transformed-issue1.jpg (430.25 KiB) Viewed 1832 times
transformed_issue2.jpg
transformed_issue2.jpg (445.53 KiB) Viewed 1832 times
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly 3 - what am I doing wrong?...

Post by jpg87 »

bambuko wrote: Mon Apr 05, 2021 7:30 am 2- When I transform/rotate the wheel I would expect the crankpins and coupling rod to follow... and that doesn't happen (see attached pic issue 1).
This was the issue I had with my original file and I thought I did something wrong with crankpin/wheel constraint?
3- Why is it that I am able to transform supposedly locked parts i.e. axlebox, (see attached pic issue 2)
Once again this was also the case with my original file, so it might be my misunderstanding of the concept of "locking"?
??? On my computer everything works normally :
Bat_Assy_3_jpg87.jpg
Bat_Assy_3_jpg87.jpg (205.57 KiB) Viewed 1811 times
My version of FreeCAD :
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2021.328.24301 +3441 (Git)
Build type: Release
Branch: LinkStage3
Hash: 0a157a307c91d241a370cdda6d8f0471b7c48915
Python version: 3.6.8
Qt version: 5.12.6
Coin version: 4.0.0a
OCC version: 7.5.0
Locale: French/France (fr_FR)
bambuko wrote: Mon Apr 05, 2021 7:30 am Coupled and driving crankpins are different so I cannot have 4 instances of one wheel
You will have to adapt.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Assembly 3 - what am I doing wrong?...

Post by bambuko »

jpg87 wrote: Mon Apr 05, 2021 9:09 am ...??? On my computer everything works normally :...
well... it doesn't :mrgreen:
look at coupling rod and postions of crankpins
front and rear axle (as well as left and right side) is out of sync

but it moves more than what it does on my computer :oops:
it is a mystery :ugeek:
how do you rotate the wheels?
You haved different version of FreeCAD?
Yours - 2021.328.24301 +3441 (Git)
Mine - 0.19.24276 (Git)
will have to check it
jpg87 wrote: Mon Apr 05, 2021 9:09 am ...You will have to adapt.
Yes, sure - no problem at all, just explaining ;)

What about "locked" parts moving for me?
should they do that?

Once again - great thank you for your assistance
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly 3 - what am I doing wrong?...

Post by jpg87 »

bambuko wrote: Mon Apr 05, 2021 9:20 am well... it doesn't
Just a detail for now: for your mobility tests, have you thought about pressing the button "Auto recompute" ?
Bat_Assy_3_AutoRecompute.jpg
Bat_Assy_3_AutoRecompute.jpg (85.23 KiB) Viewed 1762 times

In a future post (after a little rest!) I'll comment on what was wrong with your file.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Assembly 3 - what am I doing wrong?...

Post by bambuko »

jpg87 wrote: Mon Apr 05, 2021 11:04 am ...have you thought about pressing the button "Auto recompute" ?...
I have, but I think every time you re-start FreeCAD it defaults to "Auto recompute off" so since I have been doing many re-starts it is possible that it was off sometime?

I have discovered one of "my errors" :evil:
When transforming parts/bodies for "mobility tests" I was using regular "transform body/part" command - this doesn't work :roll:
I have to use transform commands (move part or move part axially) from Assembly workbench.
They look identical and being in or using Assembly 3 workbench doesn't disable regular transform command - easy mistake for someone new to FreeCAD Assembly 3

Now I can see the same as you do ;)
so that's progress...
jpg87 wrote: Mon Apr 05, 2021 11:04 am In a future post (after a little rest!) I'll comment on what was wrong with your file.
Thank you,
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly 3 - what am I doing wrong?...

Post by jpg87 »

bambuko wrote: Mon Apr 05, 2021 11:32 am...
So here are my comments.
In fact, your analysis of kinematic equivalence classes is wrong. Your "sub-assy_wheels (ref)" subassembly contains elements that should maintain relative mobility. However, by definition, the components of the same sub-assembly will behave in the upper-level assembly like a single block of material.

Your "reference" sub-assembly should therefore only contain the "axlebox" components.
Bat_Assy_3_CE1.jpg
Bat_Assy_3_CE1.jpg (46.53 KiB) Viewed 1724 times

Then the components "driving_wheel_RH; driving_wheel_LH; driving_crankpin_RH; driving_crankpin_LH; driving_axle" form the kinematic equivalence class (subassembly) "driving_wheels".
Bat_Assy_3_CE2.jpg
Bat_Assy_3_CE2.jpg (71.41 KiB) Viewed 1724 times

The components "coupling_wheel_RH; coupling_wheel_LH; coupling_crankpin_RH; coupling_crankpin_LH; coupling_axle" form the kinematic equivalence class (sub-assembly) "coupling_wheels".
Bat_Assy_3_CE3.jpg
Bat_Assy_3_CE3.jpg (71.9 KiB) Viewed 1724 times

Finally, as you have done, the "coupling_rod_LH" component alone forms the kinematic equivalence class (sub-assembly) "sub_assy_coupling_rods".
Bat_Assy_3_CE4.jpg
Bat_Assy_3_CE4.jpg (78.67 KiB) Viewed 1724 times

Some additional personal remarks:
You have already used the Placement properties of Part objects to preposition your components, probably because visually you already had the vision of your assembly, hence the use of Part containers and the mirroring of some components.

The Realthunder Assembly Workbench does not require the use of these containers, as they provide their own "Assembly" containers.
But above all, it does not require building clones or copies by symmetry, nor thinking about the positioning by numerical values ​​of the different components.

If a component must be used several times, all you have to do is define the "Element count" parameter or create a "Link" object for this component.
On each component, it is useful (and even preferable) to define and name the "Elements" (geometric entities which will be used to define the constraints).

The final choice of the constraints to be applied must be made with the greatest care to ensure that the overabundant constraints (as few as possible) are manageable by the solver.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Assembly 3 - what am I doing wrong?...

Post by bambuko »

jpg87 wrote: Mon Apr 05, 2021 1:53 pm ...So here are my comments.
In fact, your analysis of kinematic equivalence classes is wrong...
All your comments make perfect sense and hopefully it will work OK...

jpg87 wrote: Mon Apr 05, 2021 1:53 pm ...You have already used the Placement properties of Part objects to preposition your components...
Yes, it is a completed design done using just sketches and placement formulas.
I have only taken few parts of the motion to try Assembly 3

jpg87 wrote: Mon Apr 05, 2021 1:53 pm ...The Realthunder Assembly Workbench does not require the use of these containers, as they provide their own "Assembly" containers...
It was an attempt to give some structure to the complicated design with very many bodies,
otherwise it would be very difficult for me to navigate around the document/project.
Plus, I am designing rather than modelling an existing design and everything is related so it is difficult to model bodies in isolation.

jpg87 wrote: Mon Apr 05, 2021 1:53 pm ...But above all, it does not require building clones or copies by symmetry...
Makes sense - will have to rethink my approach.

jpg87 wrote: Mon Apr 05, 2021 1:53 pm ...nor thinking about the positioning by numerical values ​​of the different components...
I cannot design without referring to different/other components.
Maybe it is me and maybe there is a better way, but I can't see it at the moment...

jpg87 wrote: Mon Apr 05, 2021 1:53 pm ...If a component must be used several times, all you have to do is define the "Element count" parameter or create a "Link" object for this component...
later edit:
found https://youtu.be/yTDkJ7JZAWs
all is clear... :ugeek:


Thank you for your patience :mrgreen:
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Assembly 3 - still doing something wrong?...

Post by bambuko »

jpg87 wrote: Mon Apr 05, 2021 1:53 pm ...
Thanks to your advice and recommendations I have made quite a progress.
However, whatever I did when trying to do all four wheels was fine until I tried to add coupling rods :(

So have tried doing just one side and that seem to work OK (see pic below).
but... (in preparation to following your instructions about macros to animate) I tried testing it by changing the angle of one constraint...
and nothing happens (yes, I have changed "Lock Angle" setting).
I guess I have overconstrained it? (dof remaining: 0)

So struggling again :oops:

test.jpg
test.jpg (1.25 MiB) Viewed 1622 times
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Post Reply