Assembly3 preview

Discussion about the development of the Assembly workbench.
Kuzma30
Posts: 41
Joined: Wed Oct 24, 2018 11:50 am

Re: Assembly3 preview

Postby Kuzma30 » Wed Mar 17, 2021 7:24 pm

Thank's for help. I corrected my mistake. Now It solve OK.
Rene
Posts: 28
Joined: Sun Mar 08, 2015 6:32 pm

Re: Assembly3 preview

Postby Rene » Sat Mar 20, 2021 10:41 am

I have an issue when using Linkbranch. My Spacemouse Compact is erratic when rotating around 1 axis. Works and has worked with official 0.19 versions without any issues.

Recorded with a camera. https://www.youtube.com/watch?v=Ga7PHBx3JgY

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2021.311.24301 +3373 (Git)
Build type: Release
Branch: LinkStage3
Hash: 91ca94db328bf6126c4a01547b6aa2202d876ebc
Python version: 3.6.8
Qt version: 5.12.6
Coin version: 4.0.0a
OCC version: 7.5.0
Locale: English/Europe (en_150)

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24212 (Git)
Build type: Release
Branch: master
Hash: 3d227cf7179c00e57f2733f947b4b1b0368d219a
Python version: 3.8.8
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/Europe (en_150)
stuff
steve123
Posts: 68
Joined: Fri Sep 04, 2015 8:58 pm

Re: Assembly3 preview

Postby steve123 » Sat Mar 20, 2021 5:23 pm

Encountered an issue with Assembly 3 today. I've attached some screen shots below. I created an assembly with two sub assemblies. I constrained the parts using the "Plane Coincident" constraint. The Elements used for the constraint are two sketch circles within each assembly. They can be seen in the first screen shot as the green circles along the axis of the hinge. When I set Lock Angle constraint of the Plane Coincident constraint the "True" and set the angle to 0 the first screen shot illustrates the result. When I change the angle to -45, the result is illustrated with the second screen shot. When I change the angle to -90, the result is illustrated with the third screen shot. The third screen shot appears to be incorrect. The top cover should be at a right angle to the bottom but it appears to have the same orientation as when the angle is set to 0.

Has anyone noticed anything unusual about adjusting the Angle when using the Plane Coincident constraint? Perhaps I am misunderstanding how this property is intended to be used?

OS: macOS 10.16
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24267 (Git)
Build type: Release
Branch: master
Hash: b2ca86d8d72b636011a73394bf9bcdedb3b109b7
Python version: 3.8.8
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: C/Default (C)

Screen Shot 2021-03-20 at 11.09.46 AM.png
Screen Shot 2021-03-20 at 11.09.46 AM.png (834.4 KiB) Viewed 811 times
Screen Shot 2021-03-20 at 11.09.58 AM.png
Screen Shot 2021-03-20 at 11.09.58 AM.png (897.32 KiB) Viewed 811 times
Screen Shot 2021-03-20 at 11.10.09 AM.png
Screen Shot 2021-03-20 at 11.10.09 AM.png (828 KiB) Viewed 811 times
realthunder
Posts: 1950
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Mon Mar 22, 2021 12:41 am

steve123 wrote:
Sat Mar 20, 2021 5:23 pm
Has anyone noticed anything unusual about adjusting the Angle when using the Plane Coincident constraint? Perhaps I am misunderstanding how this property is intended to be used?
Any constraints that involves angle is troublesome in most algebraic based solvers, because they are actually constraining the cosine value of the angle. So there are four angles that satisfy the constraint.

You can try replacing the Plane Coincident with the Attachment constraint. The attachment constraint is special, as it does not rely on the algebraic solver. It simply copies the placement of one part from the other. You can adjust the Offset property of either of the constraining Element to get the designed angle. Be aware though, asm3 may decide to auto convert the Attachment constraint to a Plane Coincidence if the part is indirectly constrained to some non-fixed part. For example, if a part is attached to another part that has an axial constraint. You'll be fine if the chain of parts contains only Lock and Attachment constraints.
Try Assembly3 (latest version 0.11) 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: 1950
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Mon Mar 22, 2021 1:01 am

