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

    Material.Texture not working as explained in the doc

    Scheduled Pinned Locked Moved Developers' Forum
    3 Posts 2 Posters 187 Views 2 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.
    • ppoublanP Offline
      ppoublan
      last edited by

      Dear all,
      I'm becoming crazy with the materials and textures classes.

      I want to create a new material, based on an existing one applied to an object, with the same texture, but to apply different colorizations.

      So I tried :

      lets say the object is selected :

      entity=Sketchup.active_model.selection[0]
      existingmat = entity.material
      if entity.material.texture != nil
      newmat = Sketchup.active_model.materials.add
      newmat.texture = existingmat.texture
      end

      The SU documentation says that "Material.texture=" method receives as an argument a texture class or nil.
      In fact when running this code, I got the message from Sketchup : #<ArgumentError: Texture filename or nil required>

      I tried this with existing textures in sketchup.

      PS : another strange thing, if i ask for texture.filename, it returns "xxxxname.jpg" even if the jpg file does not exists on the disk (in fact the skm file only exists).

      So do I have to export the texture with texture writer to create an copy of an existing texture ?

      Yours
      Pascal

      PS : trying to put the last updates on Tree Maker Plugin.

      1 Reply Last reply Reply Quote 0
      • tt_suT Offline
        tt_su
        last edited by

        Yes, the description in the docs is wrong. (Adding an issue for that.)
        But the example (messy example) does demonstrate the correct way - using a string with the path to an image resource.

        Texture.filename refer to the file the texture was originally created from. But all textures are embedded in the SKP file - so you cannot expect to find the texture file at that location. You need to use the TextureWriter for that.

        1 Reply Last reply Reply Quote 0
        • ppoublanP Offline
          ppoublan
          last edited by

          Thanks a lot for your answer.
          F.....g doc and su apis.

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

          Advertisement