sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    ⚠️ Update | Sketchucation Tools 5.0.8 released with licensing improvements and bugfixes Download

    HELP WITH THIS CODE, please?

    Scheduled Pinned Locked Moved Developers' Forum
    5 Posts 3 Posters 518 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
      DIEGO-RODRIGUEZ
      last edited by DIEGO-RODRIGUEZ

      can someone tell me how to correct this code?
      Gracias.
      elcorto Argentina

      model = Sketchup.active_model
      entities = model.active_entities

      pz=[]

      pz[0]=[0,-100.mm,0]
      pz[1]=[100.mm,-100.mm,0]
      pz[2]=[100.mm,-81.mm,0]
      pz[3]=[0,-81.mm,0]

      edges = entities.add_edges([0, 560.mm, 0],[600.mm,560.mm,0],[600.mm,560.mm,720.mm],[0, 560.mm, 720.mm],[0, 560.mm, 0])

      facez = entities.add_face pz
      facez.followme(edges)

      http://img5.imageshack.us/img5/1426/82709271.jpg

      By elcorto at 2009-04-21



      entities = model.active_entities
      
      ancho = 600.mm 
      alto = 720.mm 
      n = 24
      r = 100.mm  
      
      
      edges = entities.add_edges([0, 0, 0],[ancho/2,0, 0],[ancho,0,0],[ancho, 0, alto],[0, 0, alto],[0, 0, 0],[ancho/2, 0, 0])
      circle = entities.add_circle([0,ancho/2,0], X_AXIS, r, n)
      base = entities.add_face(circle)
      base.followme(edges)  
      

      end

      http://img220.imageshack.us/img220/8352/72683910.jpg

      By elcorto at 2009-04-21

      1 Reply Last reply
      Reply Quote 0
      • M
        mattscar
        last edited by

        In the first case, you should should create a curve instead of an array of Edges. Replace

        edges = entities.add_edges([0, 560.mm, 0],[600.mm,560.mm,0],[600.mm,560.mm,720.mm],[0, 560.mm, 720.mm],[0, 560.mm, 0])
        

        with

        edges = entities.add_curve([0, 560.mm, 0],[600.mm,560.mm,0],[600.mm,560.mm,720.mm],[0, 560.mm, 720.mm],[0, 560.mm, 0])
        

        In the second case, it looks like you want the base to be a semi-circle instead of a circle. You should replace

        circle = entities.add_circle([0,ancho/2,0], X_AXIS, r, n)
        base = entities.add_face(circle)
        

        with

        
        arc = entities.add_arc([0,ancho/2,0], [0, 0, 1], X_AXIS, r, 0.degrees, 180.degrees, n)
        arc << entities.add_line(arc[arc.length-1].end, arc[0].start)
        base = entities.add_face(arc)
        

        Hope this at least gets you closer to solving your problems.

        Matt

        1 Reply Last reply
        Reply Quote 0
        • D
          DIEGO-RODRIGUEZ
          last edited by

          muchisimas gracias por tu ayuda.

          1 Reply Last reply
          Reply Quote 0
          • D
            DIEGO-RODRIGUEZ
            last edited by

            How can I put the two codes in a single dialog box?
            And HOW DO PARAMETER?


            choose=[ "Frente 1", "Frente 2" ]
            enums=[choose.join("|")]
            prompts=[ "TIPO", "Ancho", "Alto", "Espesor"]
            values=[@choose, 600.mm, 709.mm, 19.mm]
            results=inputbox prompts, values, enums, "Parametros del frente"
            return if not results
            @choose, $a, $b, $c=results

            ###########Frente 1
            pz=[]
            pz[0]=[0,0,0]
            pz[1]=[100.mm,0,0]
            pz[2]=[100.mm,-c,0]
            pz[3]=[0,-c,0]
            edges = entities.add_curve([0, 560.mm, 0],[a,560.mm,0],[a,560.mm,b],[0, 560.mm, b],[0, 560.mm, 0])
            facez = entities.add_face pz
            facez.followme(edges)

            ###########Frente 2
            ancho = 600.mm
            alto = 709.mm
            n = 24
            r = 19.mm

            edges = entities.add_edges([0, 0, 0],[ancho/2,0, 0],[ancho,0,0],[ancho, 0, alto],[0, 0, alto],[0, 0, 0],[ancho/2, 0, 0])

            arc = entities.add_arc([0,ancho/2,0], [0, 0, 1], X_AXIS, r, 0.degrees, 180.degrees, n)
            arc << entities.add_line(arc[arc.length-1].end, arc[0].start)
            base = entities.add_face(arc)
            base.followme(edges)


            Muchas gracias.

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

              If you don't use @xxx in front of the variable name it will work - xxx. If you use @xxx the last values you entered are remembered. Don't mix @xxx and $xxx like this - I recommend you stay with @xxx. However, you must assign the @xxx values before the dialog first runs - like this [###=changes]

              
              choose=[ "Frente 1", "Frente 2" ]
              @choose="Frente 1" ### set initial [default] @choose
              enums=[choose.join("|")] ### you just could use emuns=["Frente 1|Frente 2"]
              prompts=["TIPO","Ancho","Alto","Espesor"]
              @a=600.mm if not @a ### set defaults for @a - any changes to @a will be remembered for that session of SUp...
              @b=709.mm if not @b ###
              @c=19.mm if not @c  ###
              values=[@choose, @a, @b, @c]###
              results=inputbox(prompts,values,enums,"Parametros del frente")
              return nil if not results ### 'nil'
              @choose,@a,@b,@c=results ### $a >>> @a etc
              ########### Frente 1
              pz=[]
              pz[0]=[0,0,0]
              pz[1]=[100.mm,0,0]
              pz[2]=[100.mm,-@c,0]###
              pz[3]=[0,-@c,0]###
              edges=entities.add_curve([0,560.mm,0],[@a,560.mm,0],[@a,560.mm,@b],[0,560.mm,@b],[0,560.mm,0])### a >>> @a etc
              facez=entities.add_face(pz)
              facez.followme(edges)
              ### etc etc
              
              

              TIG

              1 Reply Last reply
              Reply Quote 0

              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

              With your input, this post could be even better 💗

              Register Login
              • 1 / 1
              • First post
                Last post
              Buy SketchPlus
              Buy SUbD
              Buy WrapR
              Buy eBook
              Buy Modelur
              Buy Vertex Tools
              Buy SketchCuisine
              Buy FormFonts

              Advertisement