[pull request] Improving user experience during creation of external geometry, construction lines, non-driving constr

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [user input] Improving user experience during creation of external geometry, construction lines and non-driving cons

Post by triplus »

abdullah wrote:Take a look a this:
https://github.com/abdullahtahiriyo/Fre ... nhacements

Use the rectangle creation tool. Make rectangles. Click right-button to exit the mode. I still have to check that my handlers are properly disposed of (I do not want to make memory leaks), but it will certainly help to know if this is how you envisioned it or anything is lacking there...
Are you sure this branch has mentioned commit?
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [user input] Improving user experience during creation of external geometry, construction lines and non-driving cons

Post by abdullah »

triplus wrote:
abdullah wrote:Take a look a this:
https://github.com/abdullahtahiriyo/Fre ... nhacements

Use the rectangle creation tool. Make rectangles. Click right-button to exit the mode. I still have to check that my handlers are properly disposed of (I do not want to make memory leaks), but it will certainly help to know if this is how you envisioned it or anything is lacking there...
Are you sure this branch has mentioned commit?
Now I am ;)

I had committed it to my local repo and forgot to push the changes. The name of the commit is not very descriptive but the code is there...
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [user input] Improving user experience during creation of external geometry, construction lines and non-driving cons

Post by triplus »

abdullah wrote:Now I am ;)
Will test.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [user input] Improving user experience during creation of external geometry, construction lines and non-driving cons

Post by triplus »

abdullah wrote:Use the rectangle creation tool. Make rectangles. Click right-button to exit the mode.
Yes that is it! It does exactly what issue #0001518 is all about. I tested and ESC key can be used as exit action.

BUT as finding consensus is a difficult task i wonder if there should be a switch in Task View. This is just me thinking out loud and i don't have strong opinion about it. For example in Edit controls section a check box Continue (term used in Draft). If checked this behavior would be used if not current behavior would be used. Default should probably be current behavior but in contrary to Draft i do believe the change should persist (does not reset automatically).
2. Then I will move on to external geometry creation and will (try to) make it behave like trim or fillet
Sound good.

Basically we are already talking about one consistent behavior for all sketcher geometry tools. Click -> (Multi) Operation -> Right Mouse click or ESC to exit? The only thing left to decide is if providing switch in the form of Continue check box makes sense or not.
3. Then I will move to construction and non-driving constraints. My current idea is not to make things difficult (to figure them out) for the user, so my idea is to create one button for non-driving constraints to behave exactly like the construction button, and create two more buttons, toggle buttons, that when activated create everything as construction (the former) and create constraints as non-driving (the latter).
Don't have a strong opinion but sounds reasonable. It would probably be OK to change icon color on toolbar for tools supporting changed mode!
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [user input] Improving user experience during creation of external geometry, construction lines and non-driving cons

Post by abdullah »

The discussion/implementation/testing of the "continuous geometry creation mode" will continue in this thread:
viewtopic.php?f=10&t=11051

This thread continues with any additional user input regarding the topic on the theme "creation of external geometry, construction lines and non-driving constraints".
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [user input/Test] Improving user experience during creation of external geometry, construction lines, non-driving co

Post by abdullah »

This is a call for testing and feedback of the linking of external geometry. Now you can press on as many edges as you wish without clicking each time on the button (i.e. similar behaviour as Trim and Fillet).

repo
https://github.com/abdullahtahiriyo/Fre ... nhacements

EDIT: The same repo has also the continuous creation of geometry. Just using different threads here in the forum to maintain the individual discussions separately.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [user input/Test] Improving user experience during creation of external geometry, construction lines, non-driving co

Post by abdullah »

This is a snapshot of the creation as construction mode:

https://github.com/abdullahtahiriyo/Fre ... nhacements

The UI is still not polished. It is functional in case you want to test it. It includes a nice improvement that the solver is not called upon toggling, which makes quite a difference also in the creation of Ellipses with InternalAlignment geometry.

I welcome feedback and bug reports, other than: The icon is ugly, does not toggle, has the same icon as the other icon, does not change the icons of the geometry to show that the construction will be done as construction elements. That will be done...in due time :)
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [user input/Test] Improving user experience during creation of external geometry, construction lines, non-driving co

Post by triplus »

This is a call for testing and feedback of the linking of external geometry. Now you can press on as many edges as you wish without clicking each time on the button (i.e. similar behaviour as Trim and Fillet).
Works good. Basically now ALL sketcher geometry tools work in this consistent way. If Continue check box will be implemented i think this tool should respect the setting.
creation as construction mode

does not toggle
Fillet does not toggle. ;)
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [user input/Test] Improving user experience during creation of external geometry, construction lines, non-driving co

Post by abdullah »

Thanks a lot for testing.
triplus wrote:
Works good. Basically now ALL sketcher geometry tools work in this consistent way. If Continue check box will be implemented i think this tool should respect the setting.
Just to make sure we are talking about the same, you refer here to external geometry that works similar to trim and fillet. Do you think it makes sense to make a setting so that the linking of external geometry can work as "before" or as "in this branch". I mean, I think that a setting for this is overkilling. But, guys, let me know what you think.
triplus wrote:
creation as construction mode

does not toggle
Fillet does not toggle. ;)
I did not implement Fillet. I did not do it because it is not that simple to know what a user expects from it. If I implement it like the other commands this would be the behaviour:

Construction Mode OFF (Normal Mode)

I fillet a corner of a rectangle made out of normal lines => a rectangle with a fillet all in normal lines => Wanted behaviour.

I fillet a corner of a rectangle made out of construction lines => a rectangle made of construction lines except for the arc that is a normal line => Unwanted behaviour (I think. Ain't it?).

Construction Mode ON

I fillet a corner of a rectangle made out of normal lines => a rectangle in normal lines with a fillet arc as construction line => Unwanted behaviour.

I fillet a corner of a rectangle made out of construction lines => a rectangle with a fillet all in construction lines => Wanted behaviour (I think. Ain't it?).

I think it may be possible to detect if the lines are construction or not and create the fillet in the same "type" of construction.

What do you think? How do you think fillet should work?
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [user input/Test] Improving user experience during creation of external geometry, construction lines, non-driving co

Post by triplus »

Just to make sure we are talking about the same, you refer here to external geometry that works similar to trim and fillet.
Yes. And other sketcher geometry tools (line, rectangle, circle, arc...). Basically all the tools on the sketcher geometries toolbar work consistent now.
Do you think it makes sense to make a setting so that the linking of external geometry can work as "before" or as "in this branch". I mean, I think that a setting for this is overkilling. But, guys, let me know what you think.
If not too much trouble then yes. It would be consistent with Draft WB and you would avoid different personal opinions on how it should work.
What do you think? How do you think fillet should work?
Construction Mode OFF -> sketcher geometry
Construction Mode ON -> construction sketcher geometry
Post Reply