Rene wrote:
Sat Mar 20, 2021 10:41 am
I have an issue when using Linkbranch. My Spacemouse Compact is erratic when rotating around 1 axis. Works and has worked with official 0.19 versions without any issues.
I just tried my own Spacemouse Compact on Windows. It seems working fine. I didn't modify any space mouse related code from upstream. Maybe it's the upstream that did some changes, as it seems that your upstream download is slightly older. Maybe you try updating the space mouse driver and see. I just made a fresh install of the driver before trying.
Try Assembly3 (latest version 0.11) 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
User avatar
OficineRobotica
Posts: 367
Joined: Thu Feb 21, 2019 8:17 am

Re: Assembly3 preview

Postby OficineRobotica » Wed Mar 24, 2021 5:55 am

I'm having a bit of a problem recovering a file that I used as a path finder for ways of modelling "in context"/reverse engineer a shape. It contains a major assembly in the SU30_Assembly file comprised of more sub assemblies. While working with the file and with no cyclic reference errors till that point FC crashed. Upon reopening I get this error message.

Assembly.jpeg
Assembly.jpeg (152.16 KiB) Viewed 596 times

If I dismiss the error message and load one of the sub assembly files like Cannopy_Assembly and try a recompute/refresh FC will always crash with this mesage:

Code: Select all

