Hello together,
I'm relative new to inkscape but already got some basic knowhow by trying and searching the forum/web/doku, but now I'am at a point where I need your help:
What I want to reach:
I've created a complex drawing with lots of elements (closed paths) which partly hide each other (z-order, layers). Finally my intention is to get the drawing on a cnc mill, but therefore I think I have to remove the hidden parts of the complete image - because the mill knows nothing of z-ordering and layers...
The preferred targetformat of the 'flattend' drawing is still svg, but dxf would be ok as well.
What I know myself:
At the moment only way I know to realize this is to manually cut and remove every hidden part - but that is quiet exhausting and everytime I make a change in the source-svg I would have to do this again and again.
I would be pleased for any idea how to realize this with affordable effort. The layers aren't the big problem, if necessary I could first merge the two or three layers manually together as grouped obejcts.
Thanks for reading and trying to help, I'm looking forward to your replys.
--
blackfox
Flatten drawing
Re: Flatten drawing
Welcome blackfox!
First I should say that I don't know what a mill is, in regards to computer graphics. I know a pepper mill, a grist mill, it's something that turns around and grinds things up! I wonder if "mill" came about from a translation? Can you educate me? Could it be a cutter?
Fortunately, I do understand your question! If your objects are indeed all closed pathes, you can select them all at once, and do Path menu > Union. In addition to turning them all into one single object, the new single object will obviously lie on one single layer! Magic, huh?!!
If it would be beneficial to retain a working copy of your drawing, which still contains individual objects and layers, then be sure to use File menu > Save a copy, before performing the Union.
If a mill IS like a craft or vinyl cutter or plotter, be sure and visit our Inkscape and Cutters forum!
All best
First I should say that I don't know what a mill is, in regards to computer graphics. I know a pepper mill, a grist mill, it's something that turns around and grinds things up! I wonder if "mill" came about from a translation? Can you educate me? Could it be a cutter?
Fortunately, I do understand your question! If your objects are indeed all closed pathes, you can select them all at once, and do Path menu > Union. In addition to turning them all into one single object, the new single object will obviously lie on one single layer! Magic, huh?!!
If it would be beneficial to retain a working copy of your drawing, which still contains individual objects and layers, then be sure to use File menu > Save a copy, before performing the Union.
If a mill IS like a craft or vinyl cutter or plotter, be sure and visit our Inkscape and Cutters forum!
All best

