Hi everyone,
first let me say that I greatly appreciate the existing "Convert Into Polyline" Feature. However, I'm missing (or unable to find) one bit of functionality: Converting Only Selection To Polyline, or to be more exact, specifying that only selected entity be eligible for the Polyline feature. Consider this example: I have two eight simple lines of same length, placed to look like (not to technically form) squares, side by side so that the left edge of the first lies exactly on top of the right edge of the second, upper and lower left/right corners respectively touching. (It should look somewhat like this:) --------- | | | | | | -------- No I wish to transform only the lines looking like the first square into a polyline. The existing feature, however, would link all touching lines into a polyline, without a possibility for finer control. Now I'm using this workflow as a workaround: -select lines of second square -create block from selection >now second lines are not eligible for polyline -create polyline from rest of lines -explode block -delete block What I would like to do: -select lines of first square >polyline feature knows only these are eligible -create polyline from selection Is there already an easy way to do that, or should I make this a feature request? Thanks for any help mm |
experimental implementation:
https://github.com/LibreCAD/LibreCAD/commit/6b5125bea3e71fea95898cba4e53332370e0470b We really need some smart graph algorithms for polyline, contour structures.
|
Thanks for your effort.
Will this change become available with the next release (and when might that be?) or will I have to install from sources? |
it helps a lot if you can install from source and evaluate this experimental feature before we can release 2.0.9, which is already over due.
The implementation seems to be compact, but not clean at it is, and it's following like what we do with Ctl-C or (Move/Copy): 1, if entities already selected, trigger action directly; 2, if no entity selected, enter selection stage. Need more test, of course.
|
Well, I've tried it out and it works exactly as I hoped it would.
As for the TODO in Line 56 of your commit: Why not give the user the opportunity to select the starting point? Ask the user to "select starting entity". If the user doesn't feel the need to make the choice, the user can be given the possibility to simply press enter and use the current selection method instead. |
It's great to know that it works for you.
As you can see this quickly gets into topological structure of polylines. 1, can we extend polyline to support graph/contours better? 2, a new GUI action is more appropriate to support. Do you want to do some coding?
|
Unfortunately, I neither have the time nor the necessary knowledge to assist with real code work,
as I only have some modest skill in Java and no experience with the LibreCAD codebase whatsoever. In my opinion as a user, polylines are already quite powerful, so you really should be fine with just giving the user some more fine-grained control over this operation. |
It occured to me that I mostly worked with this special subtype of polylines: closed polylines.
That's why I didn't really need control over the starting point of a polyline. However, I would consider this flow user interaction for the specification of a new polyline helpful: user starts convert option(like trim with fillet): force closed selection tools as with "hatch" user presses enter selected closed polyline: selected non-closed polyline; create with any starting point fail if force enabled (inform: gap between... etc.) else have user click starting entity create polyline Note that the currently used auto-finding of touching entities will still be available via "select contour". By "closed polyline" I mean any polyline with < 2 segments whose starting and ending entity touch. "force closed" to reject non-closed polylines would be useful for editing dxf files converted with other software, because these sometimes have small gaps between entities, visible only with deep zoom. I'm also thinking of some other useful polyline operations and will soon create a subject about these. |
Free forum by Nabble | Edit this page |