FreeCAD 0.19, Libs: 2021.311R24301 +3373 (Git)
Assembly4 workbench loaded 
<Exception> Document::getDependentDocuments: The graph must be a DAG.
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "<string>", line 26, in <module>
<class 'RuntimeError'>: {'sclassname': 'N4Base12RuntimeErrorE', 'sErrMsg': 'Document::getDependentDocuments: The graph must be a DAG.', 'sfile': '', 'iline': 0, 'sfunction': '', 'swhat': 'Document::getDependentDocuments: The graph must be a DAG.', 'btranslatable': False, 'breported': True}
<Exception> Document::getDependentDocuments: The graph must be a DAG.
Unknown command 'Draft_ToggleGrid'
Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f4d91a31210]
#1  0x7f4c67ca8760 in Sketcher::SketchObject::rebuildExternalGeometry(bool) from /tmp/.mount_FreeCA82NWTZ/usr/lib64/Sketcher.so+0x1350
#2  0x7f4c67cbfe03 in Sketcher::SketchObject::execute() from /tmp/.mount_FreeCA82NWTZ/usr/lib64/Sketcher.so+0x63
#3  0x7f4d93002ec2 in App::DocumentObject::recompute() from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADApp.so+0xa2
#4  0x7f4d8cc21f9a in Part::Feature::recompute() from /tmp/.mount_FreeCA82NWTZ/usr/lib64/Part.so+0xa
#5  0x7f4d92f92099 in App::Document::_recomputeFeature(App::DocumentObject*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADApp.so+0x209
#6  0x7f4d92fe9c32 in App::Document::recompute(std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> > const&, bool, bool*, int) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADApp.so+0x592
#7  0x7f4d930593cf in App::DocumentPy::recompute(_object*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADApp.so+0x2df
#8  0x7f4d930595c7 in App::DocumentPy::staticCallback_recompute(_object*, _object*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADApp.so+0x57
#9  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(PyCFunction_Call+0xf5) [0x7f4d9351d725]
#10  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(_PyObject_MakeTpCall+0x230) [0x7f4d934c5550]
#11  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x4ddd) [0x7f4d9352f28d]
#12  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x2ea) [0x7f4d934c6d9a]
#13  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(PyEval_EvalCodeEx+0x3a) [0x7f4d9355440a]
#14  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(PyEval_EvalCode+0x1c) [0x7f4d9355442c]
#15  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(+0x1e05aa) [0x7f4d935795aa]
#16  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(+0x224225) [0x7f4d935bd225]
#17  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libpython3.8.so.1.0(PyRun_StringFlags+0x80) [0x7f4d935bd2c0]
#18  0x7f4d92c5254c in Base::InterpreterSingleton::runString[abi:cxx11](char const*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADBase.so+0x6c
#19  0x7f4d93c61011 in Gui::Command::_runCommand(char const*, int, Gui::Command::DoCmd_Type, char const*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x91
#20  0x7f4d93c611b1 in Gui::Command::_doCommand(char const*, int, Gui::Command::DoCmd_Type, char const*, ...) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x101
#21  0x7f4d93c6bdcc in StdCmdRefresh::activated(int) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x6c
#22  0x7f4d93c68864 in Gui::Command::invoke(int, Gui::Command::TriggerSource) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x644
#23  0x7f4d91f4ba18 in QMetaObject::activate(QObject*, int, int, void**) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x6c0
#24  0x7f4d92756928 in QAction::triggered(bool) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0x32
#25  0x7f4d927582b2 in QAction::activate(QAction::ActionEvent) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0xc6
#26  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5(+0x20dc3c) [0x7f4d927f4c3c]
#27  0x7f4d927f4e47 in QAbstractButton::timerEvent(QTimerEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0xc1
#28  0x7f4d91f4a533 in QObject::event(QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x5b
#29  0x7f4d9278707f in QWidget::event(QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0xcc5
#30  0x7f4d9288b4a9 in QToolButton::event(QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0x45
#31  0x7f4d9275b7f2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0xdc
#32  0x7f4d9276131d in QApplication::notify(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0x1ac9
#33  0x7f4d93c18139 in Gui::GUIApplication::notify(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x89
#34  0x7f4d91f35606 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x86
#35  0x7f4d91f638a4 in QTimerInfoList::activateTimers() from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x24c
#36  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5(+0x1dbf54) [0x7f4d91f63f54]
#37  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5(+0x1dbf6f) [0x7f4d91f63f6f]
#38  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/./libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f4d8e5db98d]
#39  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/./libglib-2.0.so.0(+0x54c21) [0x7f4d8e5dbc21]
#40  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/./libglib-2.0.so.0(g_main_context_iteration+0x31) [0x7f4d8e5dbcc1]
#41  0x7f4d91f640e8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x5e
#42  0x7f4d91f32019 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x187
#43  0x7f4d93e00480 in Gui::PieMenu::exec(QMenu*, QPoint const&, char const*, bool, bool) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x2a0
#44  0x7f4d93c3b00b in Gui::ToolbarMenuAction::popup(QPoint const&) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x1b
#45  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so(+0x52f054) [0x7f4d93c3b054]
#46  0x7f4d93c68600 in Gui::Command::invoke(int, Gui::Command::TriggerSource) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x3e0
#47  0x7f4d91f4ba18 in QMetaObject::activate(QObject*, int, int, void**) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x6c0
#48  0x7f4d92756928 in QAction::triggered(bool) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0x32
#49  0x7f4d927582b2 in QAction::activate(QAction::ActionEvent) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0xc6
#50  0x7f4d92758a3b in QAction::event(QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0xb3
#51  0x7f4d9275b7f2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0xdc
#52  0x7f4d9276131d in QApplication::notify(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Widgets.so.5+0x1ac9
#53  0x7f4d93c18139 in Gui::GUIApplication::notify(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x89
#54  0x7f4d91f35606 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x86
#55  0x7f4d922f1b51 in QShortcutMap::dispatchEvent(QKeyEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Gui.so.5+0xd5
#56  0x7f4d922f1bc2 in QShortcutMap::tryShortcut(QKeyEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Gui.so.5+0x5c
#57  0x7f4d922c9ac0 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Gui.so.5+0xb0
#58  0x7f4d922d7e4c in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Gui.so.5+0x6c
#59  0x7f4d922da939 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Gui.so.5+0x79
#60  0x7f4d922c7c65 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Gui.so.5+0x63
#61  /tmp/.mount_FreeCA82NWTZ/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5(+0x5b010) [0x7f4d8920b010]
#62  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/./libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f4d8e5db98d]
#63  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/./libglib-2.0.so.0(+0x54c21) [0x7f4d8e5dbc21]
#64  /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/./libglib-2.0.so.0(g_main_context_iteration+0x31) [0x7f4d8e5dbcc1]
#65  0x7f4d91f640e8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x5e
#66  0x7f4d91f32019 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0x187
#67  0x7f4d91f35e8f in QCoreApplication::exec() from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib/libQt5Core.so.5+0xfd
#68  0x7f4d93b91a1e in Gui::Application::runApplication() from /tmp/.mount_FreeCA82NWTZ/usr/bin/../lib64/libFreeCADGui.so+0x40e
#69  /tmp/.mount_FreeCA82NWTZ/usr/bin/FreeCADLink(+0x44bf) [0x5639a2d884bf]
#70  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f4d91a120b3]
#71  /tmp/.mount_FreeCA82NWTZ/usr/bin/FreeCADLink(+0x47d9) [0x5639a2d887d9]
Cheers :)
LHC
Posts: 149
Joined: Thu Sep 17, 2020 4:21 pm
Location: Canada

