[Plugin] TextureTools
-
@massimo said:
Thanks again TIG.
Seems to work fine at a first quick try also with irregular shapes (just a little thing: if you don't copy the icon's folder in the plugins folder you get an error at the start of SU. The first version worked without icons).@unknownuser said:
and the shunting of the texture's UV-mapping [in XY/UV] by typing in two offset lengths into a dialog...
That's really cool... Would be possible also to have a way to move the texture via keyboard (for example arrow keys)? I mean often you have to align textures each other or with an edge so a "fine" control on the movements with the keyboard would be really great. Something like the move tool of Photoshop.
I'll look at the code I must have messed something up adding the extra buttons etc...
The 'To Do' list could include a 'nudge' with arrow-keys option as doing it on screen might be little different from the Texture tool... -
Here's v1.2 http://forums.sketchucation.com/viewtopic.php?p=329765#p329765
I fixed the typo in the toolbar code so it should only make the toolbar and its button[s] if you have the icon[s]... -
Sounds good, Thanks!
-
Here's v1.3 http://forums.sketchucation.com/viewtopic.php?p=329765#p329765
A new tool Texture Nudge is added which allows you to nudge a texture in UV/XY using the four arrow keys, by a factor entered in a dialog or 10x if Shift is held down...feedback please - especially MAC users as I'm not sure about the key-codes...
-
Seems to work just fine!
A "must have" plugin. -
A detail: the first time you start the "nudge" and the "shunt" tools you are obliged to input an increment because if you confirm the default number by just pressing "Ok" they don't work.
-
@massimo said:
A detail: the first time you start the "nudge" and the "shunt" tools you are obliged to input an increment because if you confirm the default number by just pressing "Ok" they don't work.
I'll look at it...
EDIT:
I recheck and it works fine...
Do you have the latest version? [I'm sure you do]
The default for the setting is 1 unit - if you have mm it's likely to be very small - conversely with meters it'll probably be too much...
What's your default template's 'units' ? mm??
Zoom in to a corner to see if things move...
Open the tool and hit OK without editing the dialog, you get the movement required.
With the Nudge tool try holding down the Shift key as the movement is magnified by x10 so 1mm >> 10mm... Once you've set your preferred nudge or shunt values they are remembered across uses of the tool during that session.
IF you want to have a default find @@u, @@v and @@d values near the start of the two tools class initialize and change the numbers there - e.g. '10.0' intsead of '1.0' will make the initial values 10mm not 1mm etc... -
@tig said:
Here's v1.3 http://forums.sketchucation.com/viewtopic.php?p=329765#p329765
A new tool Texture Nudge is added which allows you to nudge a texture in UV/XY using the four arrow keys, by a factor entered in a dialog or 10x if Shift is held down...feedback please - especially MAC users as I'm not sure about the key-codes...
Hi TIG,
I'm a mac user, i don't know the code of the mac keyboard but i have found a web page it's possible that help you
http://wordherd.com/keyboards/ -
@tig said:
feedback please - especially MAC users as I'm not sure about the key-codes...
KeyCodes UP, Down, Left, Right work on 10.5.8, and I changed KSHIFT = VK_SHIFT to get shift to work
I'll read the instructions now that I've worked out that you have to apply material to the front face for it to work at all.
Is an alert possible for back face materials, I was trying to adjust texture on a LiveIvy skp and some are front face and some back face and I couldn't figure why TR was working intermittently.
I'll try and get the correct KeyCode for Shift, but Jims script is throwing an error at the moment and I need sleep.
great stuff, again
john
-
@tig said:
@massimo said:
A detail: the first time you start the "nudge" and the "shunt" tools you are obliged to input an increment because if you confirm the default number by just pressing "Ok" they don't work.
I'll look at it...
EDIT:
I recheck and it works fine...I have cm and yes it's the latest version, so i think it's not a matter of small lengths. I think that the culprit is the "." (just noticed the dot). So the default "1.0" should be "1,0" for me. Here you have the ruby console anyway.
Error; #<ArgumentError; Cannot convert "1.0" to Length> C;/Program Files (x86)/Google/Google SketchUp 7/Plugins/TextureRotate.rb;282;in `to_l' C;/Program Files (x86)/Google/Google SketchUp 7/Plugins/TextureRotate.rb;282;in `reset' C;/Program Files (x86)/Google/Google SketchUp 7/Plugins/TextureRotate.rb;276;in `activate' C;/Program Files (x86)/Google/Google SketchUp 7/Plugins/TextureRotate.rb;410;in `select_tool' C;/Program Files (x86)/Google/Google SketchUp 7/Plugins/TextureRotate.rb;410 C;/Program Files (x86)/Google/Google SketchUp 7/Plugins/TextureRotate.rb;410;in `call'
EDIT
@unknownuser said:
IF you want to have a default find @@u, @@v and @@d values near the start of the two tools class initialize and change the numbers there
Changed "1.0" to "1,0" and now seems to work fine.
EDIT 2
Tried to change also the "angle" default parameter to "90,0" but it doesn't work. So now I have the "rotate" which works with "dot" and the "shunt+nudge" with "comma". -
Nice tool for geomodeling.
Thank you so much Tig ! -
Massimo
I hadn't anticipated you weird Eurpoeans using a ',' as a decimal point rather than a sensible '.'
I can easily trap that in the code... I'll release an update later today - it should also have new tools added - TextureScale and TextureTweak... -
Wooow.. like this TIG, thank you..
my wish, hopefully it could do also on the complex shape surface like sphere or cylinder..regards,
-
Here's v1.4 http://forums.sketchucation.com/viewtopic.php?p=329765#p329765
New tools have been added - TextureScale & TextureTweak [Scale by Arrows], and TextureAdjust [Rotate by Arrows]. Some button png files have been adjusted.
'Locale' use of a ',' instead of a '.' as a decimal-point now works in all dialogs.Please read the usage note for each tool...
Feedback please...
-
Wonderful.
A little issue is that now i have to do something like this when input values:
rotate-->dot
adjust-->dot
shunt-->comma
nudge-->comma
scale-->dot
tweak-->dot
While in SU i use always comma. -
Thanks TIG, it works fine on Mac, only one thing the dot and comma don't works on all tools.
-
@massimo said:
Wonderful.
A little issue is that now i have to do something like this when input values:
rotate-->dot
adjust-->dot
shunt-->comma
nudge-->comma
scale-->dot
tweak-->dotMassimo [& Oxer]
What's your 'locale' ?
How do you normally input 'decimal-points' ?
In the UK/US it's 1.234 and I know in EU etc its [perversely] 1,234
The rotate/scale tools take 'float' numbers because angles and scaling are always in that format - the 'decimal-point' is determined by the system setup/locale not by me... 'I think 'floats' always use a '.' ??
The shunt/nudge tool takes a 'string' as its input since the user might type '10mm' or '1"' irrespective of their current units, and if they type '1' and their current units are 'cm' it is taken as '1cm', using the API's .to_l method. When the user enters a decimal-point it should be in the format that is determined by the system setup/locale not by me... So '1.234' or '1,234' - however I'm amazed that the two types of input are handled different.
Can you do a test in the Ruby Console for me... type these [exactly as they appear here] and report the result:
1.23.class 1,23.class 1.23.to_l 1,23.to_l '1.23'.to_l '1,23'.to_l
Depending on your feedback I COULD try trap it to change the input for the 'string' type so if you entered '1.23' and it couldn't be made into a length inlength='1.23'.to_l
then it'd trylength='1.23'.tr('.',',').to_l
- that way all of these tools would expect you always to use a '.' BUT it would substitute a ',' if your system needed it...
The code to swap isu=u.to_l v=v.to_l
which becomes
begin u=u.to_l rescue u=u.tr('.', ',').to_l end begin v=v.to_l rescue v=v.tr('.', ',').to_l end
AND then
@d=@@nudge.to_l
which becomes
begin @d=@@nudge.to_l rescue @d=@@nudge.tr('.', ',').to_l end
-
Well TIG in SU it's always comma or semicolon (for example when drawing a rectangle) for me, even the plugins, while in CAD, for example, it's always dot...
Anyway here is what i get in the ruby console:1.23.class Float
-
@massimo said:
Well TIG in SU it's always comma or semicolon (for example when drawing a rectangle) for me, even the plugins, while in CAD, for example, it's always dot...
Anyway here is what i get in the ruby console:1.23.class > Float >
I'd like the whole list please ?
I know in EU etc in the SKP's UI the '.' swaps with the ',' and then the ',' with the ';' BUT in the Ruby API I must always use a '.' as the decimal-separator, ',' as the list-separator and ';' as a line-break...
However I'd have expected that the SUp UI would seamlessly swap float '.' for ',' when displayed inputed in a UI.inputbox() to suit the locale, as it seems to take ',' in strings to convert to 'lengths' ?? -
@unknownuser said:
I'd like the whole list please ?
I've copied and pasted ALL the text you posted, sorry...
Here you have the results of every single line1.23.class Float 1,23.class Error; #<SyntaxError; (eval);894; compile error (eval);894; syntax error 1,23.class ^> (eval);894 1.23.to_l 1.23 1,23.to_l Error; #<SyntaxError; (eval);894; compile error (eval);894; syntax error 1,23.to_l ^> (eval);894 '1.23'.to_l Error; #<ArgumentError; (eval);894;in `to_l'; Cannot convert "1.23" to Length> (eval);894 '1,23'.to_l 0.484251968503937
Advertisement