Assembly3 preview

Discussion about the development of the Assembly workbench.
alberich
Posts: 48
Joined: Thu Aug 17, 2017 2:09 pm
Location: Texas

Re: Assembly3 preview

Postby alberich » Tue May 08, 2018 10:19 pm

Anyway, thank you realthunder for your work on the Assembly 3 Workbench. You picked up the ball from where it was dropped or fumbled years ago and are heading for a touch down. You are awesome!
+1 on this.

Also, a question. For all of us cheering your progress down the field, where is the goal line? That is, what milestone is needed to be reached for A3 to be merged into the daily build?
User avatar
sgrogan
Posts: 5418
Joined: Wed Oct 22, 2014 5:02 pm

Re: Assembly3 preview

Postby sgrogan » Tue May 08, 2018 10:37 pm

Code: Select all

https://github.com/FreeCAD/FreeCAD-ports-cache/releases/download/v0.18/FreeCADLibs_11.11_x64_VC12.7z
An update in your appveyor.yml will then use this. I need more testing for a pull request, but this is what I'm using for Win developer builds.
realthunder
Posts: 1192
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Tue May 08, 2018 11:18 pm

alberich wrote:
Tue May 08, 2018 10:19 pm
Also, a question. For all of us cheering your progress down the field, where is the goal line? That is, what milestone is needed to be reached for A3 to be merged into the daily build?
A3 is developed as a test and demo to show that my core changes of FC works. And I think my branch is ready for merging now. There are of course lots of bugs expected, but the design of all the changes is to maintain backward compatibility first. I am not sure what the lead developers think about this, although I can understand that this is a huge changeset, approaching 50K lines of changes.

If my branch is merged, it doesn't really matter if A3 is in the master or not. It can exist as an Add-on. And I personally think it will be better to have the assembly workbench written in C++, but that won't happen until we can find a proper solver with compatible license, or write our own.

As for the road map of A3 itself, I have two big features in mind.

* Import assemblies built with A2. I personally need this, because I have huge assemblies built with A2 long time ago. I considered of doing the import since the beginning. But A3 was not matured enough to do this. I think it is ready now.

* DOF analyzer and animator. I studied SolverSpace's code for this already, and I had a rough idea how it works. I may need to patch SolveSpace solver library a little bit in order to bring out this functionality.
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
realthunder
Posts: 1192
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Tue May 08, 2018 11:19 pm

sgrogan wrote:
Tue May 08, 2018 10:37 pm

Code: Select all

https://github.com/FreeCAD/FreeCAD-ports-cache/releases/download/v0.18/FreeCADLibs_11.11_x64_VC12.7z
An update in your appveyor.yml will then use this. I need more testing for a pull request, but this is what I'm using for Win developer builds.
Thanks, I'll use it in my next release
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
realthunder
Posts: 1192
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Wed May 09, 2018 12:47 am

GlouGlou wrote:
Tue May 08, 2018 12:29 pm
Here a full designed vise I drew.
Which version of FC you used to make this? It didn't store transient properties correctly. I remember one of my releases has this problem. Are you using one of my release to make this?
easyw-fc wrote:
Tue May 08, 2018 3:57 pm
BTW I had an issue with @GlouGlou file if opened in A3 build... I had to open it in FC0.18 and then save it.
You can open this file in 0.18? Exactly which version and platform are you using? I tested 0.18 on Linux and it crashes, due to the transient property problem I mentioned above.

Edit, ah right, you saved it once in my branch, by which you fixed the transient property problem, and the resulting file can be opened in 0.18. You can ignore the error message. I'll get rid of it in the next release.
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
triplus
Posts: 8728
Joined: Mon Dec 12, 2011 4:45 pm

Re: Assembly3 preview

Postby triplus » Wed May 09, 2018 7:34 am

realthunder wrote:
Tue May 08, 2018 11:18 pm
* Import assemblies built with A2.
Any chance you would be prepared to maintain a fork of Assembly 2 for the purpose of Qt5 (and potentially Py3) porting?
User avatar
easyw-fc
Posts: 2663
Joined: Thu Jul 09, 2015 9:34 am

Re: Assembly3 preview

Postby easyw-fc » Wed May 09, 2018 7:36 am

realthunder wrote:
Wed May 09, 2018 12:47 am
Edit, ah right, you saved it once in my branch, by which you fixed the transient property problem, and the resulting file can be opened in 0.18.
there must be something wrong with this document... If I make a recompute, FC just hangs and then crash...

Code: Select all

App.ActiveDocument.recompute()
(the same in FC0.18 after marking the document for a recompute)
realthunder
Posts: 1192
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Wed May 09, 2018 7:43 am

triplus wrote:
Wed May 09, 2018 7:34 am
Any chance you would be prepared to maintain a fork of Assembly 2 for the purpose of Qt5 (and potentially Py3) porting?
I'm not sure if I'm up to the task. A2 code is not really documented, and hard to understand. I originally wanted my A3 as a fork of A2, but gave up in the middle of porting. I'm not that good at Python comparing to C++.
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
easyw-fc
Posts: 2663
Joined: Thu Jul 09, 2015 9:34 am

Re: Assembly3 preview

Postby easyw-fc » Wed May 09, 2018 7:55 am

realthunder wrote:
Wed Mar 28, 2018 10:56 pm
triplus wrote: As for Link effort. The way i see it one thing is still missing. In use cases where you create a Link to geometry in external file. And there is substantial amount of "design history" in that file. Or in use cases where you need to have a big number of "part documents". There should be a way (one example of a solution to the problem being Assembly 2 import feature). Where only the "subset of geometry" would get loaded and documents wouldn't need to be opened at all. Or it would be opened only to extract a "subset of geometry" to crate a Link feature and after to be closed.
That's a nice feature to have. I'll think about it.
@realthunder
Is there anything similar to what A2 is doing, like loading the shape of an external document into A3, through Links or similar?

I think that would lighten A3 job and the final document for the assembly, particularly when you need to assembly many parts together... Just update the source document and update the links to get the Assembly up to date...
realthunder
Posts: 1192
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Wed May 09, 2018 8:05 am

easyw-fc wrote:
Wed May 09, 2018 7:55 am
@realthunder
Is there anything similar to what A2 is doing, like loading the shape of an external document into A3, through Links or similar?

I think that would lighten A3 job and the final document for the assembly, particularly when you need to assembly many parts together... Just update the source document and update the links to get the Assembly up to date...
I haven't figure out how to do that yet. Because A3 is so deep into this hierarchical thing, it's not easy to achieve similar effect as A2. But I'll definitely work on that in the future.
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