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
dcapeletti
Posts: 504
Joined: Wed Jul 23, 2014 2:27 pm

Re: Assembly 4 workbench

Post by dcapeletti »

Hello, I'd like to try this workbench. Anyone encouraged to make a video to learn how to use it? :)

Thanks
mtanquary
Posts: 2
Joined: Wed Oct 12, 2016 4:33 pm

Re: Assembly 4 workbench

Post by mtanquary »

Would like to point something out. When Zolko says

"You can download the Assembly 4 workbench as a ZIP archive here: it must be extracted and placed in the ~/FreeCAD/Mod directory, where all other workbenches reside. "

One needs to place the directory/folder "Mod_Asm4" in ~/FreeCAD/Mod directory/folder, and not "FreeCAD_Assembly4-master".
Took me a bit to figure that out.
RandomConfusion
Posts: 2
Joined: Tue Jun 11, 2019 10:00 am

Re: Assembly 4 workbench

Post by RandomConfusion »

Hi Zolko,

I have been playing around with the Assembly 4 workbench using , FreeCAD-asm3-20190202-9a4632f4-4664316.glibc2.17-x86_64.appimage on Arch Linux.

First of all good work on this work bench I have been using Assembly 2 on and off for years, though I liked some of the convenience of the mating constraints, I do like the power of mating via co-ordinates systems there is less margin for misinterpretation.

I have been been re-building one of my current basic projects over the Assembly 4 from Assembly 2 and have noticed a couple of things:

1) when renaming co-ord systems, they don't seem to re-name in the selection list in the 'Place Linked Part' dialog.

2) I have been trying to used TechDraw workbench to produce drawings. I works for part(bodies) under the main model(App::Link) however Assembly Models linking to external parts(i.e. parts created with App::Link containing bodies) do not show up in the inserted views. I have tried drilling down in the Projection->view->source and selecting a body or group of bodies contained by an App:Link container, to no avail. Any suggestions on how to get these assemblies to display?

Cheers
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

RandomConfusion wrote: Tue Jun 11, 2019 10:49 am I have been playing around with the Assembly 4 workbench using , FreeCAD-asm3-20190202-9a4632f4-4664316.glibc2.17-x86_64.appimage on Arch Linux.
hi, and thank-you for your report. There is a new build available for the FreeCAD-asm3 branch, and it irons out some of the previous problems, I suggest you give it a try (no more opened windows for all linked parts, LCS that have fixed size)

I have been been re-building one of my current basic projects over the Assembly 4 from Assembly 2 and have noticed a couple of things:

1) when renaming co-ord systems, they don't seem to re-name in the selection list in the 'Place Linked Part' dialog.
yes, this is a known current limitation, you have to give a name at creation time, and can't change it afterwards. Actually, this is more of a FreeCAD bug, because all names of all objects are given at creation time, if an object is "renamed" later only the label is changed, not the name. There is nothing I can do about this in the short term, sorry.

2) I have been trying to used TechDraw workbench to produce drawings.
well, yeah, doesn't surprise me, I didn't yet play with Asm4 (or App::Link for that latter) and TechDraw. So you're the pioneer here.
try the Assembly4 workbench for FreCAD — tutorials here and here
RandomConfusion
Posts: 2
Joined: Tue Jun 11, 2019 10:00 am

Re: Assembly 4 workbench

Post by RandomConfusion »

Thanks for the quick reply.
There is a new build available for the FreeCAD-asm3 branch, and it irons out some of the previous problems, I suggest you give it a try (no more opened windows for all linked parts, LCS that have fixed size)
Thanks, I'll update to the latest app image and keep testing and I'll try not to mention know issues found in Assembly 3.
yes, this is a known current limitation, you have to give a name at creation time, and can't change it afterwards. Actually, this is more of a FreeCAD bug, because all names of all objects are given at creation time, if an object is "renamed" later only the label is changed, not the name. There is nothing I can do about this in the short term, sorry.
That's useful information, so is it possible to reference the label instead of the name in the 'Place Linked Part' dialog?
well, yeah, doesn't surprise me, I didn't yet play with Asm4 (or App::Link for that latter) and TechDraw. So you're the pioneer here.
Duly noted, I'm off the map where there be dragons, I'll let you know of any success I have along this vane.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Assembly 4 workbench

