I am hoping to use Inkscape with a residential floor design project. I have a set of hexagonal ceramic tiles with different patterns on them that I wish to arrange in various configurations, and I thought that Inkscape might help visualise each design and produce some nice diagrams for my documentation.
In Inkscape I have created a large array of hexagons, to scale, with precise spacing between them. Each hexagon is currently white and they are all identical in size.
I have photographed and tweaked one of my tiles as a .png file and created a masked hexagon texture with transparent edges. I can import this into Inkscape and resize it to exactly match the white hexagons.
What I had hoped to do was to use the Pattern tool to convert the texture into a Pattern, then set this as the fill for each hexagon that I want to show that texture. Unfortunately I ran into some major problems with this - 1). the "pattern handles" appear in far off places, nowhere near my drawing, making it very difficult to adjust the pattern to fill a hex properly, and 2). the pattern seems to be randomly offset for each hexagon anyway, so that isn't going to work for more than one hexagon.
So what I'd like to do now is replace a set of white hexagons with my textured hexagon, without manually placing each replacing hexagon. I.e. "paste" my textured hexagon onto a white one, in the exact same position, replacing the white hexagon below (although I'd live with just accurately obscuring it, especially if I can paste into a separate layer). Then I'd like to extend this to selecting an arbitrary number of white hexagons and then replacing all of them with multiple coincident copies of my textured hexagon.
I will eventually have several different hexagonal textures, each of which may be assigned to any of the white hexagons.
Is Inkscape capable of doing this? Or will I need to do a lot of manual copy/paste/delete and repositioning? Unfortunately I have several hundred hexagons to replace, multiplied by several distinct designs, so I was hoping for a simple one-shot solution per hex, but I'm now wondering if that might not be possible.
Filling or replacing multiple shapes with a texture image
-
- Posts: 2
- Joined: Sat Aug 29, 2015 9:20 pm
Re: Filling or replacing multiple shapes with a texture imag
Hi.
Probably using a custom pattern fill is a better solution.
There is grout I'm guessing, which you need to take care when making the pattern fill.
Can you post a part of your hex pattern tiling?
If you post an example raster image too you want to use, it would be even better.
Then we can explain how a working pattern could be made -without that, there are too many variables and it wouldn't be clear.
Probably using a custom pattern fill is a better solution.
There is grout I'm guessing, which you need to take care when making the pattern fill.
Can you post a part of your hex pattern tiling?
If you post an example raster image too you want to use, it would be even better.
Then we can explain how a working pattern could be made -without that, there are too many variables and it wouldn't be clear.
-
- Posts: 2
- Joined: Sat Aug 29, 2015 9:20 pm
Re: Filling or replacing multiple shapes with a texture imag
Thanks for the reply. Yes, there's grout, which I've allowed for along the edges of each tile. I don't have any images to post at the moment, but I'm still working on it.
I've used an axonometric grid to help locate each tile. I've had some success with disabling all snap settings except "centre" and then using a properly scaled bitmap as my tile. Then I can copy/paste with the mouse cursor near each axonometric grid intersection and the tile is automatically pasted in the right place. I was able to very quickly build up my custom tiling with this technique.
The problem I had with the custom pattern is that there seems to be a really nasty bug that places the pattern control handles (e.g. for pattern scaling, rotation) far, far away (I have a very large "document" set up in Inkscape, 20 metres x 2 metres, in case that's the cause). And even if I move the control handles close by for one tile, they appear far away for the next, and the pattern seems to be global not per-object anyway, so a pattern lined up with the first tile doesn't line up with the next. In short, I don't think patterns are useful in my case, especially as I have about 9 unique tile designs.
I've used an axonometric grid to help locate each tile. I've had some success with disabling all snap settings except "centre" and then using a properly scaled bitmap as my tile. Then I can copy/paste with the mouse cursor near each axonometric grid intersection and the tile is automatically pasted in the right place. I was able to very quickly build up my custom tiling with this technique.
The problem I had with the custom pattern is that there seems to be a really nasty bug that places the pattern control handles (e.g. for pattern scaling, rotation) far, far away (I have a very large "document" set up in Inkscape, 20 metres x 2 metres, in case that's the cause). And even if I move the control handles close by for one tile, they appear far away for the next, and the pattern seems to be global not per-object anyway, so a pattern lined up with the first tile doesn't line up with the next. In short, I don't think patterns are useful in my case, especially as I have about 9 unique tile designs.
Re: Filling or replacing multiple shapes with a texture imag
If you want to use the pattern transformation handles, you are already lost.
Meaning, you don't need them if you convert the right object to a pattern.
You can make the embedded raster image into a group*, clip it, then make a clone of the clipped object,
then convert the clone to a pattern -this way you can even add repeating elements to your pattern, making it possible to drop in a raster image one after another, generating the right pattern fills quickly -by duplicating and releasing clone link.
*For the hex pattern, that parent tile would need the raster image cloned a few times too... if the raster image is not edited to repeat seamlessly itself. Which would result in a less complicated design.
Then, you select the same tiles of your floor plan, group them together and add this pattern fill to it, all at once to all of the tiles.
And move the group below the object depicting the grouts.
That is how I would try it. Maybe even draw the tiles to be filled with the pattern without spaces between them -snapping can help speed up the positioning-, letting the grout object doing its job above the tiles.
"A picture can worth a million words".
The novel I would draw based only on my assumption about your drawing may hardly show a solution you could use one by one.
Meaning, you don't need them if you convert the right object to a pattern.
You can make the embedded raster image into a group*, clip it, then make a clone of the clipped object,
then convert the clone to a pattern -this way you can even add repeating elements to your pattern, making it possible to drop in a raster image one after another, generating the right pattern fills quickly -by duplicating and releasing clone link.
*For the hex pattern, that parent tile would need the raster image cloned a few times too... if the raster image is not edited to repeat seamlessly itself. Which would result in a less complicated design.
Then, you select the same tiles of your floor plan, group them together and add this pattern fill to it, all at once to all of the tiles.
And move the group below the object depicting the grouts.
That is how I would try it. Maybe even draw the tiles to be filled with the pattern without spaces between them -snapping can help speed up the positioning-, letting the grout object doing its job above the tiles.
"A picture can worth a million words".
The novel I would draw based only on my assumption about your drawing may hardly show a solution you could use one by one.
Re: Filling or replacing multiple shapes with a texture imag
Here goes nothing:
I know, it could be more polished -cloned the embedded raster image this case- but the idea is present.
The parent object can be edited, and vector objects added.
I have a feeling I will have to revisit this attachment as a reference, so adding some tags
pattern, fill, hex, hexagon, tile, tiling, clone, parent, clipping, repeat, seamless, seamlessly, floor, flooring, tessellation, math, geometry,
I know, it could be more polished -cloned the embedded raster image this case- but the idea is present.
The parent object can be edited, and vector objects added.
I have a feeling I will have to revisit this attachment as a reference, so adding some tags
pattern, fill, hex, hexagon, tile, tiling, clone, parent, clipping, repeat, seamless, seamlessly, floor, flooring, tessellation, math, geometry,