Dynamic components and textures

Question: I create a simple shape (let’s say a box of arbitrary LenX and LenY). I apply a material (lets say “Tile Ceramic Natural” from the Materials > Tile menu) to the top of the box with the Paint Bucket. Then I make the box a component. If LenZ is very small (I made it 1/16" [0.0625"]), this looks like a piece of tile floor.

Finally, I right-click on my new component and increase LenX and LenY in the Dynamic Components > Component Attributes menu. Let’s say I make LenX 120" and LenY 240" for a 10’ x 20’ floor.

The tiles stretch along with the floor. This isn’t what I want; the tiles in this material are 8" x 8", and I want them to stay that size.

Is there a way to do this?

I know I could apply the tile material after I get the floor size I want, but I’d prefer to just work with a single component that I can grow or shrink for different situations.

(Sketchup Pro v. 21.0.391, Windows 10)

Did you apply the material to the component or did you open the component for editing and apply it to the face?

BTW, your profile says you are still using SU2017 Make. Maybe you could update your profile.

I painted the material on the box shape’s face before I made it a component.

I just tried making the box a component, then changing LenX and LenY as described, then painting it with the tile material. Same result, the tiles are stretched. Second try: making it a component, changing LenX and LenY, opening it for editing, and then painting. Same result. (I started with a fresh box shape each time.)

It seems like modifying the Len component attributes scales not only the component itself but also the graphical features of a material subsequently applied to that component.

(Profile updated. Thanks for the heads-up.)

You need to add an extra sub group or component that forces the DC to become unique and redraws it. There are a few different techniques to do this, the simplest being setting an attribute to change with reference to the parent, but having the result remaining the same. Like X =parent!x*0, when for this child its x position is 0. Personally I like Tigs rectangle as it can serve as a swatch as well.


Thanks. Most of that went right over my head, but I’ll do some research on those terms and see if I can figure it out.