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

    New API doc - typos and questions

    Scheduled Pinned Locked Moved Developers' Forum
    370 Posts 35 Posters 256.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.
    • thomthomT Offline
      thomthom
      last edited by

      I have the mental image of Scott drowning in printouts from this thread... πŸ˜’ πŸ˜†

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

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

        Oh, I think there is a completely undocumented UTM class in there somewhere under Geom.

        Hi

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

          @jim said:

          Oh, I think there is a completely undocumented UTM class in there somewhere under Geom.

          hm.. all I can find out about that one is:
          Geom::UTM.instance_methods.sort.join("\n") (eval):894: warning: instance_methods: parameter will default to 'true' as of 1.8.1 to_a to_latlong to_s x y zone_letter zone_number

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

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

            View.show_frame

            Documentation for this method contains some poorly-parsed html tags.

            Hi

            1 Reply Last reply Reply Quote 0
            • Dan RathbunD Offline
              Dan Rathbun
              last edited by

              @thomthom said:

              @jim said:

              Oh, I think there is a completely undocumented UTM class in there somewhere under Geom.

              hm.. all I can find out about that one is:
              Geom::UTM.instance_methods.sort.join("\n")... snip ...

              from Wikipedia search on "UTM":
              Universal Transverse Mercator coordinate system, a grid-based method of mapping locations on the surface of the Earth.
              http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system
              _

              I'm not here much anymore.

              1 Reply Last reply Reply Quote 0
              • Dan RathbunD Offline
                Dan Rathbun
                last edited by

                Model.get_product_family
                http://code.google.com/apis/sketchup/docs/ourdoc/model.html#get_product_family

                @unknownuser said:

                Returns a constant number which indicates the product family of the installed SketchUp application.

                This is an Application related attribute, why is it part of the Model class?

                This should be a method of the Sketchup module as in: Sketchup.get_product_family
                _

                I'm not here much anymore.

                1 Reply Last reply Reply Quote 0
                • Dan RathbunD Offline
                  Dan Rathbun
                  last edited by

                  Model.export
                  http://code.google.com/apis/sketchup/docs/ourdoc/model.html#export

                  @unknownuser said:

                  options_hash______ A hash containing the COLLADA (.dae) export options.

                  The options listed in the hash example is missing the option for hidden geometry.
                  The Registry Attribute Name is "ExportHiddenGeometry", but what is the options hash key?

                  • hiddengeometry ?* hidden_geometry ?
                    _

                  I'm not here much anymore.

                  1 Reply Last reply Reply Quote 0
                  • Dan RathbunD Offline
                    Dan Rathbun
                    last edited by

                    Set class
                    http://code.google.com/apis/sketchup/docs/ourdoc/set.html

                    This class is defined in the Objectspace and should be listed under "Core Ruby Classes" (along with Array, Length, Numeric and String.)

                    Instead it's buried under "App Level Classes" and listed with all those classes that are defined inside the Sketchup module.
                    _

                    I'm not here much anymore.

                    1 Reply Last reply Reply Quote 0
                    • Dan RathbunD Offline
                      Dan Rathbun
                      last edited by

                      OptionsProviderObserver.onOptionsProviderChanged
                      http://code.google.com/apis/sketchup/docs/ourdoc/optionsproviderobserver.html#onOptionsProviderChanged

                      @unknownuser said:

                      The onOptionsProviderChanged method is invoked when an element is added to an Pages object.

                      Should read, "The onOptionsProviderChanged method is invoked when an option is changed for an OptionsProvider object."
                      _

                      I'm not here much anymore.

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

                        Entities.add_curve
                        http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/entities.html#add_curve

                        Returns an array of edges - not a Curve object.

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

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

                          @thomthom said:

                          Entities.add_curve
                          http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/entities.html#add_curve

                          Returns an array of edges - not a Curve object.

                          Ita's the same as add_circle which returns an array od edges and to find the just made curves curve you use edges=entities.add_curve(array_of_points) curve=edges[0].curve
                          But strangely not with add_arc which returns an ArcCurve ?

                          It would be unadvisable to change what the API does with these add_ methods - rather it we should keep it as is and fix the API's Guide to reflect it properly - too many scripts already get the curve from the edges array and would fail if it were updated to return the curve not the curve's edges...

                          TIG

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

                            @tig said:

                            But strangely not with add_arc which returns an ArcCurve ?

                            Nope, also returns an array.

                            @tig said:

                            It would be unadvisable to change what the API does with these add_ methods

                            Agree.

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

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

                              @thomthom said:

                              @tig said:

                              But strangely not with add_arc which returns an ArcCurve ?

                              Nope, also returns an array.

                              @tig said:

                              It would be unadvisable to change what the API does with these add_ methods

                              Agree.

                              Perhaps I meant to say, "... add_arc which says it returns an ArcCurve wrongly!" πŸ˜’

                              TIG

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

                                Sketchup.write_default
                                Sketchup.read_default
                                http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/sketchup.html#write_default
                                http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/sketchup.html#read_default

                                @unknownuser said:

                                [..] the string associated with a value within the specified sub-section section of a .INI file or registry (within the Software > @Last Software > SketchUp section).

                                Is it really stored under @Last any more?

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

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

                                  @thomthom said:

                                  Sketchup.write_default
                                  Sketchup.read_default
                                  http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/sketchup.html#write_default
                                  http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/sketchup.html#read_default

                                  @unknownuser said:

                                  [..] the string associated with a value within the specified sub-section section of a .INI file or registry (within the Software > @Last Software > SketchUp section).

                                  Is it really stored under @Last any more?

                                  No, / Google / Sketchup 7 / etc... πŸ˜‰

                                  TIG

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

                                    Group.move!
                                    http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/group.html#move!

                                    .move! moves to an absolute point. Worth noting in the manual.

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

                                    1 Reply Last reply Reply Quote 0
                                    • Dan RathbunD Offline
                                      Dan Rathbun
                                      last edited by

                                      Geom::Point3d.+
                                      http://code.google.com/apis/sketchup/docs/ourdoc/point3d.html#+

                                      @unknownuser said:

                                      The '+' operator is a fast way to add to the current x, y and z values of a point, or to set the values of a point by adding to other points together.
                                      The end of the sentence should read, "...by adding **two** other points together."

                                      @unknownuser said:

                                      Returns:
                                      vector a Vector object
                                      There is no defined object named 'vector'. If we follow the example the class of the result is given as Geom::Point3d.

                                      pt2 = Geom;;Point3d.new(100,200,300)
                                      pt3 = pt2 + [1,1,1]
                                      >> Point3d(101, 201, 301)
                                      pt3.class
                                      >> Geom;;Point3d
                                      

                                      @unknownuser said:

                                      Arguments:
                                      point2 A Point3d object.
                                      An ArugemtError exception is raised if point2 is a Point3d object.
                                      Valid argument classes are: Array or Vector3d. This means to use a Point3d as an argument, you must convert to Array. Example:

                                      pt3 = pt1 + pt2.to_a
                                      

                                      This method needs to be fixed to take a Point3d object and internally convert it to an Array...

                                      # internal to + method
                                      if arg[0].is_a? Point3d { arg[0]=arg[0].to_a }
                                      

                                      ...or a Vector3d:

                                      # internal to + method
                                      if arg[0].is_a? Point3d { arg[0]=[0,0,0].vector_to(arg[0]) }
                                      

                                      either way. The current implementation is clumsy.

                                      I'm not here much anymore.

                                      1 Reply Last reply Reply Quote 0
                                      • Dan RathbunD Offline
                                        Dan Rathbun
                                        last edited by

                                        **Geom::Point3d.-**
                                        http://code.google.com/apis/sketchup/docs/ourdoc/point3d.html#-

                                        @unknownuser said:

                                        Returns:
                                        vector a Vector object
                                        There is no defined object named 'vector', but there IS one named ' Vector3d'. If we follow the example the class of the result is given as Geom::Vector3d.

                                        pt2 = Geom;;Point3d.new(100,200,300)
                                        pt3 = pt2 - [1,1,1]
                                        >> Vector3d(99, 199, 299)
                                        pt3.class
                                        >> Geom;;Vector3d
                                        

                                        It seems a bit strange that + returns Point3d, but - returns Vector3d.

                                        I'm not here much anymore.

                                        1 Reply Last reply Reply Quote 0
                                        • Dan RathbunD Offline
                                          Dan Rathbun
                                          last edited by

                                          Geom::Point3d.offset
                                          Code example has errors:
                                          [line1]replace"point ="with"point1 ="
                                          [line1]use parameter delimiters both lines
                                          [line3]replace".offset**!**"with".offset"
                                          add comments
                                          Corrected code:

                                          
                                          point1 = Geom;;Point3d.new(10,10,10)
                                          vector = Geom;;Vector3d.new(0,0,1)
                                          point2 = point1.offset vector
                                          # point1 is unchanged
                                          # point2 is Point3d(10, 10, 11)
                                          
                                          

                                          Geom::Point3d.offset!
                                          Code example has errors:
                                          [line1]replace"point ="with"point1 ="
                                          [line1]use parameter delimiters both lines
                                          add comments

                                          
                                          point1 = Geom;;Point3d.new(10,10,10)
                                          vector = Geom;;Vector3d.new(0,0,1)
                                          point2 = point1.offset! vector
                                          # point1 now equals point2
                                          # point2 is Point3d(10, 10, 11)
                                          
                                          

                                          I'm not here much anymore.

                                          1 Reply Last reply Reply Quote 0
                                          • Dan RathbunD Offline
                                            Dan Rathbun
                                            last edited by

                                            Geom::Vector3d.x=
                                            http://code.google.com/apis/sketchup/docs/ourdoc/vector3d.html#x=
                                            Geom::Vector3d.y=
                                            http://code.google.com/apis/sketchup/docs/ourdoc/vector3d.html#y=
                                            Geom::Vector3d.z=
                                            http://code.google.com/apis/sketchup/docs/ourdoc/vector3d.html#z=

                                            #Anchors: '=' char should be replaced with 'equals' in links.

                                            All 3 methods suffer from the same return class anomoly as the Vector3d.[]= method, in that they return the class of the argument (which may not always be Float.) In contrast, the .x, .y and .z methods always return class Float.
                                            Propose that the .x=, .y= and .z= methods should be modified to return Float as the .x, .y and .z methods do.

                                            Propose to add note: "See the **.set!** method to set all three coordinates in one statement." ( .. to the description sections, of each of the three methods.)

                                            I'm not here much anymore.

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

                                            Advertisement