Assembly 4 workbench

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
julierme.silva
Posts: 21
Joined: Tue Jan 10, 2017 2:10 am

Re: Assembly 4 workbench

Post by julierme.silva »

MSOlsen65 wrote: Fri Apr 24, 2020 1:48 pm Does this actually matter? If more than 2 objects share a common point of intersection, it remains common irregardless which of the "earlier" objects the intersection is with.
I agree with you regarding the question that Zolko posted.
Even so, I commented in this Zolko post saying that if the choice of LCS was something extremely important, Asm4 could show the user a list with the LCS existing in the connection LOCAL(place) (not all LCS of the pieces involved) so that this user could to choose.
What do you think? :?:


MSOlsen65 wrote: Fri Apr 24, 2020 1:48 pm Nevertheless, this would seem to be an effective suggestion to become a relative blend between Asm4 and A2+ without the need for a solver, an Asm4+ if you will.
Yes. It would be very interesting to use the Asm2 + assembly methodology without the need for a solver (restrictions connecting objects), that is, using the LCS connections.

The interaction of Asm2 + with the pieces to be assembled is what (in my opinion) is lacking in Asm4 to increase its intuitiveness.

Maintains the Asm2 + assembly dynamics and inserts the connection logic between objects using Asm4's LCS. Bummmm!

Of course speaking is easy. It is difficult to implement this idea.
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

There are actually 2 things that you're proposing:
RatonLaveur wrote: Fri Apr 24, 2020 3:24 pm I don't really see that as an issue if I propose this (and that may be terribly wrong): What user Silva suggests is the ability to pick and place entirely in 3D. The problem raised seems to be "but what am I picking when there is ambiguity?"
This is a very good idea, but I don't know how to code it.

julierme.silva wrote: Mon Apr 27, 2020 1:00 am By LOCAL (place), I mean a region of the object (piece) where you want to connect with another piece. This region could be a face (having its LCS), an edge (having its LCS) or any other region of the piece that has an LCS.
This, on the other hand, is something different: creating an LCS "on-the-fly" during assembly, attached to faces or edges in parts, would make the assembly victim of the topological naming problem. Actually, I sort-of implemented thaa already with the "Hole" object, which is actually only an LCS attached to a circle, and created in the part but while in the assembly. But these LCS cannot be used as regular Asm4 attachments, only fasteners can use them, and the idea is that if the toponaming issue hits the fan, only fasteners will be affected, not the entire assembly.

Of course, a designer can attach an LCS in his part to edges and faces, and he'll be hit by the toponaming problem, but that's his (bad) choice, and something that I don't want to help doing.
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
julierme.silva
Posts: 21
Joined: Tue Jan 10, 2017 2:10 am

Re: Assembly 4 workbench

Post by julierme.silva »

Zolko wrote: Mon Apr 27, 2020 7:07 pm This, on the other hand, is something different: creating an LCS "on-the-fly" during assembly, attached to faces or edges in parts, would make the assembly victim of the topological naming problem. Actually, I sort-of implemented thaa already with the "Hole" object, which is actually only an LCS attached to a circle, and created in the part but while in the assembly. But these LCS cannot be used as regular Asm4 attachments, only fasteners can use them, and the idea is that if the toponaming issue hits the fan, only fasteners will be affected, not the entire assembly.

Of course, a designer can attach an LCS in his part to edges and faces, and he'll be hit by the toponaming problem, but that's his (bad) choice, and something that I don't want to help doing.
Well, that the objective of Assembly 4 is to work with the existing LCS in the pieces (as it is currently implemented), obeying the topological criteria. This already works well in this version of Assembly 4.

My biggest observation remains in relation to the user interaction GUI, when objects are being connected (assembled).

May you and your team succeed with the evolution of this version of the Assembly to FreeCAD. It is certainly very promising.
Once again, congratulations on your effort.
Thanks for your feedbaks.
User avatar
mfasano
Posts: 122
Joined: Wed Apr 11, 2018 12:31 pm

Re: Assembly 4 workbench

Post by mfasano »

Hello;

I am trying to do multibody dynamics of an assembly4 model with the MBDyn solver. Here is the discussion of it.

https://forum.freecadweb.org/viewtopic. ... &start=100

I am at the point of animating the model. I need to disable or delete the expression engine and then returning it back after the animation. How would I do that?
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

mfasano wrote: Tue Apr 28, 2020 3:54 pm I am at the point of animating the model. I need to disable or delete the expression engine and then returning it back after the animation. How would I do that?
what do you mean by "disable the expression engine" ? On all parts, or some of them ?
try the Assembly4 workbench for FreCAD — tutorials here and here
MaurinoWeb
Posts: 221
Joined: Thu Jun 22, 2017 1:15 pm

Re: Assembly 4 workbench

Post by MaurinoWeb »

Hello everybody
I share my second test with assembly 4, it's easy but I had fun and practiced ...
The snap pliers I modeled it so I can share it, but I went fast, so there is some defect, even the assembly I made can have topological problems, but this is because I went fast (it was night) I am aware, but for now it is so.
I have to finish both the modeling and the assembly ... I want to add the adjustment and spring, Although easy, it is an excuse to practice.

The method between modeling and assembly also needs to be improved, I hope to improve by continuing with study and practice.
(range begin 50, range end 100)

Thanks for all the work done, I have a lot of fun with assembly4, and seeing it animated is a great satisfaction, and with the right associations, the assembly can be very robust.

