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 |
Reporter | quick61 | Assigned To | yorik | ||
Priority | low | Severity | feature | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | All | OS | All | OS Version | All |
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. | ||||
FreeCAD Information | |||||
related to | 0001272 | closed | wandererfan | FreeCAD | BezierCurve is not documented and not intuitive |
|
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 http://www.freecadweb.org/tracker/view.php?id=1272 |
|
This is merged and working. You can probably close at your leisure unless there is something to add. |
|
git show 2d43d61b921..49ba4de6b8 |
FreeCAD: master 2d43d61b 2014-01-17 18:22:46 Committer: yorik Details Diff |
Add Draft Bezier Curve draw & edit mockup using bSpline tools. |
Affected Issues 0001355 |
|
mod - src/Mod/Draft/Draft.py | Diff File | ||
mod - src/Mod/Draft/DraftGui.py | Diff File | ||
mod - src/Mod/Draft/DraftTools.py | Diff File | ||
mod - src/Mod/Draft/DraftTrackers.py | Diff File | ||
mod - src/Mod/Draft/Draft_rc.py | Diff File | ||
mod - src/Mod/Draft/InitGui.py | Diff File | ||
mod - src/Mod/Draft/Resources/Draft.qrc | Diff File | ||
add - src/Mod/Draft/Resources/icons/Draft_BezCurve.svg | Diff File | ||
FreeCAD: master 69b09448 2014-01-19 13:30:10 Committer: yorik Details Diff |
Draft Bezier Curves: Add functionality to mockup - Split poles to multiple bezier segments - set degree of bezier curve - Close Draft bezier curves - set Degree at creation - implement addPoint for piecewise Bezier curves Draft BezCurve bugfixes - fix Close button for BexCurve Edit - fix tracker behaviour in for BezCurve.undoLast Draft Bezier Curve: use circle trackers for control points Draft: prepare functions to make bezier knots tangent or symmetric |
Affected Issues 0001355 |
|
mod - src/Mod/Draft/Draft.py | Diff File | ||
mod - src/Mod/Draft/DraftGeomUtils.py | Diff File | ||
mod - src/Mod/Draft/DraftTools.py | Diff File | ||
mod - src/Mod/Draft/DraftTrackers.py | Diff File | ||
FreeCAD: master 6f8c1c61 2014-01-30 11:14:15 Committer: yorik Details Diff |
Draft: added functions to edit tangent or symmetric bezier curves changed icon Draft_BezTanNode bugfix in Draft BezCurve modifytangentpole move poles with knots for Bezier Curves with Degree >=3 make bezier curves symmetric/tangent when clicking on poles by keeping the coordinates of the selected pole |
Affected Issues 0001355 |
|
mod - src/Mod/Draft/Draft.py | Diff File | ||
mod - src/Mod/Draft/DraftTools.py | Diff File | ||
mod - src/Mod/Draft/Draft_rc.py | Diff File | ||
mod - src/Mod/Draft/Resources/icons/Draft_BezTanNode.svg | Diff File | ||
FreeCAD: master e60a77eb 2014-01-30 15:16:37 Committer: yorik Details Diff |
Add BezCurve tangent/symmetric buttons to Draft.Edit |
Affected Issues 0001355 |
|
mod - src/Mod/Draft/DraftGui.py | Diff File | ||
mod - src/Mod/Draft/DraftTools.py | Diff File | ||
mod - src/Mod/Draft/Draft_rc.py | Diff File | ||
mod - src/Mod/Draft/Resources/Draft.qrc | Diff File | ||
add - src/Mod/Draft/Resources/icons/Draft_BezSymNode.svg | Diff File | ||
add - src/Mod/Draft/Resources/icons/Draft_BezTanNode.svg | Diff File | ||
FreeCAD: master 2dfabfdc 2014-02-02 18:22:27 Committer: yorik Details Diff |
Draft Bezier Curve: implemented Continuity Property Draft: allow continuity on closed Bezier curves Draft: BezCurve bugfixes - smoothBezCurve - edit mode - avoid splitting points into segments as long as degree is zero - increase the continuity when closing curve - closed berzier curves - Catch modifications of continuity of first and last knot on open curves |
Affected Issues 0001355 |
|
mod - src/Mod/Draft/Draft.py | Diff File | ||
mod - src/Mod/Draft/DraftGui.py | Diff File | ||
mod - src/Mod/Draft/DraftTools.py | Diff File | ||
mod - src/Mod/Draft/Draft_rc.py | Diff File | ||
mod - src/Mod/Draft/Resources/Draft.qrc | Diff File | ||
add - src/Mod/Draft/Resources/icons/Draft_BezSharpNode.svg | Diff File | ||
FreeCAD: master 515449d3 2014-02-21 19:33:17 Committer: yorik Details Diff |
Cosmetic change - remove "######" placemarkers |
Affected Issues 0001355 |
|
mod - src/Mod/Draft/Draft.py | Diff File | ||
FreeCAD: master 49ba4de6 2014-02-23 16:04:37 Details Diff |
Arch: Added BezCurve to Arch WB |
Affected Issues 0001355 |
|
mod - src/Mod/Arch/InitGui.py | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
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 | |
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 |