Assembly 4 workbench

Discussion about the development of the Assembly workbench.
User avatar
Zolko
Posts: 1042
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Postby Zolko » Mon Jan 27, 2020 7:47 am

catman wrote:
Sun Jan 26, 2020 10:47 pm
catman wrote:
Sun Jan 26, 2020 10:33 pm
I noted that your specific function "New Hole LCS" works very well.
Maybe it is easier to just a another function to attach an LCS to an vertex. If it works for a curve it should be for a vertex, wouldn't it?
It probably would, but it's not the chosen workflow for Assembly4, which is based on master sketches, essentially to avoid the topological naming problems. Placing LCS on vertices would make us run into that. So this is not a bug but a feature. The Hole_LCS is somewhat different as it is meant to place fasteners, and it is supposed that fasteners are placed quite late in the design process when the parts are not modified so much.
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here
catman
Posts: 260
Joined: Fri Jan 11, 2019 10:42 pm

Re: Assembly 4 workbench

Postby catman » Mon Jan 27, 2020 11:13 am

Zolko wrote:
Mon Jan 27, 2020 7:47 am
catman wrote:
Sun Jan 26, 2020 10:47 pm
catman wrote:
Sun Jan 26, 2020 10:33 pm
I noted that your specific function "New Hole LCS" works very well.
Maybe it is easier to just a another function to attach an LCS to an vertex. If it works for a curve it should be for a vertex, wouldn't it?
It probably would, but it's not the chosen workflow for Assembly4, which is based on master sketches, essentially to avoid the topological naming problems.
Right, good point.

Currently I am selecting vertices to attach LCS's to my master sketches, e.g to the end of a line segment for a linear axis. In your examples I noted you are using OXY, OYX, ObjectXY etc. So are you saying your are explicitly avoiding "translate origin"?
I find that for library parts its a lot faster to just place the LCS with any orientation and correct the parts orientation with the Rotation buttons. Except for holes I find it hard to come up with a general applicable-for-all rule set for LCS orientations.
gozlikehell
Posts: 14
Joined: Sun Jan 26, 2020 11:47 pm

Re: Assembly 4 workbench

Postby gozlikehell » Tue Jan 28, 2020 12:56 am

Ok, here I go. I was able to fully model and animate a CV axle assembly. Made almost every dimension a variable for flexibility. I can move it through its range of motion as the suspension flexes to test bar length, joint angle, and plunge. It is currently configured for a trailing arm style suspension. Here is where I discovered some bugs or quirks about FreeCAD generically. It allowed me to even test bugs for consistency. This also helped prove out assembly and animation across 3D space, not just a 3D assembly moving in a single plane. I am using:

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19311 (Git)
Build type: Release
Branch: master
Hash: 120b69c74f7dac8c4fa6dbc0a7e10674bde9216c
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)
Attachments
CV Axle Model.png
CV Axle Model.png (168.44 KiB) Viewed 453 times
User avatar
ppemawm
Posts: 729
Joined: Fri May 17, 2013 3:54 pm
Location: Manhattan New York

Re: Assembly 4 workbench

Postby ppemawm » Tue Jan 28, 2020 12:10 pm

gozlikehell wrote:
Tue Jan 28, 2020 12:56 am
I was able to fully model and animate a CV axle assembly.
Amazing. Thanks for sharing.
Can you briefly explain how you did this or can you attach the file?
We would all like to learn from you.
"It is a poor workman who blames his tools..." ;)
gozlikehell
Posts: 14
Joined: Sun Jan 26, 2020 11:47 pm

Re: Assembly 4 workbench

Postby gozlikehell » Wed Jan 29, 2020 7:09 am

Wow! And I was hoping for help from YOU guys. Here's how it "works". The Sketch_axle_master represents the path of a trailing arm rear axle similar to say a Porsche 930. The Sketch_inner_joint_track illustrates the path the tripod joint makes as it plunges during suspension movement. The "magic" to the CV path is that the path sketch is attached to the other 2 sketches via Plane by 3 points, then the actual line in the sketch is attached (or constrained) to the other 2 sketches via external geometries. It's left to float without actually relying on any sketch axes. All of my objects were already built and I just needed to migrate them into the workbench and attach them to the model sketches.

