sketchucation logo sketchucation
    • Login
    1. Home
    2. jbacigalupa
    3. Posts
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
    J
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 5
    • Groups 1

    Posts

    Recent Best Controversial
    • RE: How to get face uvs if texture is applied to component inst

      @thomthom said:

      I guess this means, the parsing of groups/components with materials applied to them won't produce such an overhead any more. πŸ˜„

      πŸ˜„ Yeah - so far it looks like the width/height divide was all we needed. Thanks to Whaat and ThomThom for your help - that issue has annoyed me for so long.

      I wish I came to this forum sooner!

      posted in Developers' Forum
      J
      jbacigalupa
    • RE: How to get face uvs if texture is applied to component inst

      @whaat said:

      The UVs that you will get will need to be divided by the texture size that is set using the SketchUp materials editor. If the texture is applied directly the face, you can get the UVs directly (i.e. not dividing by the texture height and width).

      Ok I will give that a shot, I thought I was just getting garbage uvs...I hadn't thought that they were the actual uvs just not set to the proper repeat value. Wow...

      I'll let you know how this goes.

      posted in Developers' Forum
      J
      jbacigalupa
    • RE: How to get face uvs if texture is applied to component inst

      @thomthom said:

      Will that give matching UV data? If so, then that should be a lot faster than applying the material to the faces, sample UV data, then remove it again.

      Yeah I'd imagine I could just homebrew my own uv information but I'd rather just use theirs if possible. I am not sure if your solution would take into account the various translations, etc, that can be done with textures on faces.

      posted in Developers' Forum
      J
      jbacigalupa
    • RE: How to get face uvs if texture is applied to component inst

      @thomthom said:

      I thought this issue sounded familiar. Then I read your name. πŸ˜‰
      Hi there Joe.

      Hey Thom πŸ˜„ I was going to post this on the Sketchup api site but it looks like they don't really have a Ruby section any more. Devin suggested I check this site out instead.

      @thomthom said:

      The adjacent becomes faceted? How do you mean? If I set a face' material on a cylinder's smooth surface, the edges still report back .soft? and .smooth?
      Are you seeing something differently? Or are you measuring faceted differently?

      Let me show you a picture of what I get on my end...

      This is when I apply a material to the component instance:

      http://img267.imageshack.us/img267/139/facets.jpg

      This is when I apply the material directly to the faces:

      http://img692.imageshack.us/img692/2356/nofacets.jpg

      You can see the outline of the faces completely in render 1 - and in render 2 you can't. So that is where my assumption about the smooth tool came from. I am not sure if thats what it is but it seems like I'm breaking a "connection" or something when I modify the material. Maybe if I could do a batch material apply operation it would work out better...but since this is just a workaround to get uv info I don't want to muck around too much with the person's scene.

      posted in Developers' Forum
      J
      jbacigalupa
    • How to get face uvs if texture is applied to component inst

      I'm writing some ruby scripts related to faces and uvs. I am unsure how to get uv information from my faces when the material is not directly applied to the face. Here is my test scenario.

      1. Make a circle and extrude it to be a cylinder
      2. Select the cylinder and make it a component
      3. Apply a texture material to that component instance
      4. Adjust the texture's uv repeat information as needed

      The only way I can get the uv information is if I manually apply the component instance's material to the faces prior to loading them into a TextureWriter and grabbing a UVHelper, etc. The problem with this is when I call face.material= or face.back_material= it apparently makes the edge smooth tool think that this face is no longer part of a curve and I get faceted edges.

      So I'm kinda stuck between a rock and a hard-place. I can either have correct uv information but any curved surfaces get screwed up, or I can have smooth surfaces with no uv information. I guess the third option is I can force people to apply textures to the faces only - but I don't like forcing odd things like this on the users...especially if it appears correctly in the Sketchup viewport.

      I must be missing something simple - so hopefully someone can clear this up for me. How can I get uv information for the "actual" material that is being used on the face?

      If you need any clarification feel free to ask - I'd really like to solve this issue. I could probably write a quick script to fully demonstrate the problem, but I figured I would see if anyone had run into this issue before I did that.

      Thanks!

      posted in Developers' Forum
      J
      jbacigalupa
    • 1 / 1