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

      The id for the anchor is invalid.

      The correct format is:
      http://www.w3.org/TR/html4/types.html#type-name

      @unknownuser said:

      ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

      There are a number of other HTML errors as well. They use a XHTML doctype, but empty elements is not closed with />. Looks like HTML is used - despite the doctype.

      The HTTP header claims characterset ISO-8859-1 while the META tag claims UTF-8

      Characters isn't escaped properly, such as the < character in the method list. (line 342)

      Run it through the validator and see 67 errors. http://validator.w3.org/check?uri=http%3A%2F%2Fcode.google.com%2Fintl%2Fnb%2Fapis%2Fsketchup%2Fdocs%2Fourdoc%2Fpoint3d.html&charset=%28detect+automatically%29&doctype=Inline&ss=1&group=0&user-agent=W3C_Validator%2F1.654#line-342

      No wonder things isn't always working when there's so much invalid markup.

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

      1 Reply Last reply Reply Quote 0
      • scottliningerS Offline
        scottlininger
        last edited by

        Thanks for all the feedback, Dan! Keep 'em coming.

        • Scott Lininger
          SketchUp Software Engineer
          Have you visited the Ruby API Docs?
        1 Reply Last reply Reply Quote 0
        • thomthomT Offline
          thomthom
          last edited by

          @unknownuser said:

          Thanks for all the feedback, Dan! Keep 'em coming.

          How is your to-do list compared to Santa's list? πŸ˜†

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

          1 Reply Last reply Reply Quote 0
          • scottliningerS Offline
            scottlininger
            last edited by

            Santa's got nothing on me. πŸ˜‰

            • Scott Lininger
              SketchUp Software Engineer
              Have you visited the Ruby API Docs?
            1 Reply Last reply Reply Quote 0
            • thomthomT Offline
              thomthom
              last edited by

              Edge.reversed_in?
              http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/edge.html#reversed_in?

              Why is the example using a begin rescue structure? Does it on occasion cause errors?

              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

                The class Sketchup::HLR is undocumented in the API.

                It's an Entity subclass.
                It inherits all the Entity baseclass methods, and adds 2 of it's own:

                • .calculate* .num_faces

                If you create a HLR object at the console, and call .parent (when it has no parent) a BUG SPLAT! results. See post: http://forums.sketchucation.com/viewtopic.php?f=11&t=24740#p212101

                What is this class HLR used for? (.. as there is no .add_HLR method for the Entities collection object.)

                I'm not here much anymore.

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

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

                  The example given isn't a good one. From my observations, clipping occurs only when you draw outside the model boundary. So returning model.bounds is pointless.

                  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

                    Sketchup.send_action
                    http://code.google.com/apis/sketchup/docs/ourdoc/sketchup.html#send_action

                    You can toggle the StatusBar on/off in Ruby (PC only?) via:
                    Sketchup.send_action(59393)

                    The following have no effect on my PC in SU ver 7.1.x:
                    Sketchup.send_action(21019) hide Status bar and VCB
                    Sketchup.send_action(21020) show Status bar and VCB
                    Sketchup.send_action(21022) hide Status bar and VCB?
                    ..whereas the above id 59393 does work for just the StatusBar.

                    [ NOTE: I've moved my VCB up to the 2nd line of the Top Toolbar Container in 2nd position after the Layers toolbar, so I'd not want the VCB turned off with the StatusBar anyhow. I see them as two different things. ]

                    I'm not here much anymore.

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

                      @dan rathbun said:

                      (An alternative... we might create tb_Name constantsunder the UI module that would be the same for both platforms.)

                      Here's an example, call it 'UI_tb_const.rb'

                      module UI
                      
                      #
                      # Example ONLY
                      #
                      
                      case Sketchup;;OS
                      when ;WIN
                      	#
                        tb_CAM = 'Camera'.freeze
                        tb_CONS = 'Construction'.freeze
                        tb_DISP = 'DisplayMode'.freeze
                        tb_DRAW = 'Drawing'.freeze
                        tb_EDIT = 'Edit'.freeze
                        tb_GETS = 'GettingStarted'.freeze
                        tb_GOOG = 'Google'.freeze
                        tb_LTS = 'LargeToolSet'.freeze
                        tb_LAYR = 'Layers'.freeze
                        tb_STD = 'Standard'.freeze
                        tb_TABS = 'SceneTabs'.freeze
                        tb_PRIN = 'Principle'.freeze # spelling!
                        tb_SBAR = 'StatusBar'.freeze
                        tb_SECT = 'Section'.freeze
                        tb_SHAD = 'Shadows'.freeze
                        tb_VIEW = 'StandardViews'.freeze
                        tb_VCB = 'VCB'.freeze
                        tb_WALK = 'Walk'.freeze
                      	#
                      when ;OSX
                      	#     what are the Mac Strings?
                        tb_CAM = 'Camera'.freeze
                        tb_CONS = 'Construction'.freeze
                        tb_DISP = 'DisplayMode'.freeze
                        tb_DRAW = 'Drawing'.freeze
                        tb_EDIT = 'Edit'.freeze
                        tb_GETS = 'GettingStarted'.freeze
                        tb_GOOG = 'Google'.freeze
                        tb_LTS = 'LargeToolSet'.freeze
                        tb_LAYR = 'Layers'.freeze
                        tb_STD = 'Standard'.freeze
                        tb_TABS = 'SceneTabs'.freeze
                        tb_PRIN = 'Principle'.freeze # spelling!
                        tb_SBAR = 'StatusBar'.freeze
                        tb_SECT = 'Section'.freeze
                        tb_SHAD = 'Shadows'.freeze
                        tb_VIEW = 'StandardViews'.freeze
                        tb_VCB = 'VCB'.freeze
                        tb_WALK = 'Walk'.freeze
                      	#
                      end # case
                      
                      end # module UI extension
                      

                      I'm not here much anymore.

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

                        UI.toolbar_names
                        http://code.google.com/apis/sketchup/docs/ourdoc/ui.html#toolbar_names

                        @unknownuser said:

                        The toolbar_names method is used to returns the name of all the available toolbars (this differs between PC and Mac).

                        (1) In the above sentence "returns" should be singular.

                        (2) I believe punctuation marks are supposed to go at the end of the words, ie: "Mac.)" not "Mac)." ...Language majors, confirm?

                        (3) It would nice if we are to do cross-platform scripts, that you list the names for PC and Mac in the API.

                        (4) UI.toolbar_names.sort on the PC, ver 7.1 returns:

                        ["Camera", "Construction", "DisplayMode", "Drawing", "Edit", "GettingStarted", "Google", "Principle", "Section", "Standard", "StandardViews", "VCB", "Walk"]
                        .
                        On the [Win32] Sketchup Menu: View > Toolbars(and toolbar captions):

                        • Principle is Principal* Edit is Modification* VCB is Measurements* StandardViews is Views* Section is Sections* DisplayMode is FaceStyle* Walk is Walkthrough
                          These are on the [Win32] Menu: View > Toolbars but, missing from the UI toolbar methods:

                        • LargeToolSet* Layers* SceneTabs (on View menu )* Shadows
                          Missing from View Menu and toolbar methods:

                        • StatusBar
                          (We can toggle it on/off [with send_action on PC], so might as well add it to the toolbar methods so we can test it's visiblilty, and use set_toolbar_visible for cross platform [if it can be toggled on MAC.])* If a user has the StatusBar off, a tool might want to instead display a messagebox if it must inform the user of some fact, so it needs to test whether it's on/off.

                        (5) This same Toolbar Name Identifier Set is used with the following methods, and have the same problems, missing Identifiers, etc.

                        • UI.set_toolbar_visible* UI.toolbar_visible?

                        So.. we don't mind variation in the toolbar names/symbols, so long as we know what that variation is.

                        (An alternative... we might create tb_Name constants under the UI module that would be the same for both platforms.)

                        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/apis/sketchup/docs/ourdoc/entities.html#add_curve

                          @unknownuser said:

                          Returns:
                          curve a Curve object if successful

                          SU7.1M1 PC returns an array of edges. Other versions untested. I'm submitting this as a bug.

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

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

                            Curve.move_vertices
                            http://code.google.com/apis/sketchup/docs/ourdoc/curve.html#move_vertices

                            @unknownuser said:

                            The vertices method retrieves a collection of all vertices in a curve.

                            Seem to have copied the text from Curve.vertices.
                            Description needs updating along with an example.

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

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

                              @thomthom said:

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

                              @unknownuser said:

                              Returns:
                              curve a Curve object if successful

                              SU7.1M1 PC returns an array of edges. Other versions untested. I'm submitting this as a bug.

                              It's always returned an array of edges - the curve is then array[0].curve

                              TIG

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

                                _
                                Model.title

                                @unknownuser said:

                                The tile method retrieves the name of the model. If the model is saved on disk, returns the file name without extension. Otherwise returns an empty string.
                                http://code.google.com/apis/sketchup/docs/ourdoc/model.html#title
                                Change 'tile' to 'title' in method description.

                                We could use Model.is_saved? and Model.is_unsaved? methods, as the Model.title method is the only way (that I can find) to determine if the model has yet been saved or not. We cannot rely upon the word 'Untitled' (in the caption bar) because that may actually be a valid filename.

                                Workaround:

                                
                                class Sketchup;;Model
                                def is_saved?
                                  return not title.empty?
                                end
                                def is_unsaved?
                                  return title.empty?
                                end
                                end # class
                                
                                

                                _

                                I'm not here much anymore.

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

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

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

                                  Seems that's the description for Camera.new http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/camera.html#new
                                  ...and that Camera.new has the description for Camera.set

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

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

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

                                    @unknownuser said:

                                    Returns:
                                    ray
                                    a ray

                                    "a ray"? Without testing this I#m guessing either a vector or line.

                                    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

                                      @thomthom said:

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

                                      @unknownuser said:

                                      Returns:
                                      ray a ray

                                      "a ray"? Without testing this I#m guessing either a vector or line.

                                      see this...

                                      @unknownuser said:

                                      Model.raytest
                                      A ray is a two element array containing a point and a vector [Geom::Point3d(), Geom::Vector3d()]. http://code.google.com/apis/sketchup/docs/ourdoc/model.html#raytest
                                      _

                                      I'm not here much anymore.

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

                                        Yea - I tested it later that day. It's what the Geom module describes as a line.

                                        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

                                          @thomthom said:

                                          Yea - I tested it later that day. It's what the Geom module describes as a line.

                                          Shouldn't the API have a definition for Line and/or Ray as a class (under the Geom module) ?

                                          something like:

                                          
                                          class Geom;;Ray < Array
                                            def new(*args)
                                              Array[Geom;;Point3d().new, Geom;;Vector3d().new]
                                              super()
                                            end
                                          end
                                          
                                          

                                          I'm not here much anymore.

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

                                            Line and Plane? hm... maybe... thought of that myself. but never really felt the need for it to make a request. works fine as it is.

                                            Dealing with them as Arrays works ok. They are simple structures.

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

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 10
                                            • 11
                                            • 12
                                            • 13
                                            • 14
                                            • 18
                                            • 19
                                            • 12 / 19
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement