sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] TextureTools

    Scheduled Pinned Locked Moved Plugins
    106 Posts 34 Posters 99.7k Views 34 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • EarthMoverE Offline
      EarthMover
      last edited by

      Thanks TIG! Most helpful plugin of the year!

      3D Artist at Clearstory 3D Imaging
      Guide Tool at Winning With Sketchup
      Content Creator at Skapeup

      1 Reply Last reply Reply Quote 0
      • dfswyfD Offline
        dfswyf
        last edited by

        Thank you so much for this, it is very helpful!

        1 Reply Last reply Reply Quote 0
        • R Offline
          rv1974
          last edited by

          Looks like another must-have,
          Hats off to TIG πŸ‘

          1 Reply Last reply Reply Quote 0
          • sumasterS Offline
            sumaster
            last edited by

            Hello sir,

            Thank you very much .......
            Its very useful .............
            Good luck ........

            Thanks again .......

            Thank you,
            SUmaster

            1 Reply Last reply Reply Quote 0
            • R Offline
              rv1974
              last edited by

              Dear ruby makers!
              Please, If you put arrow keys (or any other ones) into the game make a temporary shortcut override!!!
              There are some really usefull scripts with vulgar occupation of keys that make the life much harder.
              Meanwhile only Thomthom implemented this feature.

              1 Reply Last reply Reply Quote 0
              • TIGT Offline
                TIG Moderator
                last edited by

                @rv1974 said:

                Dear ruby makers!
                Please, If you put arrow keys (or any other ones) into the game make a temporary shortcut override!!!
                There are some really usefull scripts with vulgar occupation of keys that make the life much harder.
                Meanwhile only Thomthom implemented this feature.
                Sorry to say BUT I consider that you have it quite backwards!

                Scripts that use Arrow-keys for 'nudging' values are quite common - which suggests that you shouldn't assign them as your own shortcuts! It's not like we are reusing 'standard shortcut keys' here - we are just using logical key presses within an add-on tool.

                Just as you wouldn't sanely assign a shortcut key to a number [0-9], as they is used in the VCB in most native tools, or even 'x' or '*' or '/' as that is used in Move+Ctrl copy array etc, or say swap M from Move to Delete ! ...

                There are lots of keys, and modifier-key combinations for you to choose from when setting your custom shortcuts, without you having to use any of those that are needed by add-ons to be used logically...

                It was only because Thomthom wanted to use the Move, Rotate etc shortcut keys in his Vertex Tool, that he mimics how they are set up in a default installation for the native tools - so you can use M to Move an entity in the native tools or Move a Vertex within his tool. However, the hoops he has had to jump through in code to get it to work are not acceptable to many scripters. Indeed, if you've ever had his tool crash, leaving these shortcut keys remapped, then you know how annoying even his fix is, because then many of your shortcuts are left permanently reset to the wrong tools, even when you are out of his tool, leaving a manual remap of shortcuts the only option to revert to a default setup... TT's tools are also now compiled as rbs files so the methods are not readily transparent to other scripters...

                I wrote the original TextureRotate code from scratch in just two hours... as a 'proof of concept' - you'd have had to wait a lot longer for a 'massaged' version of the code to remap shortcuts etc... BUT if you want shortcut keys remapping temporarily then do it yourself - the code is open to your reuse! If you invent a simple, safe and foolproof temporary key remapping method then I suggest you publish it as then scripters might be more inclined to add the safety-net for those of you who persist in shortcutting to keys that are better left alone to tools that really need them πŸ˜•

                TIG

                1 Reply Last reply Reply Quote 0
                • R Offline
                  rv1974
                  last edited by

                  'If You Want a Job Done Right...'. Got the message

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    rv1974
                    last edited by

                    Hi TIG!
                    May I ask your for some new texture editing functionality (especially after 'extrude edges by offset' is out)?


                    ScreenShot002.jpg

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      Matt666
                      last edited by

                      Hi TIG, and thank you for this great script!
                      Just one thing, I've mentioned here an plugin idea, that could rotate a texture along the longest dimension of a surface. Do you think it's possible?

                      Frenglish at its best !
                      My scripts

                      1 Reply Last reply Reply Quote 0
                      • TIGT Offline
                        TIG Moderator
                        last edited by

                        Matt

                        Here's a one-liner that gives you the angles of a selected face's longest edge relative to the X_AXIS/Y_AXIS/Z_AXIS - the result in degrees [e.g. 90.0, 66.666, 0.0] you can then copy+pasted the sensible one into the TextureTool's Rotate dialog and the texture will realign with the long edge...

                        f=Sketchup.active_model.selection[0];es=f.edges;ed=es[0];d=0;es.each{|e|(d=e.length;ed=e)if e.length>d};x=ed.line[1].angle_between(X_AXIS).radians;y=ed.line[1].angle_between(Y_AXIS).radians-90;z=ed.line[1].angle_between(Z_AXIS).radians;(x=x-90;y=y-90;z=z-90)if f.normal.z.abs==1;p x,y,z
                        

                        That assumes that the current texture has never been rotated...
                        It's not perfect but it's a start... πŸ˜•

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • M Offline
                          Matt666
                          last edited by

                          Thank you for your answer TIG, I'll take a look!
                          I was thinking more of a tool that would orient textures in current selection (groupe, component, or faces), or even the entire model... 😳

                          Frenglish at its best !
                          My scripts

                          1 Reply Last reply Reply Quote 0
                          • TIGT Offline
                            TIG Moderator
                            last edited by

                            The three TextureTools Rotate/Scale/Shunt are written to allow passing of arguments, so they can be run from other tools without a dialog.
                            So, if you pass an angle in degrees to the 'rotate' tool then there's no dialog...
                            So you can envisage a new tool that iterates all of the faces in a selection and finds the long side of each, calculates the rotation needed, and then uses the 'rotate' tool with the required angle passed to it so that the faces are processed en mass...
                            It only works on one selected face at a time... so the new tool's code needs to use
                            ` ss=model.selection
                            ssa=ss.to_a
                            ss.clear

                            iterate face in faces

                            ss.add(face)then later ### find angle_in_degrees etc...
                            TextureTools::Rotate.new(angle_in_degrees)
                            ss.clear

                            loop`

                            on close it could then use
                            ss.clear ss.add(ssa)
                            to restore the selection as it was...

                            TIG

                            1 Reply Last reply Reply Quote 0
                            • M Offline
                              Matt666
                              last edited by

                              Ok that's great! Thank you TIG!

                              Frenglish at its best !
                              My scripts

                              1 Reply Last reply Reply Quote 0
                              • McGyverM Offline
                                McGyver
                                last edited by

                                I must have missed this one before, but thanks again for another immensely useful and generous plugin!

                                [Visit My ShareCG Freebie Gallery](http://www.ShareCG.com/pf/full_uploads.php?pf_user_name)

                                1 Reply Last reply Reply Quote 0
                                • PixeroP Offline
                                  Pixero
                                  last edited by

                                  TIG, I have a request.

                                  Would it be possible to add a "rotate, scale and match UVs" tool?
                                  It would work this way:

                                  First, you select all the faces you want to edit the texture on.
                                  Second, you click on the tool and select one face you want to use as a reference.
                                  Third, the script matches scale and rotation, AND if possible, offset of UVs from the reference faces UVs compared to the vertices of the faces in the initial selection. (Does this make sense?)

                                  1 Reply Last reply Reply Quote 0
                                  • TIGT Offline
                                    TIG Moderator
                                    last edited by

                                    @pixero said:

                                    TIG, I have a request.

                                    Would it be possible to add a "rotate, scale and match UVs" tool?
                                    It would work this way:

                                    First, you select all the faces you want to edit the texture on.
                                    Second, you click on the tool and select one face you want to use as a reference.
                                    Third, the script matches scale and rotation, AND if possible, offset of UVs from the reference faces UVs compared to the vertices of the faces in the initial selection. (Does this make sense?)

                                    It's possible to 'batch process' textures on faces by passing arguments as explained elsewhere in the thread... The complication is gleaning the scale/rotation of the selected face's texture... I'll sleep on it [for a day or two...] πŸ˜‰

                                    TIG

                                    1 Reply Last reply Reply Quote 0
                                    • PixeroP Offline
                                      Pixero
                                      last edited by

                                      I'm not sure I understand the word "gleaning"?
                                      Would it be possible to compare the vertices position/distance from the "reference" face and the others and get the UVs from that? Just a thought...

                                      1 Reply Last reply Reply Quote 0
                                      • TIGT Offline
                                        TIG Moderator
                                        last edited by

                                        Sorry, my slightly 'old' English slipped in there... by 'gleaning' I mean gathering up small bits from a larger amount... 'to glean' the wheat from the chaff when threshing corn, is to collect the small grains of wheat and leave the rest of the straw etc behind... SO by metaphor - we need to collect the important small bits of data from the larger amount that is available - by some yet unspecified process...

                                        We would need to take the UV-mapping of one face and apply it to others - that's straightforward... however, using relative rotations etc gets more complex... πŸ˜•
                                        I'm thinking about it...

                                        TIG

                                        1 Reply Last reply Reply Quote 0
                                        • Rich O BrienR Offline
                                          Rich O Brien Moderator
                                          last edited by

                                          Missed this πŸ˜•

                                          Any chance you could add a scale feature?

                                          Download the free D'oh Book for SketchUp πŸ“–

                                          1 Reply Last reply Reply Quote 0
                                          • TIGT Offline
                                            TIG Moderator
                                            last edited by

                                            πŸ‘Ώ

                                            TIG

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 3 / 6
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement