Assembly3 preview

Discussion about the development of the Assembly workbench.
User avatar
saso
Posts: 1330
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Assembly3 preview

Postby saso » Sat Jan 05, 2019 11:24 am

Zolko wrote:
Sat Jan 05, 2019 11:19 am
I think that the name for the container is badly chosen: an "Assembly" in A3 can be an assembly but also other things, much broader. How about changing the name to avoid confusion ? For example "Model" ?
I think If we look at it as an NX Part it probably works quite well. If it can work like this then the existing FC Part would become obsolete.
Zolko wrote:
Sat Jan 05, 2019 11:19 am
Also: why is there a need for a group — or whatever it is — called "Parts" to hold the included parts ?
This is an old and ongoing confusion in FC, the definitions of Part, Solid, Body are all badly mixed and misused.
Zolko wrote:
Sat Jan 05, 2019 11:19 am
Could those not be included directly at the root of the container ? That would simplify the workflow and avoid further confusion.
I would agree with moving them to the root of the container, on the other side however Catia Part does have a similar structure to this, I am guessing that it makes it easier to select the published objects... ?
Last edited by saso on Sat Jan 05, 2019 2:24 pm, edited 1 time in total.
wsteffe
Posts: 143
Joined: Thu Aug 21, 2014 8:17 pm

Re: Assembly3 preview

Postby wsteffe » Sat Jan 05, 2019 1:21 pm

realthunder wrote:
Sat Jan 05, 2019 7:39 am
The constraint can affect geometry, with my SubShapeBinder to bind shapes across hierarchy.
Hello realthunder, thanks for your clarifications. I will think about it.
For the moment I have started to make simple trials to better understand how asm3 works.

Unfortunately I have encountered some troubles even with simple test cases.
You may see that in the annexed files which both are failing after pressing the ASM3 button for constraints recomputation.

The two model are built in the same way. Two bodies were firstly created in the Part Design module with a pad in each body.
After having switched to asm3 a new assembly was created and the two bodies dragged into it.
Lastly a constraint was created defining the distance between two bodies in the z direction.

I have tried the point to plane distance in test5 and the coincident plane with offset in test6. Both failed with errors that you may see by pressing recompute constraints...
Attachments
test6.fcstd
(26 KiB) Downloaded 14 times
test5.fcstd
(22.16 KiB) Downloaded 14 times
User avatar
saso
Posts: 1330
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Assembly3 preview

Postby saso » Sat Jan 05, 2019 1:43 pm

Zolko wrote:
Fri Jan 04, 2019 11:51 pm
In Catia assemblies and parts are different files, one cannot be transformed into another, while in NX there is only 1 type which can be a part, an assembly and any combination of them. It's much more flexible and yet it guides you to a more structured architecture. I agree that both allow you to do the same things, but in NX everything is so much more elegant.
I know and understand this difference between the two. I also see the single Part container of NX as more flexible but (and I know this is just a personal taste) I see the way Catia does things as more structured. Yes, the Catia tree can be confusing at first, but personally I feel that it sort of forces the user to better understand and properly use the different concepts like assembly, part, body, sketch, ordered and unordered feature modeling,... In NX, IMO if the user is trained it can be all good, but if not then the user can also badly misuse this ability to use a single container for both part and assembly... So I like them both, but for different reasons. Adding an extra Part for the "skeleton" I don't see as such a big thing and if FC would work at least somewhat similar to one or the other I would be happy.
User avatar
nemesis
Posts: 344
Joined: Tue Mar 25, 2014 11:24 pm
Location: France, Lyon

Re: Assembly3 preview

Postby nemesis » Sat Jan 05, 2019 7:38 pm

realthunder wrote:
Thu Nov 15, 2018 10:26 pm
Yes, sure. I'll try to make a release this month.
Hi Realthunder, and happy new year!
any chance you release an appimage with latest commits?
User avatar
bill
Posts: 376
Joined: Fri Jan 09, 2015 9:25 pm

Re: Assembly3 preview

Postby bill » Sat Jan 05, 2019 8:37 pm

nemesis wrote:
Sat Jan 05, 2019 7:38 pm
realthunder wrote:
Thu Nov 15, 2018 10:26 pm
Yes, sure. I'll try to make a release this month.
Hi Realthunder, and happy new year!
any chance you release an appimage with latest commits?
Yes, that would be a real good idea, since my .18-daily seems crippled and i could use an operable version of FC.

No pressure !
drool.gif
drool.gif (2.93 KiB) Viewed 389 times
:o :lol:

P.S., Probably is time for wider feedback/usage scoping
User avatar
ceremcem
Posts: 208
Joined: Sun Jan 07, 2018 11:10 am

Re: Assembly3 preview

Postby ceremcem » Sat Jan 05, 2019 9:24 pm