The master sketches work, but are rough. That's where I expose a bug in FreeCAD. When I animate the master sketches through the XY plane, the sketch will "flip over" or map reverse. That's the primary bug I've been talking about. I've created a separate file illustrating just that without all of the attached objects. Here's the very basic master sketches. If you animate Axle_height THROUGH the arbitrary XY plane created by all of the sketches at a Z height of -106.362, then the Sketch_cv_shaft_path flips over(or maps reversed). If you work with it above or below that plane without actually crossing, then it works fine. I understand how it happens, but how can I fix it? It's not a problem with the Assembly workbench, but it works to demonstrate the problem consistently. I discovered it before using the workbench. A valid starting range for Axle_height would be -273.05 up to -106.362. If you watch LCS_1(which is attached the same way as Sketch_cv_shaft_path), you will see why/how it happens.

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19311 (Git)
Build type: Release
Branch: master
Hash: 120b69c74f7dac8c4fa6dbc0a7e10674bde9216c
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)
Attachments
CV Master Sketches.FCStd
(10.25 KiB) Downloaded 17 times
User avatar
Zolko
Posts: 1042
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Postby Zolko » Wed Jan 29, 2020 9:09 am

gozlikehell wrote:
Wed Jan 29, 2020 7:09 am
The master sketches work, but are rough. That's where I expose a bug in FreeCAD. When I animate the master sketches through the XY plane, the sketch will "flip over" or map reverse. That's the primary bug I've been talking about.
I was thinking that you had run into the FreeCAD topological naming issue, which is indeed one of FreeCAD's main weaknesses, but in your case that's not ... the case. You attach Sketch_cv_shat_path with a "Plane by 3 points" , therefore when the 3rd point passes over the 2 others, then it is logical that it flips over. That's not a FreeCAD bug, that's the result of your construction.

I have always found that construction with "Align O X Y" types are much better because you can better choose the directions. In your case, I'd try to attach the Sketch (or LCS) to a vertex, then X to the line in Sketch_inner_joint_track, and choose/construct the 3rd point such that it is always on the same side. You can even construct a virtual, non-real-world, point for that. Plane by 3 points is easier but less deterministic.
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here
gozlikehell
Posts: 14
Joined: Sun Jan 26, 2020 11:47 pm

Re: Assembly 4 workbench

Postby gozlikehell » Wed Jan 29, 2020 10:39 am

The brain is a bit foggy this morning. Like I had mentioned, I was playing with Map Mode and these generic sketches before discovering your workbench, so my work was easy to migrate over. Now that I have a working model, I'm looking here for help to correct the bugs. I can't visualize how to correct it. All 3D models that I see are animated in 1 plane. A crankshaft, a whirly gig, etc. all move in an arbitrary 2D plane placed in space. This is an example that does not.The path goes along all 3 axes at once. If it were an A arm type suspension, then once again, things would be in the same arbitrary plane. How would I fix this? I'm just not seeing it. Maybe after some more caffeine.
User avatar
Zolko
Posts: 1042
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Postby Zolko » Wed Jan 29, 2020 10:53 am

gozlikehell wrote:
Wed Jan 29, 2020 10:39 am
All 3D models that I see are animated in 1 plane. A crankshaft, a whirly gig, etc. all move in an arbitrary 2D plane placed in space.
you're right. We did look at the retractable gear of an F-16, which is fully 3D, but nobody did model it as far as I know.

This is an example that does not.The path goes along all 3 axes at once. If it were an A arm type suspension...
I'm not familiar with automotive suspension systems (I know about the parallelogram principle, and that one could be reduced to 2D), could you point to images/figures that describe the different types ?
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here
gozlikehell
Posts: 14
Joined: Sun Jan 26, 2020 11:47 pm

Re: Assembly 4 workbench

Postby gozlikehell » Wed Jan 29, 2020 11:00 am

If this were robotics, I might call this an issue with singularity. I just can't see how to make the line follow the path. Looking for someone much smarter than me. I'm a mere novice.
User avatar
Zolko
Posts: 1042
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Postby Zolko » Wed Jan 29, 2020 11:03 am

gozlikehell wrote:
Wed Jan 29, 2020 11:00 am
I just can't see how to make the line follow the path
what does that suspension type look like on a real car ? Do you have an image of a real suspension system ? I don't even know what to search for.
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here