Assembly 3 in 0.19 - good to go ?

Postby LHC » Sat Mar 27, 2021 7:16 pm

I've just started learning the assembly 3 workbench and am using 0.19. Is it correct to assume that there's no big issues or should I really be using RT's linkstage3 branch. I'm fairly new to Freecad and don't want to venture out of the box too much if I can help it :lol:

And I'd also like to extend a big thank you to jpg87 for his excellent site on learning assembly 3. It's helping me get my head around the concepts.
realthunder
Posts: 1950
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly 3 in 0.19 - good to go ?

Postby realthunder » Sun Mar 28, 2021 12:17 am

LHC wrote:
Sat Mar 27, 2021 7:16 pm
I've just started learning the assembly 3 workbench and am using 0.19. Is it correct to assume that there's no big issues or should I really be using RT's linkstage3 branch. I'm fairly new to Freecad and don't want to venture out of the box too much if I can help it :lol:

And I'd also like to extend a big thank you to jpg87 for his excellent site on learning assembly 3. It's helping me get my head around the concepts.
There is some problem with the bundled asm3 inside the upstream pre-built release. You can still use upstream FreeCAD if you want, but you'll need to manually clone my asm3 repo into your user directory. For Windows, it is located in c:\users\<your_user_name>\AppData\Roaming\FreeCAD\Mod\.


looo wrote:ping
sgrogan wrote:ping
Hey guys. Can you please update the asm3 repo? Thanks!
Try Assembly3 (latest version 0.11) 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
LHC
Posts: 149
Joined: Thu Sep 17, 2020 4:21 pm
Location: Canada

Re: Assembly 3 in 0.19 - good to go ?

Postby LHC » Sun Mar 28, 2021 1:41 am

realthunder wrote:
Sun Mar 28, 2021 12:17 am
You can still use upstream FreeCAD if you want, but you'll need to manually clone my asm3 repo into your user directory. For Windows, it is located in c:\users\<your_user_name>\AppData\Roaming\FreeCAD\Mod\.
Thanks for the heads up on the issues with the bundled asm3. I've downloaded your repo as a zip (I'm git illiterate) and will place in the Mod subdirectory you have indicated. I looked in that directory already and there's no asm3 files, but is that because the existing ones are are located elsewhere as it's included with the .19 system ?

Looking forward to learning this new workbench and thanks for your help !
User avatar
looo
Posts: 3616
Joined: Mon Nov 11, 2013 5:29 pm

Re: Assembly 3 in 0.19 - good to go ?

Postby looo » Sun Mar 28, 2021 12:30 pm

realthunder wrote:
Sun Mar 28, 2021 12:17 am
LHC wrote:
Sat Mar 27, 2021 7:16 pm
I've just started learning the assembly 3 workbench and am using 0.19. Is it correct to assume that there's no big issues or should I really be using RT's linkstage3 branch. I'm fairly new to Freecad and don't want to venture out of the box too much if I can help it :lol:

And I'd also like to extend a big thank you to jpg87 for his excellent site on learning assembly 3. It's helping me get my head around the concepts.
There is some problem with the bundled asm3 inside the upstream pre-built release. You can still use upstream FreeCAD if you want, but you'll need to manually clone my asm3 repo into your user directory. For Windows, it is located in c:\users\<your_user_name>\AppData\Roaming\FreeCAD\Mod\.


looo wrote:ping
sgrogan wrote:ping
Hey guys. Can you please update the asm3 repo? Thanks!

Sry, triggered right now, should be updated soon.