nemesis wrote:
Sat Jan 05, 2019 7:38 pm
any chance you release an appimage with latest commits?
In case you didn't notice the existence of my build scripts, I want to mention once again. This approach has invaluable benefits for such a bleeding edge application that you can not achieve with any other installation method : https://github.com/ceremcem/build-freec ... advantages (If you already noticed, please ignore this post)
realthunder
Posts: 1188
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Sun Jan 06, 2019 5:48 am

nemesis wrote:
Sat Jan 05, 2019 7:38 pm
realthunder wrote:
Thu Nov 15, 2018 10:26 pm
Yes, sure. I'll try to make a release this month.
Hi Realthunder, and happy new year!
any chance you release an appimage with latest commits?
Right, I must apologize for eating my word, more than once! I did actually build the release images, several times. But every time there is some problem discovered, and I have to fix it. Besides, there are users communicating with me through github issues reporting problems. I guess I included too much new features in this release. I'll make a release soon.

Oh, and happy new year to you and everyone!
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: 1188
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Sun Jan 06, 2019 6:09 am

wsteffe wrote:
Sat Jan 05, 2019 1:21 pm
The two model are built in the same way. Two bodies were firstly created in the Part Design module with a pad in each body.
After having switched to asm3 a new assembly was created and the two bodies dragged into it.
Lastly a constraint was created defining the distance between two bodies in the z direction.

I have tried the point to plane distance in test5 and the coincident plane with offset in test6. Both failed with errors that you may see by pressing recompute constraints...
In test5 you dragged in Pad instead of the body. That is not going to work because the way PartDesign feature works. A body feature (i.e. Pad, Pocket, etc) only works within a body. You have to drag the body inside. Or create a link to the body and drag the link instead.

I didn't find any problem with test6, although it is best to explicitly lock an object first. If there is no explicit lock constraint, the owner of the first element of the first constraint is fixed. To explicitly lock a feature, select any face of the body that you want to lock, and click "Lock" constraint button. BTW, when selecting an geometry element in a body, it is recommended to choose one in the earliest history, because it is expected to be more stable. For locking of a body, the most stable feature is its origin plane. Any origine plane will do.

Also, please sync both LinkStage3 and asm3 repo before try again, in case you are caught in a bad commit.
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: 1188
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Sun Jan 06, 2019 6:43 am

Zolko wrote:
Sat Jan 05, 2019 11:19 am
I think that the name for the container is badly chosen: an "Assembly" in A3 can be an assembly but also other things, much broader. How about changing the name to avoid confusion ? For example "Model" ?
Model? I use the word modeling for geometry modeling. But hey, I don't have a mechanic engineering background. When I choose the name, I was thinking that Assembly (or Product) and Part are really the same thing, since the name Part is taken already, so I choose "Assembly", which also echo's the name of the workbench. I also thought at that time that this "Assembly" and "Part" dualism is a common sense among mechanical folks, no?

Also: why is there a need for a group — or whatever it is — called "Parts" to hold the included parts ? Could those not be included directly at the root of the container ? That would simplify the workflow and avoid further confusion.
In the beginning, I also wanted to eliminate the "Parts" group to reduce one tree hierarchy for every assembly. But now I feel lucky I didn't do it, because I can now add optional functions as extra groups without affecting the part list. There is already an initially hidden relation group. In the future, there may be other groups for things like simplified part shapes, collision shapes, and so on.

Another thing, A3 assembly container can be frozen, and the "Parts" group will store a compound shape of all sub-assembly, such that further changes in the sub-assembly will not affect this assembly. And if those sub-assembly are in external files, they will not be loaded, which allows A3 to handle potentially large assembly.
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: 1188
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Sun Jan 06, 2019 7:45 am

saso wrote:
Sat Jan 05, 2019 11:21 am
- Change the name of your container from Assembly to Part
Uh...that name is taken already

- Add the origin by default to it
I can add an option to enable that behavior.

- Change the icon to one that is more similar to the Part icon (maybe just a bit different color)
- Are you able to program it so that if it is a single container it would have one icon (the Part icon), but if you put another container in it the icon of the top container would automatically change (I would prefer this one https://github.com/FreeCAD/FreeCAD/blob ... y_Demo.svg), it would still be the same container but it would just show in the tree that it is used as an assembly ?
Does the icon really matter that much? I mean, are there any real operational difference on a Part vs an Assembly to warrant such change?

- Are you able to hide the Constraints and Elements groups by default and when there are no constraints and elements used / set, so that they would show only when there would actually be some constraints added ?
I can hide the constraints group by default. That's actually not a bad idea. I can hide Element group, too, but element is actually a very important concept. An assembly (or part) without element doesn't really do anything useful. Besides, if I hide the element group, there will be a single Part group inside, which I guess is even more confusing. In case you are wondering if I can remove the part group altogether, that'll do more harm than good, as I mention in the post above.

BTW, you can manually hide any object if you want. Simply right click the item in the treeview and select "Hide item". To reveal any hidden item of a document, right click any item in that document, and select "Show hidden items".
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