Assembly3 preview

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Post by realthunder »

fosselius wrote: Sat Oct 13, 2018 3:50 pm Any progress on this? As i said before, i will have some sparetime now until feb, is there anything i can help with? Or should i put my efforts into extending/forking asm3 with bullet python bindings?

Maybe its easiest to create a python physics/sim workbench that works with asm3 assemblies and also normal part structure, then later on when/if bullet becomes available in FC I can switch backend.
Unfortunately, I haven't started on this yet. Have been busy with something else. My plane is to add the collision detection first. A physics engine can do the detection part, but requires the user to provide the collision shape. These collision shape generation is not really specific to any physics engine. In fact, Chrono is using the older bullet's code for that. And newer bullet includes others library code as a convenience toolbox for user to generate the shape.

I intend to put this collision shape generation and detection to a separate workbench, and create a feature that can generate the meshes for collision uses from its base feature. And in asm3, I will be adding a new child group under the assembly container to hold those collision shapes, and organize the parts and constraints more suitable as a configuration for physics engine. If you have any idea about how to organize this group (as an alternative view of the assembly), I am glad to hear it.
Try Assembly3 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
fosselius
Posts: 381
Joined: Sat Apr 23, 2016 10:03 am
Contact:

Re: Assembly3 preview

Post by fosselius »

The way i have done it in the past is to export all bodies as .stl files and included them from a SDF file that i generated. Then bullet can import the sdf model.

For larger assemblies this might be problematic as everything is written/read from disk.. going from cad to sim without writing to disk is a better solution. But i also want to use the files in gazebo.

I do not know about bullet in it self, but gazebo use base 1m while FreeCAD uses 1mm, so stl files have to be scaled accordingly..

Regarding constraints, how about adding attributes/options? When creating a cocentric constraint, tick the box "use as joint"

I firmly belive in adding a "dummy shape" to reprecent the joint so you can see the orientation, placement amnd limits of the joint. Then you can also move/transform* it with the move tool.

*this is probably not needed/a bad idea if we are going to use/detect DOF from assembly constraints as joints.

For reference: https://forum.freecadweb.org/viewtopic.php?f=10&t=15442
antoniovazquezblanco
Posts: 48
Joined: Sun Apr 06, 2014 12:42 pm

Re: Assembly3 preview

Post by antoniovazquezblanco »

First of all hi and thank you very much to everyone making this tool possible, specially @realthunder.

A while ago I tried to use Freecad for simple designs and assemblies without too much success. I am now coming back at this with some new enthusiasm knowing that new releases are available and new efforts to improve the assembly exist. I am mainly interested in the assembly feature while I will also be generating some cases for electronics and technical drawings for those designed parts to be manufactured.

Right now I am part of a newly created startup that is looking for a tool that will enable us to model and manufacture those cases for electronics without having to pay excesive fees for licenses. In this context I have some questions.

1. Will assembly 3 evolve in a non-breaking and backwards compatibility manner? I don't mind having to update my models from time to time but it would be madness if I had to redo all my assemblies in a six month time because of a breaking change.

2. Will assembly 3 evolve into a more "native" solution like the original assembly solution? I know this may not be easy to answer but from what I've read, this solution seems the most in line with the original planning. I would like to pick a 'long term oriented' solution and not have to abandon an old model or completely redo it (same complaint as in 1).

3. Most of the parts we use come from KiCad directly in STEP format. Some others are provided by other manufacturers either in STEP and IGES. My workflow usually would be to create a FreeCAD document from those existing models. After that I would create a "assembly document" where I would link the other documents and assemble them. I have not yet tested this workflow in depth but I have found that I can drag and drop models from one document into another creating an external link. It seems that this link only works while both documents are open. Is there any way to overcome this limitation?

4. The model I've imported in my test is a small pcb with 30 to 40 components. When I create a link to that document from my assembly document Freecad slows down and is unable to show the linked model in the assembly document. Unfortunatelly I cannot send the file due to privacy and licensing issues. Is this a know issue or should I try to create a file that I can send to you?

Sorry for the long post. I hope I can give something back to this community even if I finally don't pick this solution. I have great hope on this project!

Thanks again!
Mark Szlazak
Posts: 439
Joined: Tue Apr 04, 2017 6:06 pm
Location: SF Bay Area, California

Re: Assembly3 preview

Post by Mark Szlazak »

FYI, some ideas from a commercial product.

Simplify Large Assemblies With SOLIDWORKS 2019
New features and improved performance speeds up Large Assembly design

phpBB [video]
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Assembly3 preview

Post by Jee-Bee »

