Assembly3 preview

Discussion about the development of the Assembly workbench.
triplus
Posts: 8353
Joined: Mon Dec 12, 2011 4:45 pm

Re: Assembly3 preview

Postby triplus » Fri Feb 08, 2019 10:19 pm

Zolko wrote:
Sun Feb 03, 2019 12:50 pm
wouldn't that defeat the very purpose of linking ? Isn't there already a solution for this : I believed that A2+ does something like that, or may-be I misunderstood.
ATM and provided by default FreeCAD only has a little bit of cross document support, when using expressions. Everything else is basically still WIP and on the To-Do list. Modules like Assembly 2 and A2plus indeed do need such functionality and currently use this or that approach to support it.
realthunder wrote:
Tue Feb 05, 2019 12:08 am
App::Link can't do that, as it is provided by the core, and therefore has no knowledge of Part, PartDesign, or other features it can link to. But I do think a "fat" link is useful in many case, which is one of the reason I added SubShapeBinder in PartDesign. You can use it with or without a Body. In the latest release, it can directly bind to external object just like a Link, with no geometry copy by default. By flipping the "Partial Load" property you can make it copy the geometry instead, and effectively become the "fat" link you want. When you load a file containing the fat link, it will not load the external document. If you flip that property again, it will load the external document on demand.
I feel that in ideal scenario all of this would somehow come closer together. Link feature would be made available in the right click menu and as a command in Part workbench. By default it would create a lightweight representation of the geometry in the same or in an external document. Some limited subset of property customization would be supported, like color. Highly useful for adding standard elements from a library to assemblies. Property would exist for being able to turn such Link feature to "fat" mode. Basically Draft Clone alike and cross document enabled. Useful for things like cross document master sketch use cases and basically whatever you can think off ATM, difference being it's cross document enabled.

In addition completely dropping the option, to have all the documents opened automatically, that likely makes sense too.

Now as for what will happen in real world. I don't know. Fingers crossed! ;)
emills2
Posts: 564
Joined: Tue Apr 28, 2015 11:23 pm

Re: Assembly3 preview

Postby emills2 » Sat Feb 16, 2019 3:51 am

triplus wrote:
Fri Feb 08, 2019 10:19 pm
Link feature would be made available in the right click menu and as a command in Part workbench. By default it would create a lightweight representation of the geometry in the same or in an external document. Some limited subset of property customization would be supported, like color.

i really really hope that full access to linked object sub-structures remains as an option, because when combined with Zolko's scripts, it allows some really cool stuff. (https://forum.freecadweb.org/viewtopic. ... 0#p286359)

like 'live edit' of fixed constraints. below the sketch being edited is defined in one of the parts of the assembly, and the editing re-arranges the fixed contraint 'live' in the 3D view during sketch editing. this is really useful.
AWS_03_00.gif
AWS_03_00.gif (282.85 KiB) Viewed 489 times
i'm editing Sketch001 in Test_Block_01, From within Test_AWS_03. Since LCS1 of Test_Block_01 is mapped O-X-Y to Sketch001, this gives me in-assembly preview of the resulting direct placement.
AWS_03_04.gif
AWS_03_04.gif (307.97 KiB) Viewed 489 times
custom view properties that only affect the link would be nice though, as an option. and lightweight as an option too.

Realthunder, how hard would it be to bake Zolko's direct placement with LCSs directly in A3? I'm considering making a workbench for it, but only if we have to. seems it might be hard to get people to try a workbench that they can only use with your branch of FreeCAD.

Maybe this workflow could be a baseline no solver case in A3?
https://forum.freecadweb.org/viewtopic. ... 90#p287192
User avatar
dulouie
Posts: 71
Joined: Tue Oct 03, 2017 4:14 pm

Re: Assembly3 preview

Postby dulouie » Sat Feb 16, 2019 12:53 pm

emills2 wrote:
Sat Feb 16, 2019 3:51 am
Realthunder, how hard would it be to bake Zolko's direct placement with LCSs directly in A3?
The way how zolko use LCS to do assembies is like mate connector's on onshape. Assembly Mates
I also think that the integration of zolkos LCS into asm3 makes sense. Onshape uses mates and a solver system too.
realthunder
Posts: 948
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Sat Feb 16, 2019 11:41 pm

emills2 wrote:
Sat Feb 16, 2019 3:51 am
i'm editing Sketch001 in Test_Block_01, From within Test_AWS_03. Since LCS1 of Test_Block_01 is mapped O-X-Y to Sketch001, this gives me in-assembly preview of the resulting direct placement.
Very nice. That's exactly why I added support for edit-in-place feature.

