View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001490||Sketcher||Feature||public||2014-03-23 22:06||2014-04-19 09:35|
|Fixed in Version||0.14|
|Summary||0001490: Implement a perimeter circle (3 point circle) similar to solidworks in sketcher|
|Description||Solidworks gives you a method to draw circles in sketches by placing 3 points on the rim of the arc. This bug is to implement it.|
This is similar to bug 1475.
A 3 point circle takes 3 steps to construct:
1. Place the beginning point of circle
2. Place the end point of circle
3. Place a point on the rim of the circle
This fully defines the circle. Note that centerpoint is not picked and must be calculated.
I have this almost fully implemented.
|Tags||No tags attached.|
||Here is a picture of the tool in solidworks.|
This is where it is implemented.
I think I have it mostly implemented except for a better icon. The icon stacking seems to work fine but I don't really understand it well. However, it should be fine because it's copy paste from the 3 point arc tool. Regardless, you may want to look at it before you accept it (if you accept it).
It has these implemented:
1. Stacked icons
2. All 3 points auto-snap
3. Tool is enabled on the right click menu
4. Tool is in the Sketcher menu
5. Tool is in both "Part Design" and "Sketcher" toolbars
||I'll have a look at it at the weekend...|
||I don't think it needs to merge yet. I still want to make a few modifications.|
||OK, just post here when it's ready for merge.|
I state below why I disabled tangency on the first 2 points:
Here is a video where I point out some differences between how Creo and SolidWorks implement their 3 point circle tool. Once subtitles get in the way of the video. I tried to move them and succeeded but couldn't get it into a format youtube accepts. Took me so long I decided to leave it as is.
Solidworks, to allow tangency on the first 2 auto-snaps, modifies their preview type (between tangent or not) on the fly. This can make the tool jump around a lot depending on what passes under the mouse. Sometimes it will make it hard to use.
Creo avoids it entirely by first, not allowing tangent on the first 2 points. Second, they allow it on the last point _only_ when the _arc_ is already tangent. This makes the tool predictable. Creo also provides a different too, a 3_tangent_circle_tool if 3 tangents are specifically desired.
Creo's design does have a downside. The arc snaps instead of the mouse which makes it snap much more often because the arc is bigger. This can make the mouse feel really sluggish/jittery.
I can make it behave like SolidWorks but I think it can be unpredictable and that isn't good. Since the circle preview won't look tangent for the first 2 points, I am disabling it for them. I can allow the third to be tangent because it is the last and unlikely to adjust the curve as much.
On another note, it might be a good idea to make objects snap like Creo instead of only the mouse. I'm not sure if they should but it might be good.
1. SolidWorks' tangency preview accurately shows the resulting circle
2. SolidWorks' tangency preview can make sometimes make drawing difficult
3. Creo doesn't allow tangency on the first 2 points
4. Creo auto-snaps on the circle and not on the mouse
5. Creo is more predictable because of these choices
1. Don't allow tangency on first 2 points
2. Allow tangency on the third
3. Possibly enable snapping on the circle instead of the on the mouse in the future
I submitted a pull request here. Please merge:
Here is the forum thread which discussed this feature for future reference:
||Please mark "Fixed in Version" 0.14|
FreeCAD: master ce7a3eca
2014-03-29 12:03:17Details Diff
|+ fixes 0001490: Implement a perimeter circle (3 point circle) similar to solidworks in sketcher (mdinger)||
|mod - src/Mod/Complete/Gui/Workbench.cpp||Diff File|
|mod - src/Mod/PartDesign/Gui/Workbench.cpp||Diff File|
|mod - src/Mod/Sketcher/Gui/CommandCreateGeo.cpp||Diff File|
|mod - src/Mod/Sketcher/Gui/Resources/Makefile.am||Diff File|
|mod - src/Mod/Sketcher/Gui/Resources/Sketcher.qrc||Diff File|
|add - src/Mod/Sketcher/Gui/Resources/icons/Sketcher_Create3PointCircle.svg||Diff File|
|mod - src/Mod/Sketcher/Gui/ViewProviderSketch.cpp||Diff File|
|mod - src/Mod/Sketcher/Gui/Workbench.cpp||Diff File|
|2014-03-23 22:06||mdinger||New Issue|
|2014-03-23 22:09||mdinger||File Added: 3_point_circle.png|
|2014-03-23 22:10||mdinger||Note Added: 0004486|
|2014-03-23 23:29||mdinger||Note Added: 0004487|
|2014-03-24 02:47||mdinger||Note Added: 0004488|
|2014-03-26 16:25||wmayer||Note Added: 0004489|
|2014-03-26 23:06||mdinger||Note Added: 0004491|
|2014-03-27 09:54||wmayer||Note Added: 0004494|
|2014-03-27 23:01||mdinger||Note Added: 0004504|
|2014-03-28 16:18||mdinger||Note Added: 0004507|
|2014-03-29 11:29||wmayer||Changeset attached||=> FreeCAD Master master ce7a3eca|
|2014-03-29 11:29||wmayer||Assigned To||=> wmayer|
|2014-03-29 11:29||wmayer||Status||new => closed|
|2014-03-29 11:29||wmayer||Resolution||open => fixed|
|2014-04-17 17:12||mdinger||Note Added: 0004566|
|2014-04-17 17:12||mdinger||Status||closed => feedback|
|2014-04-17 17:12||mdinger||Resolution||fixed => reopened|
|2014-04-19 09:35||wmayer||Status||feedback => closed|
|2014-04-19 09:35||wmayer||Resolution||reopened => fixed|
|2014-04-19 09:35||wmayer||Fixed in Version||=> 0.14|