View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001355||Draft||Feature||public||2014-01-13 01:46||2014-02-23 20:42|
|Priority||low||Severity||feature||Reproducibility||have not tried|
|Target Version||Fixed in Version||0.14|
|Summary||0001355: Cubic Bezier Curve Tool For Draft Workbench|
|Description||As mentioned in FreeCAD forum thread - http://forum.freecadweb.org/viewtopic.php?f=3&t=5348 - Bsplines and Bezier Curves... |
This feature request is for the addition of a cubic Bezier curve tool to be included in the Draft Workbench.
|Tags||No tags attached.|
I'll assign this to myself, but if anyone wants to work on it sooner than me, just say so. Basically the way I see it, it involves the following:
- creation of a new "_Bezier" object in Draft.py, similar to _BSpline (maybe derived from it)
- creation of a new makeBezier() function in Draft.py similar to makeBSpline
- creation of a new icon
- creation of a new Bezier command class in DraftTools.py, based (inherited?) on the BSpline class
I've started on it. https://github.com/WandererFan/freecad-dev/tree/BezierProto is a first hack made from bSpline. It makes Beziers, but not necessarily cubics, and I haven't figured out how to make traditional edit handles yet.
Goal is something along the lines of a "polyBezier" with individual edges made from cubic Beziers joined end to end into a wire. (much like Inkscape)
wandererfan, this is actually rather usable as is. As you mention, there is no edit yet, but the result so far is impressive. Works a treat.
Just had a look, great work wandererfan!
One thing that is handy with the draft wire and bspline tools, is that the "real" object gets drawn while you are drawing, allowing things like snapping to itself, or closing by snapping to the first point. I don't know how useful that would be here, though, and I'm also curious about what you are planning with handles, so feel free to implement your own ideas instead. But for me too it is already pretty good as it is now!
IMHO the editor should either finish the curve when enough poles (degree+1) have been entered or support piecewise bezier curves.
See git://github.com/5263/FreeCAD.git piecewise-bezier
should be linked to:
0001272: BezierCurve is not documented and not intuitive
||This is merged and working. You can probably close at your leisure unless there is something to add.|
||git show 2d43d61b921..49ba4de6b8|
|2014-01-13 01:46||quick61||New Issue|
|2014-01-14 15:34||yorik||Note Added: 0004078|
|2014-01-14 17:13||yorik||Assigned To||=> yorik|
|2014-01-14 17:13||yorik||Status||new => assigned|
|2014-01-14 17:14||yorik||Project||FreeCAD => Draft|
|2014-01-18 15:57||wandererfan||Note Added: 0004097|
|2014-01-18 21:09||quick61||Note Added: 0004099|
|2014-01-18 21:10||quick61||Note Edited: 0004099||View Revisions|
|2014-01-18 21:24||yorik||Note Added: 0004100|
|2014-01-19 12:39||shoogen||Note Added: 0004101|
|2014-02-05 15:29||wandererfan||Note Added: 0004153|
|2014-02-05 16:26||yorik||Relationship added||related to 0001272|
|2014-02-23 16:31||quick61||Note Added: 0004277|
|2014-02-23 17:14||shoogen||Note Added: 0004279|
|2014-02-23 17:14||shoogen||Status||assigned => closed|
|2014-02-23 17:14||shoogen||Resolution||open => fixed|
|2014-02-23 17:14||shoogen||Fixed in Version||=> 0.14|
|2014-02-23 20:38||yorik||Changeset attached||=> FreeCAD Master master 49ba4de6|
|2014-02-23 20:39||yorik||Changeset attached||=> FreeCAD Master master 515449d3|
|2014-02-23 20:40||yorik||Changeset attached||=> FreeCAD Master master 2dfabfdc|
|2014-02-23 20:41||yorik||Changeset attached||=> FreeCAD Master master e60a77eb|
|2014-02-23 20:41||yorik||Changeset attached||=> FreeCAD Master master 6f8c1c61|
|2014-02-23 20:42||yorik||Changeset attached||=> FreeCAD Master master 69b09448|
|2014-02-23 20:42||yorik||Changeset attached||=> FreeCAD Master master 2d43d61b|