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

    New API doc - typos and questions

    Scheduled Pinned Locked Moved Developers' Forum
    370 Posts 35 Posters 355.4k Views 35 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.
    • daikuD
      daiku
      last edited by

      @thomthom said:

      Face.plane
      http://code.google.com/apis/sketchup/docs/ourdoc/face.html#plane

      @unknownuser said:

      The plane method is used to retrieve the plane of the face. See the Array class for information on how planes are stored.

      It's unclear where this information is. I don't see it.

      From the Geom module:
      The plane is returned as an Array of 4 numbers which are the coefficients of the plane equation Ax + By + Cz + D = 0.

      Along with this helpful tidbit:
      NOTE: Lines and Planes are infinite. There are several good books on 3D math if you are new to the concepts of a line, plane, and vector.
      But if you go back to your high-school geometry text book (or google "plane equation") you'll find something like this:
      [a,b,c] will give a normal vector to the plane, and the normal distance from the origin is given by d / sqrt( a^2 + b^2 +c^2)

      Clark Bremer
      http://www.northernlightstimberframing.com

      1 Reply Last reply
      Reply Quote 0
      • thomthomT
        thomthom
        last edited by

        Ah, it referred to the wrong module.

        Thomas Thomassen — SketchUp Monkey & Coding addict
        List of my plugins and link to the CookieWare fund

        1 Reply Last reply
        Reply Quote 0
        • thomthomT
          thomthom
          last edited by

          Tool.onSetCursor
          http://code.google.com/apis/sketchup/docs/ourdoc/tool.html#onSetCursor

          It says that it returns the view as an argument. When I do that I get an wrong number of arguments(0 for 1) error. When I leave the argument out everything works.

          Another note;

          @unknownuser said:

          The onSetCursor method is called by SketchUp when the tool wants to set the cursor. If your tool needs to have more than one cursor, then you will need to implement this method, but if it only has one you can set the cursor in the activate method.

          It says that UI.set_cursor(id) can be called from the activate method of the tool if you only have one cursor. When I try that the cursor briefly flickers then reverts back to the default arrow.

          Thomas Thomassen — SketchUp Monkey & Coding addict
          List of my plugins and link to the CookieWare fund

          1 Reply Last reply
          Reply Quote 0
          • daikuD
            daiku
            last edited by

            I just want to take a second to thank Thomas for his diligence in finding and documenting these inconsistencies. It's really going to make life easier for a lot of folks. CB.

            Clark Bremer
            http://www.northernlightstimberframing.com

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

              Just noticed that 'behavior' has some typos in the examples - '.xxx =' rather than '.xxx=' ...

              behavior.always_face_camera = NOT behavior.always_face_camera=
              behavior.cuts_opening = NOT behavior.cuts_opening=
              behavior.is2d = NOT behavior.is2d=
              behavior.no_scale_mask = NOT behavior.no_scale_mask=
              behavior.shadows_face_sun = NOT behavior.shadows_face_sun=
              behavior.snapto = NOT behavior.snapto=

              ...

              TIG

              1 Reply Last reply
              Reply Quote 0
              • thomthomT
                thomthom
                last edited by

                What? Whitespace matters?
                I always put space between = .I believe that I used .is2d = for my doublecut plugin, and that appeared to work as expected...

                Thomas Thomassen — SketchUp Monkey & Coding addict
                List of my plugins and link to the CookieWare fund

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

                  You are right in that it works... BUT the method is behavior.is2d= I thinks it's advisable to keep it like that...

                  TIG

                  1 Reply Last reply
                  Reply Quote 0
                  • thomthomT
                    thomthom
                    last edited by

                    So this is a ruby thing? That the = is part of the method name? What about other operations where you use * - + / etc?
                    (I'm used to languages such as Javascript, PHP, VB, C# - still getting to grips with Ruby.)

                    Thomas Thomassen — SketchUp Monkey & Coding addict
                    List of my plugins and link to the CookieWare fund

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

                      All of these, a = 2, a= 2, a =2 and a=2 work fine, as do 1 + 2 and 1+2, but I think with methods it's at least advisable to stick to the way it's defined, like xxx.is2d= true and xxx.include?(4) etc...

                      It works either way, but...

                      TIG

                      1 Reply Last reply
                      Reply Quote 0
                      • J
                        Jim
                        last edited by

                        @thomthom said:

                        So this is a ruby thing? That the = is part of the method name? What about other operations where you use * - + / etc?
                        (I'm used to languages such as Javascript, PHP, VB, C# - still getting to grips with Ruby.)

                        Yes, those are all methods. also [] and []= are methods. You can define them for you own classes, as well as modify them for existing classes.

                        
                        class Array
                          def [](index)
                            return self[-index] # ha ha.
                          end
                        end
                        
                        

                        Hi

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

                          Behavior.snapto

                          I see two problems with the documentation of this method (I would like to call it a property, but that is probably my C# habit talking):

                          The "Returns:" section says it returns true or false, but it actually returns one of the 4 values listed in the description above "Returns:" (the default seems to be SnapTo_Arbitrary). The first sentence of the description ("The snapto method is used to verify the status of a component's "snap to" behavior.") also implies that the return value is a status, not the actual "snap to" selection.

                          It would be very helpful if the documentation of this method would make it clear that the value of Behavior.snapto works in conjunction with the value of Behavior.is2d to set the "glue to" behavior. If is2d equals false, the component will not glue to anything, no matter what value snapto returns. If is2d equals true, the component will glue to faces matching the snapto value.

                          I don’t think it is at all clear that these two (snapto and is2d) are related. It would be helpful to include a reference to snapto in the description of is2d, also.

                          This second issue applies equally, if not more, to the snapto= and is2d= methods.

                          1 Reply Last reply
                          Reply Quote 0
                          • J
                            Jim
                            last edited by

                            Pages.add should contain some of this information about the meaning of the flags argument.

                            [ and also, Pages.add returns a Page object, not nil. ]

                            
                            # The Page Constants
                            Object.constants.grep /^pag/i
                            ["PAGE_USE_SECTION_PLANES", "PAGE_USE_ALL", "PAGE_NO_CAMERA", "PAGE_USE_CAMERA", "PAGE_USE_RENDERING_OPTIONS", "PAGE_USE_SHADOWINFO", "PAGE_USE_SKETCHCS", "PAGE_USE_HIDDEN", "PAGE_USE_LAYER_VISIBILITY"]
                            
                            
                            
                            model = Sketchup.active_model
                            pages = model.pages
                            index = 0
                            page = pages.add("New Page", PAGE_USE_ALL, index)
                            
                            

                            If you want to pick and choose which options, bitwise OR ( | ) the options together:

                            
                            model = Sketchup.active_model
                            pages = model.pages
                            index = 0
                            page = pages.add("New Page", (PAGE_USE_HIDDEN|PAGE_USE_CAMERA), index)
                            
                            

                            Hi

                            1 Reply Last reply
                            Reply Quote 0
                            • J
                              Jim
                              last edited by

                              View.write_image

                              From my tests, write_image will accept several common image formats - .jpg, .bmp, .png at least. There is no mention of this in the docu. Just include the extension in the filename - as in "path/to/my_image.png"

                              If you do not provide the optional width or height, the image uses the View Size for the written image.

                              write_image returns true on success or false on failure, not nil (from my experience.)

                              Hi

                              1 Reply Last reply
                              Reply Quote 0
                              • thomthomT
                                thomthom
                                last edited by

                                Entities.add_arc
                                http://code.google.com/apis/sketchup/docs/ourdoc/entities.html#add_arc

                                @unknownuser said:

                                Returns:
                                arccurve
                                an ArcCurve object if successful

                                It returns an array of edges instead.

                                Thomas Thomassen — SketchUp Monkey & Coding addict
                                List of my plugins and link to the CookieWare fund

                                1 Reply Last reply
                                Reply Quote 0
                                • A
                                  avariant
                                  last edited by

                                  PolygonMesh.uv_at

                                  Arguments;  
                                  index    The index for the texture coordinate.
                                  

                                  Doesn't include the second argument, which is true for front face coordinates, false for back face.

                                  PolygonMesh.uvs
                                  Doesn't include the required argument, true for front face coordinates, false for back face.

                                  1 Reply Last reply
                                  Reply Quote 0
                                  • thomthomT
                                    thomthom
                                    last edited by

                                    Camera.set
                                    http://code.google.com/apis/sketchup/docs/ourdoc/camera.html#set

                                    @unknownuser said:

                                    The initialize method is deprecated. It essentially does the same thing as Camera.set.

                                    Camera.set does what Camera.set does? ... "Spider Pig! Spider Pig! Does whatever piderpigs does."

                                    Thomas Thomassen — SketchUp Monkey & Coding addict
                                    List of my plugins and link to the CookieWare fund

                                    1 Reply Last reply
                                    Reply Quote 0
                                    • thomthomT
                                      thomthom
                                      last edited by

                                      View.pickray
                                      http://code.google.com/apis/sketchup/docs/ourdoc/view.html#pickray

                                      @unknownuser said:

                                      The pickray method is used to retrieve a ray passing through a given screen position in the viewing direction.

                                      Returns:
                                      ray
                                      a ray

                                      The "ray" is a Line; Array [Point3D, Vector3D] and the Point3D is the camera.eye.

                                      Thomas Thomassen — SketchUp Monkey & Coding addict
                                      List of my plugins and link to the CookieWare fund

                                      1 Reply Last reply
                                      Reply Quote 0
                                      • Chris FullmerC
                                        Chris Fullmer
                                        last edited by

                                        I hope Scott stops by soon. He's got a lot of stuff here to pick up 😄

                                        Chris

                                        Lately you've been tan, suspicious for the winter.
                                        All my Plugins I've written

                                        1 Reply Last reply
                                        Reply Quote 0
                                        • thomthomT
                                          thomthom
                                          last edited by

                                          Looking back at this thread I can trail the subjects I was looking into while making plugins. Like breadcrumbs. 😄

                                          Thomas Thomassen — SketchUp Monkey & Coding addict
                                          List of my plugins and link to the CookieWare fund

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

                                            UI.menu lists the valid menus titles, one is 'Create' isn't it 'Draw' ?

                                            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
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 18
                                            • 19
                                            • 3 / 19
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement