Assembly3 preview

Discussion about the development of the Assembly workbench.
catman
Posts: 168
Joined: Fri Jan 11, 2019 10:42 pm

Re: Assembly3 preview

Postby catman » Tue Feb 18, 2020 1:06 pm

realthunder wrote:
Mon Feb 17, 2020 11:36 pm
* Is there a workaround to re-do(=re-assign) a constraint by selecting different faces/edges/vertices?
Expand the constraint object to expose its element objects. Select the new geometry element in the 3D view. If 'Sync Selection' is on (it is by default on), the corresponding tree item will be selected in the tree view. Drag and drop that item onto the constraint element object to reset it.
That is a very useful feature and it works well and very natural after getting used to it.

Here is an image of the procedure in steps, maybe it helps others. In this example the wheel should be attached to the other axis. The other axis should also have the "lock" constraint attached.

Asm3_Re-AssingAConstraint_marked.png
Asm3_Re-AssingAConstraint_marked.png (149.11 KiB) Viewed 659 times
  • Step 1 <optional>Select the wheel and press the Transform button. Press CTRL-Key and move the wheel away so see the joint better.
  • Step 2 Open the constraint in the tree. Likely it looks like to one above with "Element", "Element001". We need to identify which element belongs to the wheel. I did this using the SPACE key to toggle the visiblity of the elements. Thats why we moved the wheel away, because then you can see the different highlighed geometries. In the image the axis side edge is highlighed in red. Reanme the elements to know to which parts they belong. The red marked one is named "Axis" in the example.
  • Step 3 On the new part, select the place where you want to attach the wheel. This is the green circle edge on the axis. When the "sync" feature is enabled (in the blue maginfier icon with the yellow frame in the top toolbar) the part in the tree should be marked in bold and gets a highlight (3b).
  • Step 4 Now we work in the tree. Drag and drop the part "TestAxis" onto the element of the constraint which it should replace, here the element "Axs" in the PlaneCoincident001" constraint.
  • Result: The wheel will jump instantly on the new position (image below).
After doing that a few times, you can actually ignore steps 1-2 and re-assigning linked parts is very fast and much fun. But you need to know what you are doing.

Asm3_Re-AssingAConstraint_Result.png
Asm3_Re-AssingAConstraint_Result.png (120.68 KiB) Viewed 659 times

@realthunder
I noted you created a button for the Transform tool. Im using that a lot with Assembly3, so I wonder: Is there a reason why you did not include it in the context menu?
TransformMenuEntry.png
TransformMenuEntry.png (30.63 KiB) Viewed 659 times
Feature request?
realthunder
Posts: 1536
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Tue Feb 18, 2020 11:27 pm

catman wrote:
Tue Feb 18, 2020 12:44 pm
First I was confused because the constraint itself has an "offset" value as well, but you mean the "offset" property of the elements under the constraint. It worked with "PlaneConicidence".
The "PlaneConicidence" offset is a deprecated feature. It is kept for backward compatibility. This offset is implemented by altering the constraints before passing to the solver. It has limited usage. The element offset applies to all type of constraints. It works by pre-transforming the element geometry before passing to the solver. So if you change this offset when auto solving is on, you'll see the element stays the same, while the part gets moved step by step. For the PlaneCoincidence offset, you'll see the element move together with the part.

catman wrote:
Tue Feb 18, 2020 1:06 pm
I noted you created a button for the Transform tool. Im using that a lot with Assembly3, so I wonder: Is there a reason why you did not include it in the context menu?
Using keyboard shortcut is much faster. I pre-assigned shortcuts for most of the frequently used actions. You can customize them using Main menu -> Tools -> Customize -> Toolbars
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
catman
Posts: 168
Joined: Fri Jan 11, 2019 10:42 pm

Re: Assembly3 preview

Postby catman » Wed Feb 19, 2020 11:34 am

realthunder wrote:
Tue Feb 18, 2020 11:27 pm
The "PlaneConicidence" offset is a deprecated feature. It is kept for backward compatibility. This offset is implemented by altering the constraints before passing to the solver. It has limited usage.
The deprecated offset, does it apply only to "PlaneConicidence" or also to other constraints, e.g. "PlaneAlignment"?

EDIT: Often knowing where to look is the key. I found the answers in the gitub wiki https://github.com/realthunder/FreeCAD_ ... ry-element, Section "Geometry Element Offset".



realthunder wrote:
Tue Feb 18, 2020 11:27 pm
So if you change this offset when auto solving is on, you'll see the element stays the same, while the part gets moved step by step. For the PlaneCoincidence offset, you'll see the element move together with the part.
In the example two posts above (see the image), I am using the element offset (Item number "4" is the element offset's rotation, correct?). But there you can see zhrtr that the green ring in the middle of the wheel is rotating with the part, indeed. From what you say it should only move with the part with the PlaneCoincidence offset but not with the Element offset? Are we talking about the same items?



realthunder wrote:
Tue Feb 18, 2020 11:27 pm
Using keyboard shortcut is much faster. I pre-assigned shortcuts for most of the frequently used actions. You can customize them using Main menu -> Tools -> Customize -> Toolbars
Well, with the same argumentation you could remove the button as well ;). But fun aside, I think key maps are crucial for a fast workflow, all major CAD solutions have them. But they only work if there is a default standard. Only then it can be trained in tutorials and described in help files. Take the sketcher for example: c=coincidence, s=symmetry, e=equal, very efficient to use. I am hoping a bit that a final assembly solution in Freecad comes with an efficient key map as well (which would to come from some experience with a workbench of course).