Realthunder, how hard would it be to bake Zolko's direct placement with LCSs directly in A3?
Not very hard. In fact, each 'Element' inside A3 is kind of defining a LCS using an existing geometry element or a datum point/line/plane. Adding directly support of LCS takes no time. But the workflow stuff needs to be adjusted. I'll think about it.

dulouie wrote:
Sat Feb 16, 2019 12:53 pm
The way how zolko use LCS to do assembies is like mate connector's on onshape.
Yes indeed. And this give me some idea of to integrate LCS. Thanks.
Try Assembly3 (latest version 0.10) 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
emills2
Posts: 564
Joined: Tue Apr 28, 2015 11:23 pm

Re: Assembly3 preview

Postby emills2 » Sun Feb 17, 2019 1:05 am

realthunder wrote:
Sat Feb 16, 2019 11:41 pm
dulouie wrote: ↑Sat Feb 16, 2019 5:53 am
The way how zolko use LCS to do assembies is like mate connector's on onshape.
Yes indeed. And this give me some idea of to integrate LCS. Thanks.
something similar would be Fusion 360's 'joints'. the first joint moves, rotates, and locks in place by default. then, as an option, you can add degrees of freedom back in. full disclosure: i haven't mastered the workflow of fusion 360, so i can't defend it very strongly.

personally, i think all workflows should be easy to get to. if you want traditional solidworks like constraints (like A2, A2+, and current A3), it's annoying to have to do extra steps to 'free up' degrees of motion.

by the same token, if you know which 2 LCSs you want to map, it's annoying to have to create 3 traditional constraints. this often leads to flipped planes, having to delete/suppress constraints, move and rotate parts manually close to their intended positions, and a lot of screwing around. when all you need is a placement = placement set up.
User avatar
dulouie
Posts: 71
Joined: Tue Oct 03, 2017 4:14 pm

Re: Assembly3 preview

Postby dulouie » Sun Feb 17, 2019 5:32 am

emills2 wrote:
Sun Feb 17, 2019 1:05 am
something similar would be Fusion 360's 'joints'. the first joint moves, rotates, and locks in place by default.
How do we call it in freecad? mates, joints...and?

By the way now i'm working on a easy accessable desgin-in-context addon and i use zolko's LCS for that. Thank's to zolko you are a pioneer.
emills2
Posts: 564
Joined: Tue Apr 28, 2015 11:23 pm

Re: Assembly3 preview

Postby emills2 » Sun Feb 17, 2019 5:44 am

dulouie wrote:
Sun Feb 17, 2019 5:32 am
How do we call it in freecad? mates, joints...and?
personally i think we only need one term. constraint (or mate, or whatever) works.

LCS constraint is just a special case where a single constraint completely defines the position of a part relative to another and does not require a solver. it's special mathematically, and almost braindead to implement, but not fundamentally different to a coincident plane or parallel constraint.
Zolko
Posts: 223
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Postby Zolko » Sun Feb 17, 2019 1:44 pm

emills2 wrote:
Sat Feb 16, 2019 3:51 am
Realthunder, how hard would it be to bake Zolko's direct placement with LCSs directly in A3? I'm considering making a workbench for it, but only if we have to.
Hum ... I think that the AWS doesn't only bring the cool thing of direct LCS-to-LCS snapping, that would be good to have in other workbenches, but also an assembly architecture, that is, I believe, a good one for FreeCAD assemblies. It only uses basic core FreeCAD things — apart from App::Link of course. With the constraints stored in App::FeaturePython objects, it should be possible to use another solver using such App::FeaturePython objects with some additional properties.

So I'd rather start from a new workbench with the AWS assembly architecture as beginning, and add on top of it features from existing assembly modules. There is a Create Workbench tutorial, I might give it a try
emills2
Posts: 564
Joined: Tue Apr 28, 2015 11:23 pm

Re: Assembly3 preview

Postby emills2 » Sun Feb 17, 2019 7:56 pm

deleted wrong thread
Last edited by emills2 on Sun Feb 17, 2019 8:41 pm, edited 1 time in total.
emills2
Posts: 564
Joined: Tue Apr 28, 2015 11:23 pm

Re: Assembly3 preview

Postby emills2 » Sun Feb 17, 2019 8:30 pm

deleted. wrong thread.