uwestoehr wrote: ↑Mon Jun 07, 2021 2:02 pm
chrisb wrote: ↑Mon Jun 07, 2021 6:33 am
Wouldn't it better match the existing geometric constructors if you use the common vertical and horizontal constraints?
I purposely did not do this. It annoys me that I have these constraints by default for rectangles. When I want to create a rectangle, well then I want to get a rectangle, nothing else. It is time-consuming to replace the horizontal/vertical constraints of the rectangles by parallel and perpendicular ones to get the rectangle I need. That's why I don't use the rectangle feature rarely (and the consecutive lines feature instead).
With my implementation you can add just one single constraint and get the rectangle parallel to a sketch axis if you need this.
So for the user interface we may have a drop down menu with Rectangle - Rounded Rectangle - Tilted Rectangle - Tilted Rounded Rectangle.
Please not. The UI should be clean. When the difference is just a single constraint, it is not worth to stuff the UI with all these different cases.
I think the idea is great. Let's have a look.
Both of you have very valid points. As a user I would like to have one tool to rule them all. As a user I would like to have the most stable tool. Parallel and perpendicular are not as stable. Two tools is just another button...some parts of the sketcher start looking as "buttonland".
I am still to look at the code and give it a run. So I may change my mind after actually using it. I am probably biased by previous code.
My biased preconceived opinion is that:
Because most of the times I tend to have the axis parallel to sides, I would prefer to have the choice of the legacy behaviour for stability (horizontal/vertical). However, those times where I have to draw a rotated rectangle, FC looks to me rather primitive and click intensive, so I would definitely like to have the second behaviour "on click away". I would not like to pay an extra base line (as suggested a couple of posts after the one I am quoting) on each rectangle, this is "click overhead" for me.
Without extra clicking or extra buttons, I do not quite see how a computer may read my mind an know if I want a rotatable rectangle or an stable one. Here, I would try to leverage the knowledge from this thread. Some users do rotated rectangles 80% of the time, others do axis aligned ones 80% of the time. It is not that these users want to give away to have what the others want, rather they do not want the hassle to have to make a choice everytime... Maybe then, it is a good alternative to have both options (in general terms all options, rectangle, rotatable rectangle, rounded rectangle, rotatable rounded rectange), but have FreeCAD remember the user's last choice.
So:
1. People doing 3D printing but mostly using axis aligned rectangles, (...)
2. People doing 3D printing and using mostly rotatable rectangles, (...)
3. People who want to use Part Design to introduce this rounded edges and mostly using axis aligned rectangles, (...)
4. People who want to use Part Design to introduce this rounded edges and using mostly rotatable rectangles, (...)
(...) select this once and it becomes the default until the user changes it again.
Codewise, most of the code is common, so it should be possible to reuse a lot of code. But that is an implementation issue, not a user concern. First, let's see what makes sense from a user perspective.
Hopefully, I can take a look to the code tomorrow morning.