Post by Kunda1 »

Zolko wrote: Tue Jun 11, 2019 3:43 pm
@Zolko just braninstorming here, but is there a way to integrate YAML Workspace in this As4, building an assembly via a YAML file? Just wondering about your thoughts on this? Obviously the Addon is not designed to do that..still it wouldn't hurt to speculate if something like this is useful
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
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

Kunda1 wrote: Sun Jun 16, 2019 10:39 pm @Zolko just braninstorming here, but is there a way to integrate YAML Workspace in this As4, building an assembly via a YAML file?
If I understand right, YAML is a file format for representation of data, similar to XML which is used by FreeCAD (the FreeCAD *.fcstd are compressed archives containing BREP and XML files). So yes, it's probably possible, but you'd re-invent the wheel I think: you'd have a YAML parser replace the XML parser. This for example is how the .FCSTD represents the ExpressionEngine placement of an Asm4 part in an assembly:

Code: Select all

...
                <Property name="ExpressionEngine" type="App::PropertyExpressionEngine" status="67108864">
                    <ExpressionEngine count="1" xlink="1">
                        <XLinks count="0">
                        </XLinks>
                        <Expression path="Placement" expression="&lt;&lt;Crankshaft&gt;&gt;.Placement.multiply(&lt;&lt;Crankshaft&gt;&gt;.&lt;&lt;LCS_clocking1.&gt;&gt;.Placement)"/>
                    </ExpressionEngine>
                </Property>
...
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: Assembly 4 workbench

Post by Zolko »

RandomConfusion wrote: Wed Jun 12, 2019 10:35 am
yes, this is a known current limitation, you have to give a name at creation time, and can't change it afterwards. Actually, this is more of a FreeCAD bug, because all names of all objects are given at creation time, if an object is "renamed" later only the label is changed, not the name.

That's useful information, so is it possible to reference the label instead of the name in the 'Place Linked Part' dialog?
good idea, I did that : now, if the Label and Name are different, they both show up in the dialog, although the Name is still used in the ExpressionEngine. There is a v0.5.3, not extensively tested, might still contain some bugs.
LCS_renamed.png
LCS_renamed.png (368.63 KiB) Viewed 27617 times
try the Assembly4 workbench for FreCAD — tutorials here and here
vestom
Posts: 2
Joined: Tue Jun 20, 2017 5:21 pm

Re: Assembly 4 workbench

Post by vestom »

Hi. I just came by this thread. Have been missing an assembly feature in FreeCAD for some time, as it is hard to make reuse, parts libraries etc. without. So I would like to say thanks for working on this and will try this mod ASAP.

IMHO it seems like the basic ideas are very sound:
  • Parts are external files linked in - enables Configuration Management and parts libraries.
  • Placement is done by referencing coordinate systems - part implementation is opaque. Feature based joint reference can later be built upon this. Also enables multiple detail levels for parts.
  • No difference between a part and an assembly - a part is a part with regard to its top level characteristics. However at some point it might be necessary to differentiate between e.g. assembly parts and detail/solid parts, as they have different characteristics further down. E.g. an assembly can have kinematics, configuration variants, assembly sequences etc. A detail part can have parametric variants, material characteristics, CAM data etc.
Promising :D
User avatar
mfasano
Posts: 122
Joined: Wed Apr 11, 2018 12:31 pm

Re: Assembly 4 workbench

Post by mfasano »

I think I need some hand holding. I tried to follow your instructions. I create the part with the new model macro. I create the assembly wih the new model macro; create the sketch with LCSs and import the part with the insert external part macro. When I try place the part, it highlights the part but I don't see the place linked part dialog box.

Thanks

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14369 (Git)
Build type: Release
Branch: (HEAD detached at FETCH_HEAD)
Hash: 45b39e8ff6861d15f4277f9759d012b41aae071f
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
Attachments
rod.FCStd
(62.44 KiB) Downloaded 165 times
pendulum.FCStd
(3.2 KiB) Downloaded 141 times
Post Reply