In the next few days I think I have some questions to ask and "maybe" something to report (simple conditional expressions with variables type float give me an error, with the type int no, maybe something escapes me, I will be more descriptive in a few days if I don't solve).

Sorry my bad english
Thanks again, a greeting and good day
pinza_a_scatto_assembly_4.FCStd
(317.41 KiB) Downloaded 55 times
pinza-scatto.gif
pinza-scatto.gif (741.02 KiB) Viewed 2147 times
User avatar
mfasano
Posts: 122
Joined: Wed Apr 11, 2018 12:31 pm

Re: Assembly 4 workbench

Post by mfasano »

Zolko wrote: Tue Apr 28, 2020 5:04 pm
what do you mean by "disable the expression engine" ? On all parts, or some of them ?
It seems the I may not need it; the placement of the parts is updating on the view screen without recompute.

It may not matter, but I would like to return it to the way it was at the end. recompute at the end returns it.
User avatar
iplayfast
Posts: 256
Joined: Sat Sep 07, 2019 6:55 am

Re: Assembly 4 workbench

Post by iplayfast »

Trying to use assembly 4 for the first time. Running into segfaults.

I'm trying to load previously made parts into an assembly. I don't know what I'm doing, but I'm pretty sure this isn't supposed to happen. :)

Log Console of session follows (lightly edited to remove duplicate lines):

Code: Select all

FreeCAD 0.19, Libs: 0.19R20943 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2020
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

Loading Assembly4 WorkBench
Sheet Metal workbench loaded
Interlocking laser cut workbench loaded
A3 available
Part-o-magic: loading Base
Part-o-magic: loading Parameters
Part-o-magic: loading Compatibility
Part-o-magic: loading Gui
Part-o-magic: loading Features
Part-o-magic: loading Utils
Part-o-magic: loading Containers
Part-o-magic: loading LinkTools
Part-o-magic: loading ExpressionParser
Part-o-magic: loading FilePlant
Part-o-magic: loading FCProject.py
Part-o-magic: loading FCObject.py
Part-o-magic: loading Observer
Part-o-magic: loading TempoVis
Part-o-magic: loading AACommand
Part-o-magic: loading Control
Part-o-magic: loading Tools
Part-o-magic: loading LinkTools
Part-o-magic: loading Icons
Part-o-magic: loading CommandCollection1
Part-o-magic: loading LeaveEnter
Part-o-magic: loading Tip
Part-o-magic: loading TransferObject
Part-o-magic: loading Duplicate
Part-o-magic: loading SelectionTools
Part-o-magic: loading Part
Part-o-magic: loading Module
Part-o-magic: loading ShapeGroup
Part-o-magic: loading ShapeBinder
Part-o-magic: loading Ghost
Part-o-magic: loading Exporter
Part-o-magic: loading Features.PartDesign
Part-o-magic: loading AssyFeatures
Part-o-magic: loading PDShapeFeature
Part-o-magic: loading MuxAssembly
Part-o-magic: loading GlobalToolbar
Part-o-magic: loading View
Part-o-magic: loading OnOff
Part-o-magic: loading ListUsages
<string>:410: DeprecationWarning: an integer is required (got type PySide2.QtCore.Qt.WindowFlags).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
<string>:410: DeprecationWarning: an integer is required (got type PySide2.QtCore.Qt.WindowType).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
Cannot find icon: :/icons/PartDesign_Body_Create_New.svg
created object
created object
...
created object
container changed from None to RingGear
created object
created object
...
created object
container changed from None to onelazy
container changed from None to motor
container changed from None to assembly
created object
...
created object
container changed from assembly to Part
entering Part
container changed from None to assembly
created object
...
created object
container changed from assembly to Part
entering Part
container changed from Part to assembly
leaving Part
container changed from assembly to Part
entering Part
created object
5.11e-07 SoFCUnifiedSelection.cpp(1501): Cyclic scene graph: assembly#Link
/tmp/.mount_freecaPywtnn/AppRun: line 41:  2715 Segmentation fault      (core dumped) ${MAIN} "$@"
OS: Linux Mint 19.3 (X-Cinnamon/cinnamon)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.20943 (Git) AppImage
Build type: Release
Branch: master
Hash: ceb23799c76df3ebfa7be4b9fe83bb62de60bc6c
Python version: 3.8.2
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/Canada (en_CA)
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

iplayfast wrote: Sat May 09, 2020 7:50 pm Trying to use assembly 4 for the first time. Running into segfaults. I'm trying to load previously made parts into an assembly. I don't know what I'm doing
Since we don't know either what you're doing, it's not going to be easy to help you

Code: Select all

...
Loading Assembly4 WorkBench
...
Part-o-magic: loading Base
Part-o-magic: loading Parameters
Part-o-magic: loading Compatibility
Part-o-magic: loading Gui
...
created object
container changed from assembly to Part
entering Part
container changed from Part to assembly
leaving Part
container changed from assembly to Part
entering Part
created object
5.11e-07 SoFCUnifiedSelection.cpp(1501): Cyclic scene graph: assembly#Link
/tmp/.mount_freecaPywtnn/AppRun: line 41:  2715 Segmentation fault      (core dumped) ${MAIN} "$@"
... but Assembly4 seems to start correctly ad these are not Assembly4 error messages..
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
iplayfast
Posts: 256
Joined: Sat Sep 07, 2019 6:55 am

Re: Assembly 4 workbench

Post by iplayfast »

Zolko wrote: Sun May 10, 2020 9:27 am
iplayfast wrote: Sat May 09, 2020 7:50 pm Trying to use assembly 4 for the first time. Running into segfaults. I'm trying to load previously made parts into an assembly. I don't know what I'm doing
Since we don't know either what you're doing, it's not going to be easy to help you
Wasn't looking for help so much as pointing out the line number that had the segfault in case it's something obvious.
Post Reply