Handles for extrusion? Nice to have (in case)

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
saso
Veteran
Posts: 1924
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Handles for extrusion? Nice to have (in case)

Post by saso »

This request has already come up quite a few times and it is always mixed up with direct modeling. This is not true! First note that for true direct modeling a different kind of kernel is needed, AFAIK OCCT does not support it. Feature based modeling modifies the geometry by adding features and by the properties of this features (cut, sweep, extrude,...). Direct modeling is changing the geometry (and also its topology), you guest it, directly, and personally I actually find workarounds that try to do it by faking it, as bad.

This request however is not about that, it is actually just about having a different way to "drive/edit" the existing properties. It is basically just a UI/UX element, a gizmo, that is changing the same properties as the input fields in the properties dialog. We basically already have this with the transform gizmo, it transforms the position of the selected geometry in the same way as if the user would change it manually in the properties dialog, this additional gizmos, that are basically what this request is about, would do the same, but also for other properties. So lets look at it with a few pictures that can hopefully better show the idea...

This handles/gizmos could look something like the red things I have added to the below pictures, when the user would grab and drag, or click them with the mouse s/he would modify the related properties...

Here we have a simple cube, it has the properties of length, width and height, three gizmos of the same type (to edit a property of the type dimension) can be shown for the cube to edit this properties by mouse. Yes, this does feel a bit like direct modeling but it is actually not because we are changing only the existing properties of this geometry
gizmo_cube.jpg
gizmo_cube.jpg (37.13 KiB) Viewed 1137 times

Here we have a cone, now we have a bit different gizmos to expose all the properties for it to be manipulated directly in the view with the mouse
gizmo_cone.jpg
gizmo_cone.jpg (51.31 KiB) Viewed 1133 times

Here is now an extrude of a simple sketch, the extrude feature has quite a few properties and exposing all of them as gizmos could get a bit crowded, in such cases only the most commonly used properties are exposed, in this case I have chose to show them for forward and backward length, reverse and the two tapper angles properties, but we could decide to have more or less...
gizmo_extrude.jpg
gizmo_extrude.jpg (62.43 KiB) Viewed 1079 times

And many more similar gizmos can then be used for many of the different properties of the different features, like extrude, revolve, sweep, array,... But again, this are only used as a different way to manipulate the existing properties of the existing features, they are not by themselves directly modifying the geometry. And yes, probably all parametric cad systems have this and no this is NOT direct modeling.

Also, similar as with position, when this is defined by the attachment mechanism the manual position is disabled and overridden by the attachment, similar can be in some cases for this gizmos, for example by extrude, if it is by length it can be manipulated by the gizmo, if it is by "up to face" etc then manual editing this property and its gizmo is disabled...
Last edited by saso on Sun May 28, 2023 9:28 am, edited 6 times in total.
User avatar
onekk
Veteran
Posts: 6205
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Handles for extrusion? Nice to have (in case)

Post by onekk »

Ok, but as usually it depends:

- if you grab a corner of a cube and drag it, you modify the shape, but not the topology as there are always same edges, same vertexes, and same faces. But this not a cube anymore.

- if you grab a seam of a cylinder and drag it the grabbed circle could make to enlarge the circle so the cylinder became a truncated cone.

So the kernel should have a primitive parallelepiped that has a subcase that is a cube. Same for cone that has a subcase that isa cylinder.

Probably this is already on some extend integrated in FreeCAD, there where an interesting article on an OCCT developer block, not at my computer now so I can't post a link.

IMO distinction is very weak, as something could be simply a different UI/UX thing, if this is supported by the kernel that could be less or more strict in stating rules about his primitive solids.

But as my geometric and topological knowledge is not so deep I could have made wrong assumptions, so take it as a discourse, more an "request for confirmation" than an affirmation.

Kind Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
saso
Veteran
Posts: 1924
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Handles for extrusion? Nice to have (in case)

Post by saso »

onekk wrote: Fri May 26, 2023 8:59 pm - if you grab a corner of a cube and drag it, you modify the shape, but not the topology as there are always same edges, same vertexes, and same faces. But this not a cube anymore.
In true direct modeling you could grab the corner yes and start to directly change the geometry in that way, but not here, here you can manipulate only those properties that are intrinsic to the feature AND you first have to apply that feature to the existing geometry before you can manipulate it.

My main point is, that the subject of the request in this topic are "Handles" or as I called them gizmos, they are actually only additional UI/UX elements that modify the existing properties and this has nothing to do with direct modeling BUT is often mixed with it. Since OCCT does not support real direct modeling it would be better for now to just forget about it, this handles/gizmos however are a valid request.
bleber
Posts: 259
Joined: Thu Jun 30, 2016 5:12 pm

Re: Handles for extrusion? Nice to have (in case)

Post by bleber »

Possibli a thing called callet "direct propietes editing" that
Show handles for direct editable propietes on the affected feature after sectes it for edit.
User avatar
saso
Veteran
Posts: 1924
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Handles for extrusion? Nice to have (in case)

Post by saso »

A good examples of this are also the existing "handles" in the draft wb, the white squares when in editing mode, it is basically the same functionality...

gizmo_draft.jpg
gizmo_draft.jpg (6.42 KiB) Viewed 915 times

So instead of the more advanced variants like proposed above (that would give some visual feedback to the user of what they are), a more simple, but functionally the same implementation could be for example something like this...

gizmo_simple1.png
gizmo_simple1.png (20.06 KiB) Viewed 896 times
gizmo_simple2.png
gizmo_simple2.png (26.21 KiB) Viewed 896 times
User avatar
BartR
Posts: 256
Joined: Tue Aug 10, 2021 10:59 am

Re: Handles for extrusion? Nice to have (in case)

Post by BartR »

saso wrote: Sat May 27, 2023 9:23 am A good examples of this are also the existing "handles" in the draft wb, the white squares when in editing mode, it is basically the same functionality...


So instead of the more advanced variants like proposed above (that would give some visual feedback to the user of what they are), a more simple, but functionally the same implementation could be for example something like this...
Thank you for have explained this with such detail and accuracy. I'm sorry if I have not used the correct terminology but I'm not CAD developer.
I just brought on the table Fusion360 and Solid Edge as references, just to make myself more understandable.

Yes, the "handles" I was talking about, are exactly what you showed up and you called "gizmos"
______________
Bart R.
User avatar
BartR
Posts: 256
Joined: Tue Aug 10, 2021 10:59 am

Re: Handles for extrusion? Nice to have (in case)

Post by BartR »

However in the version 21.1 even when I use the mouse wheel on the numbers, the number increases or decreases but the extrusion stays the same till the moment I click on apply.
______________
Bart R.
Post Reply