Assembly3 preview

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Post by Zolko »

Hello realthunder, I've found a bug in your latest release:

I had made earlier some experimenting with the Path workbench, to produce Gcode for manufacturing some real parts. This was done with:

OS: Ubuntu 18.04.1 LTS
Version: 0.18.15363 (Git) AppImage
Build type: Release
Branch: master
Hash: 9be3e633328335f1172456f5857219b7a08c70a5
Python version: 3.6.7
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Path.png
Path.png (484.93 KiB) Viewed 2457 times

I didn't yet use the Gcode (with an Arduino Shield). But when I load the 2 files in your latest AppImage, it crashes hard

Code: Select all

FreeCAD 0.18, Libs: 0.18R16235 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2018
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Part__Feature
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Cylinder
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Fusion
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Clone
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Stock001
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#MillFace
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Profile_Edges
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Profile_Edges001
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Clone001
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Pocket_Shape
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Profile_Edges002
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Pocket_Shape001
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Profile_Edges003
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Pocket_Shape002
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Pocket_Shape003
<PropShape> PropertyTopoShape.cpp(338): auto generate element map: support_SiWafer#Stock
PathJob.INFO: Converting Job.Base to new Job.Model for detourage
Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f4ef0719f20]
#1  /usr/lib/x86_64-linux-gnu/libstdc++.so.6(__dynamic_cast+0x20) [0x7f4ef0d75360]
#2  0x7f4ef2c9ed87 in App::Document::afterRestore(std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> > const&, bool, bool) from ././/lib/freecad-daily/lib/libFreeCADApp.so+0x567
#3  0x7f4ef2cae48d in App::Document::afterRestore(bool, bool) from ././/lib/freecad-daily/lib/libFreeCADApp.so+0x3d
...

OS: Ubuntu 18.04.1 LTS
Version: 0.18.16235 (Git) AppImage
Build type: None
Branch: (HEAD detached at FETCH_HEAD)
Hash: 49e18e2cb348edc6c565d8a10e59363de23f5880
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.3.0

files attached
Attachments
support_SiWafer.fcstd
(123.34 KiB) Downloaded 56 times
support_LensArray.fcstd
(128.17 KiB) Downloaded 58 times
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
bill
Posts: 376
Joined: Fri Jan 09, 2015 9:25 pm

Re: Assembly3 preview

Post by bill »

Yes, in ubuntu 16.04, it loads, renders, then app goes away!
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Post by Zolko »

bill wrote: Fri Jan 25, 2019 8:17 pm Yes, in ubuntu 16.04, it loads, renders, then app goes away!
Can you please copy your FreeCAD version information ? (Help -> About FreeCAD -> copy to clipboard) .
try the Assembly4 workbench for FreCAD — tutorials here and here
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Post by realthunder »

Zolko wrote: Fri Jan 25, 2019 2:53 pm Hello realthunder, I've found a bug in your latest release:
Thanks for reporting. It's been fixed. Please sync LinkStage3 and try again. I'll release a new image soon.
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
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Post by Zolko »

realthunder wrote: Fri Jan 11, 2019 10:59 pm
OakLD wrote: Fri Jan 11, 2019 4:19 pm One of those elementary question still remain unanswered - why the files are opened in the first place? I.e. you don't show a configuration text file to user, when you're reading configuration lines from it.
So, you are essentially complain about a UI problem? Too many tabs, is that it?
I didn't step in at that time, but I think that OakLD is right, and this could cause problems in the future: when you have hundreds of parts in an assembly, having hundreds of windows (tabs) opened will make it unusable. And when I close a window on a part that is included in an assembly, the part disappears from that assembly.

So while I understand that a part must be "open" for it to be included in an assembly, does it need a GUI window for that ? There is a command-line version of FreeCAD, how does it open a document if it has no GUI at all ?
try the Assembly4 workbench for FreCAD — tutorials here and here
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Post by realthunder »

