Roof tiles without textures?
-
If you make components of the various tiles, you could swap components in the model. So you might have applied tile A to the roof and your client wants tile B. You'd go to the In Model library, right click on the thumbnail for tile A and choose Select Instances. Then go to your roof tile library and right click on the thumbnail for tile B. Choose Replace Selected from the menu. Depending upon the tile you might need to repeat that for ridge or valley tiles but it would go quite quickly.
A key thing to keep in mind while making the tile components is to ensure their component axes and origins are placed identically so that the tiles will swap correctly.
-
It is possible but think of the complications on the end-verge if there are not a whole number of tiles, or if there is a roof 'hip' or 'valley' - you cannot trim the edge tiles unless they are made unique and their geometry hacked apart - individually!.
What's wrong with using a face with a texture applied?
You just make sure that the texture 'tiles' nicely and it is the right size to match a real roof-tile.
You can make a material using the image-file [jpg/png etc] that's named after the tile+color etc.
You can save all such new materials as an external 'collection' of SKM files that you can choose from the Materials Browser in a new SKP.
If you want to use these materials in code there is no native API SKM import option [there is my SKM-tools that can do it though] - alternatively you apply a material to a small face inside a small component also named after the tile+color and then export these.
You can save all such new components as an external 'collection' of SKP components.
Then later in another SKP your code can seek to use a certain material, if it doesn't exist then it loads the component with the matching name and that material is added to the model's materials for you to use in code. To clear the temporary component but retain the material, in code you can use model.definition.purge_unused, but that might remove other unused components that might be wanted later - to delete just one component in code you need to be within a model.start_operation()...model.commit_operation and then simply use component_definition.entities.erase_entities(component_definition.entities.to_a) - an empty definition is auto-purged by Sketchup IF it's done inside the 'operation'...There are also several good examples of code to adjust textures - see my TextureTools - so you can also have tools to adjust where a texture is on a particular face - e.g. always start the tiling at the eaves...
-
I'm not concerned with being able to instantly replace all the tiles with another. If the client has chosen a tile from catalogue or similar means then that's the only one I want to put on the model.
What I'd like to be able to do is model one of each of the tiles we offer to choose from, then once they choose one I'd like to be able to quickly paste this all over the roof in a way to achieve a realistic outcome.
Ideally I'd use textures but that sort of defeats the object of the "what you see is what you get" that I'm after. -
Well, as TIG pointed out, and I meant to, the tiles on the edges might take a little additional work but otherwise replacing the components would be the easiest thing short of using a material. You might also consider making components of sort of panels of tiles that you could then substitute for one another.
Beyond that, I think you would be looking at applying materials. You could draw your tiles and put a bunch of them together to make a sort of panel. then make an image export of that to use as a material in other models.
-
Ah I see.
Well if I was using the method of putting tiles together to make an image export for a texture, I may as well use those tiles across the roof I thinkIf I did model a tile, is there a proper technique/tool I should look up to allow me to copy it over the roof face? (then maybe sorting out the edges at the end)
I'm not looking for it to be totally automatic, just a short process if I already have the initial tile modelled (as in I can quickly grab it from my folder of pre-made tiles, and paste them all over the roof, and then apply a colour to them all - all in a fairly short time frame?)
If so my boss would be very happy! -
Well, supposing you have a single tile made as a component, you can copy it with the Move tool over the width of the tile and make a linear array by typing xn or *n where n is the number of copies (in addition to the original). You can then copy the row down or up the roof making another array in the same way. Of course you probably need to stagger each course so I would make the first two courses and then copy them as needed making the array. On a real roof how do you deal with variations in the length of the roof? Do you wind up cutting tiles or do you modify the overlap between courses to even things out? Do the same in SU.
Any tiles that need to be trimmed to come even with an edge of the roof will need to be edited. You'll use Make Unique on those tiles so you don't end up modifying all of them. But you can make all tiles that need the same trimming unique together so that they remain related to each other. then you need only edit one of those. This will be handy for the edge of the roof if the tile gets trimmed in width. You might find that you can create a number of tile components derived from the same full tile with different trimming so you don't have to edit them every time. also, if you are only concerned about exteriors views, you can let tiles run through valleys rather then trimming them. You might have a separate tile that goes in the valley but the roof tiles can extend under them.
-
Hmm yes, all sounds very good even for someone who is pretty bad at sketchup like me..
I'll try that in work tomorrow - thank you Dave for making my monday morning more bearable! -
Michael, let me know how you get on. If you need help, don't hesitate to ask.
-
If you go down the 3d geometry tile route then please remember not to make each tile component too detailed.
Although adding them as component-instances will help greatly you will still have loads of potential geometry in the model that will never be seen, but which Sketchup will need to consider when it's rendering any views - even if it subsequently decides if not visible; also with shadows 'on' they could be thousands of extra shadow calculations to do that again are not eventually used.
So don't model the the tile in any great detail - especially the back [e.g. don't stamp the back with the manufacturer's name or have rear-nibs with rounded corners or include the nail holes!] and also remember that the top parts, like curved surfaces on Roman-tiles should not have an excessive number of segments - at a distance 6 [or even 4] will usually look fine when 'smoothed' - certainly using 12 or 24 would be too much [unless you are planning on looking at an individual tile in a close-up assembly detail]; and don't 'round-off' edges either - just smooth that edge with Erase+Ctrl if you don't want it to look like a 'hard edge'... -
Hey TIG - Thanks for those tips
Yeah I'll try to be sensible!How do I set up the instancing of components? Or is this a silly question that I could find out on my own (Google's)
Can't believe I haven't got round to this yet, but a client who is special forces is leaving today so I had to prioritize his interior
-
Make a copy of a component and you've got two instances of it.
-
Get the instant roof plugin here
http://www.valiarchitects.com/sketchup_scripts/instant-roof
I'm pretty sure you can create your own component tile styles and modify it. If not directly I'm sure there is a workaround to be able to use that plugin with custom tiles by replacing some of the components. If you can't do it inside the plugin itself, then just create 3d tiles or whatever and then select instances and replace them- it's still an amazing plugin to build roofs.
-
I agree with Patrick. That plug-in rocks with clay tile roofing. I would just shoot an email to them and ask about customizing the tile itself. I think there is a forum on their website that has info on the plug-ins. Maybe someone has figured this out already.
-
The first (and only) dynamic component I made in SU was a roof tile that would add more tiles when scaled, with the correct distance between them. It was quite a lot of work to make it though...
My suggestion is to make a very simple component of one tile (with no faces on the underside, which won't be visible anyway).
Use Move/copy to make a copy sideways at the right distance.
Select the 2 tiles and move/copy downwards at the right distance.
Make a new component of those 4 tiles.
Now you can easily fill a roof by move/copying inside the component/group, using the distances between two of the tiles as reference.
Lots of extra work on roofs that are not straight saddle roofs.But I think I'd still vote for TIGs suggestion - make textures instead of 3D tiles...
-
Hmm good to have more opinions.
Instantroof plugin sounded like the solution until I noticed their site/videos don't mention using your own tile. If it can be done though that'd be great. Just instancing myself though doesn't sound too hard.Why do some of you think it'd be better to use textures? Would 3d tiles be too taxing on my system?
mike
-
Mike, you might have a look at Piece Tracer http://www.piecetracer.com/?tp=3
-
Thanks for that Mike
In the video the tile is very simple. Do you have that plugin? Anyone who could quickly test or give experience is great. -
No, I haven't got it but will see if I can get the developer to chime in
-
Textures would be better if you can use them because they would be easier to exchange, they trim automatically at edges and you would have fewer edge and face entities so you might have better performance. High res texture images can also slow things down but you don't need high res images anyway.
Have you started drawing your roof tiles yet?
-
Hi,
I'm the developer for PieceTracer. It's designed for this sort of thing so I recommend that you try it out. You can download a free trial here: http://piecetracer.com/download. Check out the demo videos for instructions.
As for filling in the pieces at the edges, that's functionality I am considering for the next version of PieceTracer, as described here: http://piecetracer.com/fillandshear. Your comments on that functionality would be much appreciated.
Advertisement