Basics - Help menu > Tutorials
Manual - Inkscape: Guide to a Vector Drawing Program
Inkscape Community - Inkscape FAQ - Gallery
Inkscape for Cutting Design
Manual - Inkscape: Guide to a Vector Drawing Program
Inkscape Community - Inkscape FAQ - Gallery
Inkscape for Cutting Design
Re: Flatten drawing
Hi brynn,
thank you for your quick reply.
In my post I have once used the longer form "cnc mill", I'm not sure if this is ambiguous in english? Anyway to be clear: a picture says more than thousand words: http://www.jensn.de/cms/tools48.jpg I ment a machine like this.
The union function does part of what I need, but I have at least two problems to reach my goal:
- I have paths that aren't closed as well
- union only keeps the outer border of all selected
A little example:
I have a person, the torso is a closed path, uppon that I have drawn the arm (closed path as well), which starts inside the torso (at the shoulder of course) but juts out of the torso-path. The desired result would be the full path of the arm and the path from the torso except that peace where the arm crosses the torso (lies in front of it).
An example for non-closed pathes would be the head with some hair whereas the hair consists of some single lines, some of them crossing the contour of the head.
For visualizing while drawing I filled all closed pathes with white color and ordered them upon each other. What I would need would be a function like "remove all invisible", but I don't know if something like that exists. If not I have to do it manually - quite a lot work but happily this ist just a single project (present for my parents) so in the worst case I could live with one time making a bigger effort but of course would prefer a solution as described above.
thank you for your quick reply.
In my post I have once used the longer form "cnc mill", I'm not sure if this is ambiguous in english? Anyway to be clear: a picture says more than thousand words: http://www.jensn.de/cms/tools48.jpg I ment a machine like this.
The union function does part of what I need, but I have at least two problems to reach my goal:
- I have paths that aren't closed as well
- union only keeps the outer border of all selected
A little example:
I have a person, the torso is a closed path, uppon that I have drawn the arm (closed path as well), which starts inside the torso (at the shoulder of course) but juts out of the torso-path. The desired result would be the full path of the arm and the path from the torso except that peace where the arm crosses the torso (lies in front of it).
An example for non-closed pathes would be the head with some hair whereas the hair consists of some single lines, some of them crossing the contour of the head.
For visualizing while drawing I filled all closed pathes with white color and ordered them upon each other. What I would need would be a function like "remove all invisible", but I don't know if something like that exists. If not I have to do it manually - quite a lot work but happily this ist just a single project (present for my parents) so in the worst case I could live with one time making a bigger effort but of course would prefer a solution as described above.
Re: Flatten drawing
CNC mill is the right term - it just might not be familiar to anyone who hasn't spent some time in a machine shop.
When you say you are currently manually cutting and removing every hidden part, if you're not using the boolean "difference" operation then you might find that useful. It's quickest accessed with CTRL and - (i.e. the hyphen/minus/subtraction character). Here's a workflow that might speed things up for you - assuming your torso and arm scenario:
1) Select the arm (or whatever your "front" item is)
2) Press CTRL-D to duplicate it (the boolean operation will remove the "front" item, so this ensures it's a copy that gets removed, leaving the original)
3) The duplicated arm should still be selected at this point. Hold down SHIFT and click on the torso (or other background object)
4) You've now got two items selected. Press CTRL and - to cut the arm out of the torso. If you've got a numeric keypad, using "-" on there is easiest.
5) If I've understood you correctly that should give you the result you want - for this intersection at least. You'll need to manually repeat for all the others.
Unfortunately the "difference" boolean operation can only work on a pair of paths at a time, so there's no way to select everything and magically difference it all at once.
When you say you are currently manually cutting and removing every hidden part, if you're not using the boolean "difference" operation then you might find that useful. It's quickest accessed with CTRL and - (i.e. the hyphen/minus/subtraction character). Here's a workflow that might speed things up for you - assuming your torso and arm scenario:
1) Select the arm (or whatever your "front" item is)
2) Press CTRL-D to duplicate it (the boolean operation will remove the "front" item, so this ensures it's a copy that gets removed, leaving the original)
3) The duplicated arm should still be selected at this point. Hold down SHIFT and click on the torso (or other background object)
4) You've now got two items selected. Press CTRL and - to cut the arm out of the torso. If you've got a numeric keypad, using "-" on there is easiest.
5) If I've understood you correctly that should give you the result you want - for this intersection at least. You'll need to manually repeat for all the others.
Unfortunately the "difference" boolean operation can only work on a pair of paths at a time, so there's no way to select everything and magically difference it all at once.
Re: Flatten drawing
Well Xav beat me to it with his advice but I can perhaps add a little something to it if he doesn't mind ; )
Since you are sending to a cutter fill colour is unlikely to be important.
Therefore you can combine all non overlapping paths together without losing anything.
Then you can move this combined path to the top of the z-order (Object menu), copy, select this path and the underlying path (which may also be the result of combining several non overlapping paths), do the intersect
(not really! Try difference instead!see next post!)(path menu), paste in place (edit menu) and if necessary do a break apart (path menu).
This may save you a few steps here and there.
As for the hair example you gave I recommend Stroke to path (path menu) before doing any of this. Boolean operations do not do well with open paths.
Since you are sending to a cutter fill colour is unlikely to be important.
Therefore you can combine all non overlapping paths together without losing anything.
Then you can move this combined path to the top of the z-order (Object menu), copy, select this path and the underlying path (which may also be the result of combining several non overlapping paths), do the intersect

This may save you a few steps here and there.
As for the hair example you gave I recommend Stroke to path (path menu) before doing any of this. Boolean operations do not do well with open paths.
Last edited by druban on Wed Aug 11, 2010 9:38 am, edited 1 time in total.
Your mind is what you think it is.
Re: Flatten drawing
druban wrote:(…) do the intersect (path menu), paste in place (edit menu) and (…)
… when testing druban's proposed work flow, I have to use 'Difference', not 'Intersection' from the path menu - but maybe I didn't follow the detailed steps correctly?
Re: Flatten drawing
~suv wrote:… when testing druban's proposed work flow, I have to use 'Difference', not 'Intersection' from the path menu - but maybe I didn't follow the detailed steps correctly?




I had a longer more complicated instruction with exclusion and intersection ready but I thought after reading Xav's tip I would just continue on from his hint... But I was too lazy to rewrite the whole thing, and forgot to change one word!




Your mind is what you think it is.