Zolko wrote: Mon Jan 28, 2019 8:54 am
I didn't step in at that time, but I think that OakLD is right, and this could cause problems in the future: when you have hundreds of parts in an assembly, having hundreds of windows (tabs) opened will make it unusable. And when I close a window on a part that is included in an assembly, the part disappears from that assembly.

So while I understand that a part must be "open" for it to be included in an assembly, does it need a GUI window for that ? There is a command-line version of FreeCAD, how does it open a document if it has no GUI at all ?
I was not discarding his complain when I reply that. In fact, I was acknowledging this as a GUI problem, which I'll find a way to improve it in the future.
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
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Post by Zolko »

realthunder wrote: Fri Jan 25, 2019 11:34 pm Please sync LinkStage3 and try again.

Code: Select all

[ 17%] Building CXX object src/Gui/CMakeFiles/FreeCADGui.dir/WidgetFactory.cpp.o
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h:43:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qtextstream.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QTextStream:1,
                 from /home/hubertz/Documents/3Dcad/FreeCAD/FreeCAD-LinkStage3_git/FreeCAD/src/Gui/WidgetFactory.cpp:28:
/home/hubertz/Documents/3Dcad/FreeCAD/FreeCAD-LinkStage3_git/FreeCAD/src/Gui/WidgetFactory.cpp: In member function ‘QIcon* Gui::PythonWrapper::toQIcon(PyObject*)’:
/home/hubertz/Documents/3Dcad/FreeCAD/FreeCAD-LinkStage3_git/FreeCAD/src/Gui/WidgetFactory.cpp:367:14: error: ‘icon’ was not declared in this scope
     Q_UNUSED(icon);
              ^
/home/hubertz/Documents/3Dcad/FreeCAD/FreeCAD-LinkStage3_git/FreeCAD/src/Gui/WidgetFactory.cpp:367:14: note: suggested alternative: ‘QIcon’
src/Gui/CMakeFiles/FreeCADGui.dir/build.make:7844: recipe for target 'src/Gui/CMakeFiles/FreeCADGui.dir/WidgetFactory.cpp.o' failed
make[2]: *** [src/Gui/CMakeFiles/FreeCADGui.dir/WidgetFactory.cpp.o] Error 1
CMakeFiles/Makefile2:6119: recipe for target 'src/Gui/CMakeFiles/FreeCADGui.dir/all' failed
make[1]: *** [src/Gui/CMakeFiles/FreeCADGui.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

I had this before, so I commented out that line #367 in ~/src/Gui/WidgetFactory.cpp: //Q_UNUSED(icon); and it passes ...
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly3 preview

Post by Zolko »

realthunder wrote: Fri Jan 25, 2019 11:34 pm Please sync LinkStage3 and try again.
it compiles and runs now, but I have a problem with my PySide2 install, therefore many things don't work. I use your latest asm3 AppImage as standard now.
try the Assembly4 workbench for FreCAD — tutorials here and here
Brutha
Posts: 221
Joined: Mon May 04, 2015 1:50 pm

Re: Assembly3 preview

Post by Brutha »

Hi All,

Testing (and trying to find my way round A3!) on OSX. I wanted to use a angle constraint to pivot the two plates around a hinge (indicated by the red line). See attached file.

The axial constraint works fine to link the two plates. The angle constraint gives an issue though, I just get the message "Failed to solve unnamed assembly: inconsistent constraints".

Did I miss some important part of the process?

Thanks!

Brutha

a3_angle.png
a3_angle.png (589.69 KiB) Viewed 1991 times

Code: Select all

OS: macOS 10.14
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14555 (Git shallow)
Build type: Release
Branch: (HEAD detached at FETCH_HEAD)
Hash: 49e18e2cb348edc6c565d8a10e59363de23f5880
Python version: 2.7.15
Qt version: 5.11.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)
Attachments
a3_angle.FCStd
(31.48 KiB) Downloaded 53 times
Brutha
Posts: 221
Joined: Mon May 04, 2015 1:50 pm

Re: Assembly3 preview

Post by Brutha »

Update: actually I found that wrapping each part in an assembly, then combining those into another assembly seemed to work nicely!
Post Reply