If talking about large assemblies it is better to look to other Cad software as Solid Works... I would say it is the worst. Creo, NX are much stronger in that...
Mark Szlazak
Posts: 439
Joined: Tue Apr 04, 2017 6:06 pm
Location: SF Bay Area, California

Re: Assembly3 preview

Post by Mark Szlazak »

Jee-Bee wrote: Mon Oct 15, 2018 5:47 pm If talking about large assemblies it is better to look to other Cad software as Solid Works... I would say it is the worst. Creo, NX are much stronger in that...
Yup. I heard the same from one instructor but another instructor begged to differ.
So what exactly makes Creo and NX better than Solidworks with large assemblies?
User avatar
fosselius
Posts: 381
Joined: Sat Apr 23, 2016 10:03 am
Contact:

Re: Assembly3 preview

Post by fosselius »

When building big/complex stuff, CATIA is commonly used instead of SolidWorks, both is from dassult.
Have no experience of working with big assemblies in it.
Mark Szlazak
Posts: 439
Joined: Tue Apr 04, 2017 6:06 pm
Location: SF Bay Area, California

Re: Assembly3 preview

Post by Mark Szlazak »

fosselius wrote: Mon Oct 15, 2018 10:04 pm When building big/complex stuff, CATIA is commonly used instead of SolidWorks, both is from dassult.
Have no experience of working with big assemblies in it.
If memory serves me correctly then Catia was another one. The college i take classes at give courses in all these plus Autocad. The Solidworks instructor differed from the sentiment of the CAD lab coordinator which said the rest minus AutoCad, were better at big assemblies than Solidworks. I never got a detailed reason why and since my contact now with that college is very limited, can someone explain why?
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Post by realthunder »

antoniovazquezblanco wrote: Mon Oct 15, 2018 4:11 pm 1. Will assembly 3 evolve in a non-breaking and backwards compatibility manner? I don't mind having to update my models from time to time but it would be madness if I had to redo all my assemblies in a six month time because of a breaking change.
I will try my best to maintain backward compatibility.

2. Will assembly 3 evolve into a more "native" solution like the original assembly solution? I know this may not be easy to answer but from what I've read, this solution seems the most in line with the original planning. I would like to pick a 'long term oriented' solution and not have to abandon an old model or completely redo it (same complaint as in 1).
The decision of using Python to implement this assembly workbench is to test and verify that my changes to the FC core is good. So far, I myself am satisfied with the result. But there is still a risk that my changes is not accepted upstream. So maybe you can wait a bit longer. I expect to discuss again about the merging at the start of 0.19 development cycle.

3. Most of the parts we use come from KiCad directly in STEP format. Some others are provided by other manufacturers either in STEP and IGES. My workflow usually would be to create a FreeCAD document from those existing models. After that I would create a "assembly document" where I would link the other documents and assemble them. I have not yet tested this workflow in depth but I have found that I can drag and drop models from one document into another creating an external link. It seems that this link only works while both documents are open. Is there any way to overcome this limitation?
May I ask why you think it a limitation? When you use link to external document, it only stores the object placement and external file location in the assembly file. So the external file has to be opened at least once to obtain the actual model data. The reason the file is kept open because the link also uses the 3D view representation from the other document. If you think that multiple document items in the tree view is annoying and confusing, the upcoming asm3 release will have a feature inherited from upstream to only show the active document in the tree view. If you are worried about excessive dependency in the external file, then there is the partial document loading feature implemented in asm3. For example, say you have a external FC file used as a component library with all types of resistor components, and you linked a few types in your PCB assembly. After you save and reopen the assembly, that library will still be opened, but only the used resistor models will be loaded. If you want to distribute you assembly, there is command (Treeview context menu Link actions -> Import all links) to copy all external linked object and repoint the external links to the copied object, or, you can use the STEP export.

4. The model I've imported in my test is a small pcb with 30 to 40 components. When I create a link to that document from my assembly document Freecad slows down and is unable to show the linked model in the assembly document. Unfortunatelly I cannot send the file due to privacy and licensing issues. Is this a know issue or should I try to create a file that I can send to you?
Yes please. At least show me a screencast of what you did. This is mostly like a bug.
Try Assembly3 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
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Post by realthunder »

Mark Szlazak wrote: Mon Oct 15, 2018 6:45 pm
Jee-Bee wrote: Mon Oct 15, 2018 5:47 pm If talking about large assemblies it is better to look to other Cad software as Solid Works... I would say it is the worst. Creo, NX are much stronger in that...
Yup. I heard the same from one instructor but another instructor begged to differ.
So what exactly makes Creo and NX better than Solidworks with large assemblies?
I want to know the answer too. I have no experience in using other CAD what's so ever. But I have looked at the new SW 2019 features showcase, and they are mind blowing.
Try Assembly3 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
Post Reply