Assembly3 preview

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

Re: Assembly3 preview

Postby Zolko » Mon Jan 21, 2019 9:27 am

realthunder wrote:
Mon Jan 21, 2019 3:24 am
New asm3 version are released. Please checkout the release note
nice, I tested it with my asm_V4 assembly: your solver is much faster when executing the macro (rotation of the camshaft), something like ×3. I compiled with Py3, yours is Py2: does this explain the difference, or did you optimise the code ? When opening the assembly, I have a bunch of :

Code: Select all

...
<PropShape> PropertyTopoShape.cpp(314): geo element map version changed: Screw_CHC#Sketch, 0.10.70200.3 -> 0.10.60901.3
<PropShape> PropertyTopoShape.cpp(314): geo element map version changed: Screw_CHC#Pad, 1.10.70200.3.0 -> 1.10.60901.3.0
<PropShape> PropertyTopoShape.cpp(314): geo element map version changed: Screw_CHC#Pad, 1.10.70200.3.0 -> 1.10.60901.3.0
...
in one direction and in the other:

Code: Select all

...
<PropShape> PropertyTopoShape.cpp(323): Recomputation required for document 'Cylindre' on geo element version change: 1.10.60901.3.0 -> 1.10.70200.3.0
<PropShape> PropertyTopoShape.cpp(323): Recomputation required for document 'Crankshaft' on geo element version change: 0.10.60901.3 -> 0.10.70200.3
<PropShape> PropertyTopoShape.cpp(323): Recomputation required for document 'Bielle' on geo element version change: 1.10.60901.3.0 -> 1.10.70200.3.0
...

and when I see the core changes you have introduced relative to mainline, I don't know how it will be ported to FreeCAD.
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — simple tutorial here
realthunder
Posts: 1228
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Mon Jan 21, 2019 10:01 am

Zolko wrote:
Mon Jan 21, 2019 9:27 am
[nice, I tested it with my asm_V4 assembly: your solver is much faster when executing the macro (rotation of the camshaft), something like ×3. I compiled with Py3, yours is Py2: does this explain the difference, or did you optimise the code ?
I am not sure. I didn't do anything special about the Python part. Did you compile your code in release mode?
When opening the assembly, I have a bunch of :
You are using an older OCCT 6.9. It is (so much) better to use 7.3 (used in my AppImage) instead. That's probably why you are getting lots of model breaking when switching between different FC builds. And that may also be part of the reason of the above performance difference.
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
Zolko
Posts: 445
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Postby Zolko » Mon Jan 21, 2019 10:12 am

realthunder wrote:
Mon Jan 21, 2019 10:01 am
Did you compile your code in release mode?
beuh ?

You are using an older OCCT 6.9. It is (so much) better to use 7.3 (used in my AppImage) instead.
OK, I'll use your latest release for my development now. Thanx for the LCS button BTW.
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — simple tutorial here
m.cavallerin
Posts: 81
Joined: Wed May 30, 2018 6:59 pm

Re: Assembly3 preview

Postby m.cavallerin » Mon Jan 21, 2019 6:07 pm

realthunder wrote:
Mon Jan 21, 2019 3:24 am
New asm3 version are released.

One thing to take NOTE. This version will auto migrate your assembly files, and you will not be able to open those migrated files in my older release. Please remember to BACKUP your files first!

Please checkout the release note and the demo video links inside.

There are quite a lot changes in this version, code wise, which is why it is delayed for so long. Feel free to report any problem you have.
Are building instructions not changed since last updated August 2018?
BTW, I saw you implemented implicit elements, thx very much I'm going to test it soon.

Regards.
realthunder
Posts: 1228
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Mon Jan 21, 2019 10:15 pm

m.cavallerin wrote:
Mon Jan 21, 2019 6:07 pm
Are building instructions not changed since last updated August 2018?
BTW, I saw you implemented implicit elements, thx very much I'm going to test it soon.

Regards.
No change. And you are welcome.
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
Brutha
Posts: 151
Joined: Mon May 04, 2015 1:50 pm

Re: Assembly3 preview

Postby Brutha » Tue Jan 22, 2019 1:14 pm

Hi All,

Have been having a little play with this today, very nice so far, thanks!

One question: is there some way to have a constraint where a solid is attached to a spherical or other curved surface? For example, see below - I want the block above to rest on the dome. Then if I move the dome up and down, I would want the block to move accordingly.

example2.png
example2.png (82.73 KiB) Viewed 641 times

Background - I am going to build a "barn door startracker" (see example https://partofthething.com/thoughts/mak ... otography/), and I'd like to model in Freecad first. Of course, I can probably get all the accuracy I need by just constraining the plane to a point on a line, but where's the fun in that :D

Cheers

Brutha
User avatar
fosselius
Posts: 346
Joined: Sat Apr 23, 2016 10:03 am

Re: Assembly3 preview

Postby fosselius » Tue Jan 22, 2019 2:14 pm

Do you really need a sphere? Can you not just constrain against a point at the top of the sphere?
Otherwise you can have stack two "hinges", one for x and one for y.

If its this assembly:
Screenshot_20190122-151212_Chrome.jpg
Screenshot_20190122-151212_Chrome.jpg (253.08 KiB) Viewed 622 times
you should be able to just use the edge of the threaded rod (ignore the end nut) just use a cylinder in the model ;)
Brutha
Posts: 151
Joined: Mon May 04, 2015 1:50 pm

Re: Assembly3 preview

Postby Brutha » Tue Jan 22, 2019 3:02 pm

Do you really need a sphere? Can you not just constrain against a point at the top of the sphere?
Yes, actually I'm sure that would be accurate enough to be honest, any difference will be far beyond my capability to accurate align the device anyway!

I was just thinking that it might come in useful in other scenarios, where you couldn't make such a simplification, and this prompted my question.
you should be able to just use the edge of the threaded rod (ignore the end nut) just use a cylinder in the model ;)
That could be worth a go, thanks!
User avatar
Zolko
Posts: 445
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Postby Zolko » Tue Jan 22, 2019 3:17 pm

fosselius wrote:
Tue Jan 22, 2019 2:14 pm
you should be able to just use the edge of the threaded rod (ignore the end nut) just use a cylinder in the model
... or a 2D sketch. You're going to be limited anyway by the guiding and stiffness of the threaded rod.

What you're doing is an equatorial mount for your camera to follow Earth's rotation ? That's very clever, good idea
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — simple tutorial here
Brutha
Posts: 151
Joined: Mon May 04, 2015 1:50 pm

Re: Assembly3 preview

Postby Brutha » Tue Jan 22, 2019 4:00 pm

What you're doing is an equatorial mount for your camera to follow Earth's rotation ? That's very clever, good idea
Yes, it's a homemade equatorial mount and it is clever indeed - but very far from being my idea! The link is just one I found on the net btw....

There are many variations on the basic theme - the issue with the basic version is that if you drive the shaft at constant speed, you do not get the constant angular change that you need. It's fine for short periods, but you need something additional for longer exposures - some people do this with various mechanical solutions such as a curved threaded rod, or some kind of cam on the top plate that the nut rides against.

The version I linked to was just done using code on the Arduino to vary the stepper speed - which seems a nice simple approach and easily tweakable, so I will attempt to copy it!