Assembly3 preview

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
Kuzma30
Posts: 163
Joined: Wed Oct 24, 2018 11:50 am
Location: Ukraine

Re: Assembly3 preview

Post by Kuzma30 »

Code: Select all

OS: Ubuntu 21.10 (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.30922 (Git)
Build type: Release
Branch: LinkDaily
Hash: b126e1545ee0a35aa3c9831058a384e1cc1f88fc
Python version: 3.9.7
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.6.1
Locale: English/United States (en_US)
I continue learning FreeCAD on an https://github.com/Kuzma30/FREECAD_CNC project. I decided to parametrize the roller to protect the guides. I selected bearings and fasteners for several existing pipe diameters. Entered the received parameters into the configuration table. It turned out 4 options: two for the M5, and one each under the M6 ​​and M8.

The part is in the "РоликY" file, and the configuration table is in the "ТаблицаПараметров" file "Ролик" spreadsheet.
There are 2 problems:
1. When I select the M5v1, M5v2 or M8 option, everything is rebuilt and displayed normally. When I select the M6 ​​option, an error is displayed, and in the Elements assembly tab, I get 4 errors that refer to bearings. After changing the option to M5v1 M5v2 or M8, the errors disappear.
2. When I select one option in "РоликY" file (M5v1,M5v2,M6 or M8) it doesn't update in "ТаблицаПараметров" file "Ролик" spreadsheet.

M6 log

Code: Select all

10:12:06  <App> DocumentObject.cpp(780): Changes to partial loaded document will not be saved: ТаблицаПараметров#Spreadsheet002.cells
10:12:11  <App> DocumentObject.cpp(780): Changes to partial loaded document will not be saved: роликЗащитыY#Sketch.Constraints
10:12:12  <App> PropertyLinks.cpp(437): РоликY#Element020.LinkedObject missing element reference подшипник#Chamfer Chamfer.;#556;:M;CHF;:Hb98:7,F.Face1
10:12:12  <App> PropertyLinks.cpp(437): РоликY#Element018.LinkedObject missing element reference подшипник#Chamfer Chamfer.;#557;:M;CHF;:Hb98:7,F.Face8
10:12:12  <App> PropertyLinks.cpp(437): РоликY#Element019.LinkedObject missing element reference подшипник#Chamfer Chamfer.;#556;:M;CHF;:Hb98:7,F.Face1
10:12:12  <App> PropertyLinks.cpp(437): РоликY#Element017.LinkedObject missing element reference подшипник#Chamfer Chamfer.;#557;:M;CHF;:Hb98:7,F.Face8
10:12:12  525.162286 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  5646.87 <App> Document.cpp(4266): Failed to recompute РоликY#Element017: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  0.012829 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  5646.89 <App> Document.cpp(4266): Failed to recompute РоликY#Element019: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  0.00449 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  5646.89 <App> Document.cpp(4266): Failed to recompute РоликY#Element018: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  0.026047 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  5646.92 <App> Document.cpp(4266): Failed to recompute РоликY#Element020: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  Recompute failed! Please check report view.
10:12:12  0.055584 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  5646.97 <App> solver.py(376)|Document.cpp(4266): Failed to recompute РоликY#Element017: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  0.004397 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  5646.98 <App> solver.py(376)|Document.cpp(4266): Failed to recompute РоликY#Element019: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  0.004457 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  5646.98 <App> solver.py(376)|Document.cpp(4266): Failed to recompute РоликY#Element018: Failed to get geometry element from (РоликY#Подшипник2) РоликY#Link007.Chamfer.;#557;:M;CHF;:Hb98:7,F.Chamfer.?Face8
10:12:12  0.00336 <asm3.main> assembly.py(789): Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  Traceback (most recent call last):
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 787, in execute
    info = self.getInfo(False)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1264, in getInfo
    return getElementInfo(self.getAssembly().getPartGroup(),
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/assembly.py", line 1796, in getElementInfo
    raise RuntimeError('Failed to get geometry element from '
<class 'RuntimeError'>: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  5646.98 <App> solver.py(376)|Document.cpp(4266): Failed to recompute РоликY#Element020: Failed to get geometry element from (РоликY#Подшипник) РоликY#Link.Chamfer.;#556;:M;CHF;:Hb98:7,F.Chamfer.?Face1
10:12:12  Recompute failed! Please check report view.
10:12:12  0.003271 <asm3.main> assembly.py(3918): solver exception when auto recompute
Traceback (most recent call last):
  File "<string>", line 535, in _catch
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/solver.py", line 412, in solve
    return _solve(*args,**kargs)
  File "/home/alexandr/.FreeCAD/Mod/FreeCAD_assembly3/freecad/asm3/solver.py", line 377, in _solve
    raise RuntimeError(
RuntimeError: Failed to recompute (РоликY#Ролик) РоликY#Assembly
M5 and M8 log

Code: Select all

10:13:06  <App> DocumentObject.cpp(780): Changes to partial loaded document will not be saved: ТаблицаПараметров#Spreadsheet002.cells
10:13:08  <App> DocumentObject.cpp(780): Changes to partial loaded document will not be saved: роликЗащитыY#Sketch.Constraints
10:13:10  554.941015 <asm3.sys> system.py(244): auto relax constraint (РоликY#Attachment004) РоликY#Constraint005 between (РоликY#M8x16-Screw) РоликY#Screw and (РоликY#M8-Washer) РоликY#Washer, 2
10:13:10  0.000573 <asm3.sys> system.py(244): auto relax constraint (РоликY#Attachment005) РоликY#Constraint006 between (РоликY#ВинтПрав) РоликY#Link010 and (РоликY#ШайбаПрав) РоликY#Link003, 2
10:13:10  0.001122 <asm3.sys> system.py(244): auto relax constraint (РоликY#Attachment008) РоликY#Constraint009 between (РоликY#DIN6334_1) РоликY#Link008 and (РоликY#M8x108.80000000000001-ThreadedRod) РоликY#ThreadedRod, 2
10:13:10  0.000538 <asm3.sys> sys_slvs.py(71): dof remaining: 0
RealThunder's A3 Wiki translation, join the project https://crowdin.com/project/freecad-asm3-wiki
User avatar
jpg87
Posts: 808
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 preview

Post by jpg87 »

I did several tests with the latest version of FreeCADLink but I can't find the problem.

Code: Select all

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 2022.402.26244 +4679 (Git)
Build type: Release
Branch: LinkDaily
Hash: 2ed36c0a234b3871a790ac8437f496f29e025ded
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.6.0
Locale: French/France (fr_FR)
PbTableConfig_First_Frame.png
PbTableConfig_First_Frame.png (52.49 KiB) Viewed 6717 times
I send a video to Realthunder :
https://www.dropbox.com/s/rpj3nxac0yy0p ... g.mp4?dl=0
Last edited by jpg87 on Sun Apr 03, 2022 3:53 pm, edited 1 time in total.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
Kuzma30
Posts: 163
Joined: Wed Oct 24, 2018 11:50 am
Location: Ukraine

Re: Assembly3 preview

Post by Kuzma30 »

https://youtu.be/bfJ2ADn4naY video with error.

Code: Select all

OS: Ubuntu 21.10 (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.30926 (Git)
Build type: Release
Branch: LinkDaily
Hash: 107e46ecc47733d3d467867d71632cb103c9edc3
Python version: 3.9.7
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.6.1
Locale: English/United States (en_US)
RealThunder's A3 Wiki translation, join the project https://crowdin.com/project/freecad-asm3-wiki
User avatar
jpg87
Posts: 808
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 preview

Post by jpg87 »

Sorry, I had redefined some Constraint Elements, and no longer had the errors, but hadn't paid attention to the constraint disruption.
I modified the image from the previous post and I complete the information for Realthunder.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
jpg87
Posts: 808
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 preview

Post by jpg87 »

Kuzma30 wrote: Sun Apr 03, 2022 1:19 pm...
I modified the assembly by creating a sub-assembly (bottom image).
The main assembly (top image) reacts to the configuration change, but the sub-assembly requires one and even several successive recalculations before positioning itself correctly, which also generates the update of the main assembly.
The spreadsheet page still not updating correctly.

PbTableConfig_WithSubAssM6.png
PbTableConfig_WithSubAssM6.png (88.4 KiB) Viewed 6583 times

PbTableConfig_WithSubAssM5v2.png
PbTableConfig_WithSubAssM5v2.png (77.96 KiB) Viewed 6583 times

I sent the files to Realthunder.
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
Kuzma30
Posts: 163
Joined: Wed Oct 24, 2018 11:50 am
Location: Ukraine

Re: Assembly3 preview

Post by Kuzma30 »

jpg87 wrote: Mon Apr 04, 2022 1:22 pm
Kuzma30 wrote: Sun Apr 03, 2022 1:19 pm...
PbTableConfig_WithSubAssM6.png
??????? - This is auto generated name (I compute length by several parameters)
RealThunder's A3 Wiki translation, join the project https://crowdin.com/project/freecad-asm3-wiki
User avatar
jpg87
Posts: 808
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 preview

Post by jpg87 »

Kuzma30 wrote: Mon Apr 04, 2022 5:01 pm ??????? - This is auto generated name (I compute length by several parameters)
Ok, I was wondering why such precision.
Here is Realthunder's response (https://github.com/realthunder/FreeCAD_ ... ssues/1176) :
The Spreadsheet not updating problem is fixed by the above commit.

The sub-assembly requiring manual recompute is not really a bug actually. You can trigger recompute after change the configuration combo box by pressing return key. This is by design, which arguably could use some improvement. It is mainly to allow smoother changing of the property value, so that a full recompute is only performed after user confirms it by either pressing return, or change widget focus.
For testing, here are the files with my sub-assembly :
https://www.dropbox.com/s/518f4lx7618pk ... s.zip?dl=0
My website : http://help-freecad-jpg87.fr updated 2023/11/06
Nick1951
Posts: 35
Joined: Fri Apr 29, 2022 2:03 pm

Re: Assembly3 preview

Post by Nick1951 »

Hi zolko,
Where can I found the description all of these small icons, that occur sometimes on objects names in my Tree Panel ?
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Assembly3 preview

Post by Kunda1 »

Nick1951 wrote: Tue May 10, 2022 4:27 pm Where can I found the description all of these small icons, that occur sometimes on objects names in my Tree Panel ?
You mean Tree_view#Overlay_icons ?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
bambuko
Veteran
Posts: 2114
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Assembly3 preview

Post by bambuko »

Nick1951 wrote: Tue May 10, 2022 4:27 pm Hi zolko,
Where can I found the description all of these small icons, that occur sometimes on objects names in my Tree Panel ?
Sounds like some confusion?
this one doesn't belong in Assembly 3 thread??
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Post Reply