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

    New API doc - typos and questions

    已排程 已置頂 已鎖定 已移動 Developers' Forum
    370 貼文 35 Posters 256.4k 瀏覽 35 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • daikuD 離線
      daiku
      最後由 編輯

      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 條回覆 最後回覆 回覆 引用 0
      • TIGT 離線
        TIG Moderator
        最後由 編輯

        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 條回覆 最後回覆 回覆 引用 0
        • thomthomT 離線
          thomthom
          最後由 編輯

          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 條回覆 最後回覆 回覆 引用 0
          • TIGT 離線
            TIG Moderator
            最後由 編輯

            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 條回覆 最後回覆 回覆 引用 0
            • thomthomT 離線
              thomthom
              最後由 編輯

              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 條回覆 最後回覆 回覆 引用 0
              • TIGT 離線
                TIG Moderator
                最後由 編輯

                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 條回覆 最後回覆 回覆 引用 0
                • J 離線
                  Jim
                  最後由 編輯

                  @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 條回覆 最後回覆 回覆 引用 0
                  • M 離線
                    MarkBergaas
                    最後由 編輯

                    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 條回覆 最後回覆 回覆 引用 0
                    • J 離線
                      Jim
                      最後由 編輯

                      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 條回覆 最後回覆 回覆 引用 0
                      • J 離線
                        Jim
                        最後由 編輯

                        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 條回覆 最後回覆 回覆 引用 0
                        • thomthomT 離線
                          thomthom
                          最後由 編輯

                          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 條回覆 最後回覆 回覆 引用 0
                          • A 離線
                            avariant
                            最後由 編輯

                            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 條回覆 最後回覆 回覆 引用 0
                            • thomthomT 離線
                              thomthom
                              最後由 編輯

                              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 條回覆 最後回覆 回覆 引用 0
                              • thomthomT 離線
                                thomthom
                                最後由 編輯

                                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 條回覆 最後回覆 回覆 引用 0
                                • Chris FullmerC 離線
                                  Chris Fullmer
                                  最後由 編輯

                                  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 條回覆 最後回覆 回覆 引用 0
                                  • thomthomT 離線
                                    thomthom
                                    最後由 編輯

                                    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 條回覆 最後回覆 回覆 引用 0
                                    • TIGT 離線
                                      TIG Moderator
                                      最後由 編輯

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

                                      TIG

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • RunnerPackR 離線
                                        RunnerPack
                                        最後由 編輯

                                        @unknownuser said:

                                        Point3d.offset (http://code.google.com/apis/sketchup/docs/ourdoc/point3d.html#offset) Description of the length parameter:

                                        (optional) the distance to offset. If not provided, the offset is my a distance equal to the vector length.

                                        Suggestion:

                                        The (optional) offset distance. If not provided, the point is offset a distance equal to the vector's length.

                                        You might have noticed... I'm a bit of a ferpectionist.

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • thomthomT 離線
                                          thomthom
                                          最後由 編輯

                                          Face.mesh
                                          http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/face.html#mesh

                                          @unknownuser said:

                                          The mesh method creates a polygon mesh that represents the face. See the PolygonMesh class for more information.

                                          Valid flags are:

                                          * 0: Include PolygonMeshPoints,
                                          * 1: Include PolygonMeshUVQFront,
                                          * 2: Include PolygonMeshUVQBack,
                                          * 4: Include PolygonMeshNormals.
                                          

                                          Add these numbers together to combine flags. A value of 5 will include all flags, for example.

                                          The example uses 7. Typo or undocumented feature?

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

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • A 離線
                                            avariant
                                            最後由 編輯

                                            @thomthom said:

                                            The example uses 7. Typo or undocumented feature?

                                            You can bit-wise OR the options together. 7 means 4 + 2 + 1, so normals, front UV, and back UV.

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 18
                                            • 19
                                            • 6 / 19
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement