On 04/12/14 18:27, Ryan Lerch wrote:
On 12/03/2014 03:59 PM, Alexander Brock wrote:
New features: Path->All Objects to Path
This would be an awesome feature.
It's already implemented, you can try it if you check out my experimental branch and compile it.
Maybe a name like "Fill and Stroke to Paths" might work? I assume that the resulting "fill" object doesn't include the 50% of the fill that is under the stroke?
Currently the resulting filled object does include these 50%. If that's not desired I would need to duplicate the "stroke" (which was converted to a path) and subtract it from the "fill". I don't want to do that (at least not by default), because the difference operation tends to create (very small) gaps between the objects. For example, create two ellipses, duplicate the top ellipse, subtract it from the lower ellipse, take the union of the resulting two objects and break the path appart => I ended up with four objects, the union of two ellipses and two very small objects.
These small objects interfer with my applications, so I want to avoid them.
If you want to get rid of the overlap just use the "remove overlap" function as soon as it works :-)
Object->Clip->Intersect This recursively replaces clipped paths by the path intersected with the clip path.
IMHO, This might make more sense to make Path > Intersect work on multiple objects. i.e. the top object is duplicated and intersected with each object individually underneath.
The intersection method already works with multiple objects, the result ist the intersection of all selected paths which makes perfect sense to me and I wouldn't change that.
The reason i suggest this is that clipping also works on bitmaps, so having an option to intersect a clip path might be a bit odd when it doesn't work. Also, this same working on multiples behavior would work for Path > Difference too -- so you can "punch a hole" in multiple objects, and Path > Division, where you can cut multiple paths up with a single action.
I currently don't need difference / division / cut for more than two objects and I'd like to fix the "remove overlap" function first but I can implement more of these (more complex) boolean operations later.
Alexander