Hello,
for CAM uses it is often important to draw lines / polylines / splines in a certain direction (so that the milling machine does not have to move around a lot). To that end, I've played around a bit with LibreCAD and made the following improvements: * The handle boxes have configurable color for start / intermediate / end, which allows the user to see the direction of an object * A plugin (named cam), which allows to reverse the direction of lines and polylines. The attached patch also contains a few other improvements (small refactorings). Is this acceptable for inclusion into the main sources? And is posting patches here good practice? Here are some further points of improvement I would like to work on, if people think it OK: * Unfortunately there is no way to access splines from plugins so I am thinking whether I should implement the "Reverse direction" feature directly in the main code. * A "connect object" feature which allows to combine multiple single lines into a polyline and multiple polylines into a single (big) polyline and multiple splines into a single spline. Best regards, Robert Patch: 0001-Direction-enhancements.patch |
Hi Robert,
I read through your patch briefly, and it looks good for me. Right now, LibreCAD-2.0 series is in Release Candidate stage, and we can not add new feature to it, unless it more about bug fixing than new features. We can start a 2.1 fork and add new features there. What do you think? dxli |
In reply to this post by Effad
We are quite open to new developers. Don't worry about incursion issues, we will have time to fix potential issues due to new features.
on the new features themselves: the handle box color sounds great to me, we would want this in 2.1; for spline, the current spline library is ugly, I think we should replace it with some modern code base. In the mean time, we implement both spline (curve passing control points) and bezier curves (curve in general not passing control points, nodes). To combine/merge splines is interesting, and I would like to learn more htere. Please register an account at wiki.librecad.org, and have a look at existing ideas: http://wiki.librecad.org/index.php/Main_Page#Things_We_Need |
In reply to this post by dxli
Starting a new branch sounds good to me. I've had a brief look into the core code base yesterday and found that there is already a "revertDirection" method in the class hierarchy of RS_Entity. To this end, I will probably look into making this method available from the menu and implementing it for all entities, where this seems possible.
|
Hi Robert,
In addition to what dxli said: The good site for patches is http://sourceforge.net/p/librecad/patches/ in the forum will be lost between the other threads, and a good practice is many small patches rather than one large (une patch for plugin, another for start / intermediate / end color, etc.) The plugin has, at least, an error, I am not the author ;-) cam is not a good name (too generic) might be the name of a menu in which to add various CAM utilities implement the "Reverse direction" feature directly in the main code is a good idea and also add support for splines in plugins The "connect object" feature for spline are un-inplemented, but, for polyline already exists see commands under "draw->polyline" in special "Create polyline from existing segments" segments can be lines, arcs or polylines TIP, How to revert a polyline: Draw a line (auxiliary), from some point to last vertex of the polyline "draw->polyline->Create polyline from existing segments" and select the new created line at this point, the polyline are reverted but need to remove the first vertex added by the auxiliary line "draw->polyline->Delete node" select the polyline, activate endpoint snap!!! and click in first vertex to remove. welcome and greetings, Rallaz |
I'll try to split up the patch into smaller pieces and post them to SF. Since the functionality in the plugin is to be integrated into the main code base it is (at the moment) obsolete.
Robert |
On Wed, Sep 18, 2013 at 1:17 PM, Effad [via LibreCAD] <[hidden email]> wrote: I'll try to split up the patch into smaller pieces and post them to SF. Since the functionality in the plugin is to be integrated into the main code base it is (at the moment) obsolete. -- Dongxu Li, Ph.D. www.librecad.org |
Ok, I'll try to make it this way (after the coming weekend).
|
I just made a pull request (actually my first ever) on github, which contains the changes for the visualisation of line start/end points.
Best regards, Robert |
Administrator
|
Robert,
will your tools also do re-ordering of entities?
On Sep 23, 2013, at 12:34 PM, "Effad [via LibreCAD]" <[hidden email]> wrote: I just made a pull request (actually my first ever) on github, which contains the changes for the visualisation of line start/end points. |
In reply to this post by Effad
Hi Robert, I merged this commit, because the impact on features seems to be minimum. However, we probably should not adding new features to 2.0_rc, and save all new features for 2.1. We can fork a 2.1 branch at github. Thanks, Dongxu On Mon, Sep 23, 2013 at 1:34 PM, Effad [via LibreCAD] <[hidden email]> wrote: I just made a pull request (actually my first ever) on github, which contains the changes for the visualisation of line start/end points. -- Dongxu Li, Ph.D. www.librecad.org |
Free forum by Nabble | Edit this page |