But that still does not mean context is not useful as well. See the item in the image below: "Fit All V,F" it has both context menu, and key code. That is perfect!

But anyway, I was just offering feedback. For an exercise I am converting an existing FreeCAD project to Assembly3. While doing that I found that I am using "Transform" extremly often - I did not do so before. And I am using your button regulary and each time and its a major improvement compared to searching the item in the tree and checking the context menu there. But every time I use the button I keep thinking "a context menu entry would be so much quicker". Maybe others have a similar experience. Maybe not. ;)
catman
Posts: 168
Joined: Fri Jan 11, 2019 10:42 pm

Re: Assembly3 preview

Postby catman » Wed Feb 19, 2020 1:21 pm

Edit: removed, double post
Last edited by catman on Sat Feb 22, 2020 7:50 pm, edited 1 time in total.
User avatar
jpg87
Posts: 395
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 preview

Postby jpg87 » Wed Feb 19, 2020 2:28 pm

Hi,
Still on the page
http://help-freecad-jpg87.fr/025c_ass_ex_creat.php

I added an example using DynamicData. I find this addon more practical than spreadsheets.
What do you think ?
My website : http://help-freecad-jpg87.fr updated 2020/05/10
realthunder
Posts: 1536
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Fri Feb 21, 2020 7:54 am

catman wrote:
Wed Feb 19, 2020 11:34 am
In the example two posts above (see the image), I am using the element offset (Item number "4" is the element offset's rotation, correct?). But there you can see zhrtr that the green ring in the middle of the wheel is rotating with the part, indeed. From what you say it should only move with the part with the PlaneCoincidence offset but not with the Element offset? Are we talking about the same items?
Sorry, I got it reversed. It should be the Element offset that moves with the part.

catman wrote:
Wed Feb 19, 2020 11:34 am
Well, with the same argumentation you could remove the button as well ;).
Actually no, the shortcut is only effective if the toolbar button is present. You can manually add or remove toolbars, which indirectly controls what keyboard shortcuts are active. In fact, I created some of the buttons just so to have the shortcut.

But every time I use the button I keep thinking "a context menu entry would be so much quicker". Maybe others have a similar experience. Maybe not. ;)
Sure, I can easily add the menu actions there.
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: 1536
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Fri Feb 21, 2020 7:56 am

jpg87 wrote:
Wed Feb 19, 2020 2:28 pm
I added an example using DynamicData. I find this addon more practical than spreadsheets.
What do you think ?
Check out this. You can add dynamic properties of any type to any object. You can remove them too, but that should be done with caution in case it is not added by you, even though it can be undone.
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
catman
Posts: 168
Joined: Fri Jan 11, 2019 10:42 pm

Re: Assembly3 preview

Postby catman » Fri Feb 21, 2020 12:42 pm

realthunder wrote:
Fri Feb 21, 2020 7:54 am
Well, with the same argumentation you could remove the button as well ;).
Actually no, the shortcut is only effective if the toolbar button is present. You can manually add or remove toolbars, which indirectly controls what keyboard shortcuts are active. In fact, I created some of the buttons just so to have the shortcut.
Its amazing how one continue to lean things about FreeCAD from the most surprising side discussions. Now I see the concept how to modify the GUI per Workbench, which I think is a very smart thing to do :P

realthunder wrote:
Fri Feb 21, 2020 7:54 am
catman wrote:
Wed Feb 19, 2020 11:34 am
But every time I use the button I keep thinking "a context menu entry would be so much quicker". Maybe others have a similar experience. Maybe not. ;)
Sure, I can easily add the menu actions there.
Great. :D
Please make sure to add the info about your key short ('a,a') into the context menu. From a new Assembly3 users perspective one of the major challenges - after getting through your excellent and extensive wiki documentation - is to remember the right bits when trying to put it into practice. ;).



Yesterday, I noted that when importing FastenerWB parts with 'Ctrl-drag' to an assembly container they were not imported as link. Thus I could not use the "ElementCount" property. So I made multiple copies and pulled them into the assembly, but it felt a bit like an inefficient way of doing things. I noted that Zolko had added special buttons in his Assembly4 workbench for adding Fasteners with an LCS features.
Is there a workaround to utilize "ElementCount" for FastenerWB items or does it make sense to port such a function to Assembly3 as well?
doubters
Posts: 70
Joined: Fri Mar 18, 2016 12:53 pm

Re: Assembly3 preview

Postby doubters » Fri Feb 21, 2020 1:11 pm

Tell me, please, what settings allow you to make such a panel view?
Attachments
Asm3_Re-AssingAConstraint_Result.png
Asm3_Re-AssingAConstraint_Result.png (122.65 KiB) Viewed 299 times
User avatar
Kunda1
Posts: 7319
Joined: Thu Jan 05, 2017 9:03 pm

Re: Assembly3 preview

Postby Kunda1 » Fri Feb 21, 2020 2:30 pm

doubters wrote:
Fri Feb 21, 2020 1:11 pm
Tell me, please, what settings allow you to make such a panel view?
I will answer but please don't hijack this thread. If you have questions search the forum for the appropriate thread.
A user @OficineRobotica created a great video on how to customize the FC interface: https://www.youtube.com/watch?v=ny31diN1ZhM
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features