Scaled/Nonscaled Textures in Components

There’s a work around trick using DCs…
In outline…
Make a tiny face ‘swatch’ using the desired textured-material, put it inside a DC - inside a 3d object, so it’s never seen.
This preserves the original texture size for later…
Now you have attributes/functions in the DC which spot its [re]scaling and that in turn runs a DC referring RB that scales texture of the material [copied] as it’s applied to the group within the DC…
You have the originally scaled material on the tiny face to fall back on each time.
E.G.

class DCFunctionsV1
###
...
###
def resize_material(vars)
    ### Usage as DC function: "Material"
    ###    =resize_material(oriMaterial,oriX,oriY,LenX,LenY)
    ### the 1st 3 arguments passed are custom - 'material-name' of small nested 
    ### group's material, and then that material's x/y size AND 
    ### the main DC's x/y size, in cm - e.g 100,100.
...

There's also my "DeScaler" tool...

If a selected group or component-instance has been scaled this ‘descales’ it, keeping
it the same size, but now unscaled, whilst readjusting the textures to suit.
Usage: Context-menu > TIG.Descaler [if suitable selection]

2 Likes