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 |
Reporter | mdinger | Assigned To | wmayer | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | trunk | ||||
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. http://freecadweb.org/tracker/view.php?id=1475 Tested version: https://github.com/FreeCAD/FreeCAD_sf_master/commit/3e80fa3 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. | ||||
FreeCAD Information | |||||
|
|
|
Here is a picture of the tool in solidworks. |
|
This is where it is implemented. https://github.com/mdinger/FreeCAD_sf_master/tree/3_point_circle |
|
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. http://youtu.be/1p6BjqYXRPU 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. Recap SolidWorks/Creo: 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 Recap FreeCAD: 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: https://github.com/FreeCAD/FreeCAD_sf_master/pull/20 Here is the forum thread which discussed this feature for future reference: http://forum.freecadweb.org/viewtopic.php?f=10&t=6146 |
|
Please mark "Fixed in Version" 0.14 |
FreeCAD: master ce7a3eca 2014-03-29 12:03:17 Details Diff |
+ fixes 0001490: Implement a perimeter circle (3 point circle) similar to solidworks in sketcher (mdinger) |
Affected Issues 0001490 |
|
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 |
Date Modified | Username | Field | Change |
---|---|---|---|
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 |