• Login
sketchucation logo sketchucation
  • Login
🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

Smooth Line after push/pull

Scheduled Pinned Locked Moved Developers' Forum
4 Posts 3 Posters 334 Views 3 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.
  • D Offline
    davesexcel
    last edited by 2 Nov 2014, 08:14

    Hello,
    When using the below code, how do I smooth the edges?

    ` prompts = ["length", "Run","height","Rise","Total Rises"]
    defaults = [36.0,10.0,1.0,7.75,7]
    input = UI.inputbox prompts, defaults, "Tread."

    if input == false
    UI.messagebox("All Must Be Entered")
    else
      a,b,c,d,e=input
    #UI.messagebox("Tread input accepted!, #{input}!")
    end
    
    
    ent = Sketchup.active_model.entities
    

    for i in 0..e-1
    ent.add_line [0,(b+1)+ib,0+id-1],[0,(1.5+ib),0+id-1]
    ent.add_line [0,1.5+ib,0+id-1],[0,1.5+ib,-d+(id)-1]
    ent.add_line [0,1+ib,0+id-1],[0,1+ib,-d+(id)-1]
    ent.add_line [0,1+ib,-d+(id)-1],[0,1.5+ib,-d+(id)-1]
    ent.add_line [0,1+ib,-1+id],[0,0.5+ib,-1+id]
    ent.add_arc [0,0.5+ib,-c/2.0+(id)],[0,0,-1],[-1,0,0],c/2.0,0,180.degrees,20
    ent.add_line [0,0.5+ib,0+id],[0,b+(ib)+1,0+id]
    edg=ent.add_line [0,b+1+ib,-c+id],[0,b+1+ib,0+id]
    edg.find_faces; face=edg.faces[0]

    # #face = ent.add_face [0,0,0], [a,0,0], [a,b,0], [0,b,0]
    #face.reverse!
     face.pushpull -a
    # edg.soft="true"
     #group1 = ent.add_group face.all_connected
    end   
      #group1_copy = group1.parent.entities.add_instance(group1.entities.parent, group.transformation)`
    

    Before Smooth

    https://drive.google.com/file/d/0ByXxMRXssekcaDdGRTJaN013dHc/view?usp=sharing

    After Smooth

    https://drive.google.com/file/d/0ByXxMRXssekcNC1GOWxRQTZWMmM/view?usp=sharing

    edg.soft="true" doesn't appear to do anything
    Thanks

    1 Reply Last reply Reply Quote 0
    • S Offline
      sdmitch
      last edited by 2 Nov 2014, 16:12

      @davesexcel said:

      Hello,
      When using the below code, how do I smooth the edges?

      ` prompts = ["length", "Run","height","Rise","Total Rises"]
      defaults = [36.0,10.0,1.0,7.75,7]
      input = UI.inputbox prompts, defaults, "Tread."

      if input == false
      UI.messagebox("All Must Be Entered")
      else
        a,b,c,d,e=input
      #UI.messagebox("Tread input accepted!, #{input}!")
      end
      
      
      ent = Sketchup.active_model.entities
      

      for i in 0..e-1
      ent.add_line [0,(b+1)+ib,0+id-1],[0,(1.5+ib),0+id-1]
      ent.add_line [0,1.5+ib,0+id-1],[0,1.5+ib,-d+(id)-1]
      ent.add_line [0,1+ib,0+id-1],[0,1+ib,-d+(id)-1]
      ent.add_line [0,1+ib,-d+(id)-1],[0,1.5+ib,-d+(id)-1]
      ent.add_line [0,1+ib,-1+id],[0,0.5+ib,-1+id]
      ent.add_arc [0,0.5+ib,-c/2.0+(id)],[0,0,-1],[-1,0,0],c/2.0,0,180.degrees,20
      ent.add_line [0,0.5+ib,0+id],[0,b+(ib)+1,0+id]
      edg=ent.add_line [0,b+1+ib,-c+id],[0,b+1+ib,0+id]
      edg.find_faces; face=edg.faces[0]

      # #face = ent.add_face [0,0,0], [a,0,0], [a,b,0], [0,b,0]
      #face.reverse!
       face.pushpull -a
      

      edg.soft="true"

      #group1 = ent.add_group face.all_connected
      end
      #group1_copy = group1.parent.entities.add_instance(group1.entities.parent, group.transformation)`
      Before Smooth

      https://drive.google.com/file/d/0ByXxMRXssekcaDdGRTJaN013dHc/view?usp=sharing

      After Smooth

      https://drive.google.com/file/d/0ByXxMRXssekcNC1GOWxRQTZWMmM/view?usp=sharing

      edg.soft="true" doesn't appear to do anything
      Thanks

      #<----- where changes and additions were made

      prompts = ["length", "Run","height","Rise","Total Rises"]
      defaults = [36.0,10.0,1.0,7.75,7]
      input = UI.inputbox prompts, defaults, "Tread."
      
      
      if input == false
      UI.messagebox("All Must Be Entered")
      else
      a,b,c,d,e=input
      #UI.messagebox("Tread input accepted!, #{input}!")
      end
      
      
      ent = Sketchup.active_model.entities
      for i in 0..e-1
      ent.add_line [0,(b+1)+i*b,0+i*d-1],[0,(1.5+i*b),0+i*d-1]
      ent.add_line [0,1.5+i*b,0+i*d-1],[0,1.5+i*b,-d+(i*d)-1]
      ent.add_line [0,1+i*b,0+i*d-1],[0,1+i*b,-d+(i*d)-1]
      ent.add_line [0,1+i*b,-d+(i*d)-1],[0,1.5+i*b,-d+(i*d)-1]
      edg = ent.add_line [0,1+i*b,-1+i*d],[0,0.5+i*b,-1+i*d];vrt1=edg.end#<-----
      ent.add_arc [0,0.5+i*b,-c/2.0+(i*d)],[0,0,-1],[-1,0,0],c/2.0,0,180.degrees,20
      edg = ent.add_line [0,0.5+i*b,0+i*d],[0,b+(i*b)+1,0+i*d];vrt2=edg.start#<----_
      edg=ent.add_line [0,b+1+i*b,-c+i*d],[0,b+1+i*b,0+i*d]
      edg.find_faces; face=edg.faces[0]
      
      # #face = ent.add_face [0,0,0], [a,0,0], [a,b,0], [0,b,0]
      #face.reverse!
      face.pushpull -a
      edgs=vrt1.edges.reject!{|e| e.length<a};edgs[0].soft=true#<-----
      edgs=vrt2.edges.reject!{|e| e.length<a};edgs[0].soft=true#<-----
      # edg.soft="true"
      #group1 = ent.add_group face.all_connected
      end 
      #group1_copy = group1.parent.entities.add_instance(group1.entities.parent, group.transformation)
      

      Nothing is worthless, it can always be used as a bad example.

      http://sdmitch.blogspot.com/

      1 Reply Last reply Reply Quote 0
      • K Offline
        ktkoh
        last edited by 3 Nov 2014, 13:20

        sdmitch

        I am trying to learn from you code. How is the smoothing only applied to the edges created by the add arc? It needs some English description if you will!!

        Keith

        1 Reply Last reply Reply Quote 0
        • S Offline
          sdmitch
          last edited by 3 Nov 2014, 13:51

          @ktkoh said:

          sdmitch

          I am trying to learn from you code. How is the smoothing only applied to the edges created by the add arc? It needs some English description if you will!!

          Keith

          I save the vertices, vrt1 and vrt2, at the beginning and end of the arc. Then I look at all the edges associated with those vertices and eliminate all that are not the proper length. This leaves me with a single edge that is softened.

          Nothing is worthless, it can always be used as a bad example.

          http://sdmitch.blogspot.com/

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

          Advertisement