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

    What does SketchUp 2013 do for developers?

    Scheduled Pinned Locked Moved Developers' Forum
    44 Posts 14 Posters 7.6k Views 14 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.
    • T Offline
      Trogluddite
      last edited by

      @adamb said:

      What concretely do you think Ruby 2.x is going to give SketchUp?

      I'd happily settle even for 1.9.x - just for pure speed, if nothing else.
      Might also stop me from writing so many syntax errors while I'm trying to get my head around the SU API! 😉

      1 Reply Last reply Reply Quote 0
      • AdamBA Offline
        AdamB
        last edited by

        @chiefwoodworker said:

        I am done on this subject. I have gotten this off my chest and I am going to do useful work.

        Probably for the best as you haven't actually articulated anything but a few grumbles. You do know, nobody actually develops using the Ruby console.. We use an IDE like Visual Studio or Xcode or Eclipse.

        "Integrated with Rails." that's insane! Why would you inflict a molasses-slow, bloated 'experiment' on a CAD package? Why? Just bonkers!

        "The Ruby API may be dead in favor of the C++ API. ... I hope I am wrong, but that is the flavor of this release." Nobody has said that, you're just hearing what you wish to hear.

        Can I just say "Bonkers" again. Ah, thats off my chest.

        Developer of LightUp Click for website

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

          @chiefwoodworker said:

          And have you ever heard of Unit Test and Developer Console, a console that might have replaced Console if not pushed aside by EW? You might ask thomthom about it.

          I'm not following you on this one... The project has seen activity since it was released at Basecamp... https://github.com/SketchUp/sketchup-developer-tools/network
          It's all there for anyone to join in on.

          @chiefwoodworker said:

          Do you know what Rails is? Are you aware that it would have nothing to do with rendering performance any more than WebDialog does, and it would certainly be more stable and useful than WebDialog. Bloated? Experiment? You might want to explain that.

          Not following you on this one either. It's a web-framework. How much would that benefit SketchUp programming?

          @chiefwoodworker said:

          Of course no one at Trimble has said the Ruby API is dead. That would be suicide. But if you read between the lines with the last two major releases you have seen no improvement in it, and if you look at the business Trimble is in you might conclude there is no need for it either.

          We're not reading along the same lines. Why would SketchUp develop a repository for Ruby API extensions if it where not to invest further in it? And this the the very first major Trimble release - after only a year since they changed owners. You're extrapolating data-points from different data-sets.

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

          1 Reply Last reply Reply Quote 0
          • danielbowringD Offline
            danielbowring
            last edited by

            @thomthom said:

            Not following you on this one either. It's [ruby on rails] a web-framework. How much would that benefit SketchUp programming?

            Ah, but if we dropped[sup:224df3da]†[/sup:224df3da] window.load for javascript<->ruby communication and used xhrs instead, having a web framework could be really useful! That said, rails (and most frameworks) for that matter might be a bit bloated - given the situation many features would likely never be used. What would likely be better would be to implement something like wsgi or rack and then allow developers to deal with requests appropriately (and hopefully a dominant method/framework will arise, which can then hopefully be made available on the extension warehouse as a requirement/dependency library)

            [sup:224df3da]†[/sup:224df3da] I don't mean remove it; just make it a secondary, legacy option.

            Sidenote: I'd still love to see a newer ruby version (1.9.x, 2.x), a complete ruby install dedicated to SketchUp (no external installation required, full library available), and rubygems support (Possiblities: Add a custom named executable to the PATH skpgem install ... or give us a method to get the path of the executable #{Sketchup.GEM_PATH} install ...`` or give us a wrapper Sketchup::Gem.install(...) unless Sketchup::Gem.installed?(...)). Also, a single WebDialog implementation. Use something like WebKit or Gecko so we get the same behavior on both OSX and Windows, as well as some cool new toys (developer kit, HTML5 and CSS3 features, ...)

            1 Reply Last reply Reply Quote 0
            • AdamBA Offline
              AdamB
              last edited by

              @unknownuser said:

              Sidenote: I'd still love to see a newer ruby version (1.9.x, 2.x), a complete ruby install dedicated to SketchUp (no external installation required, full library available), and rubygems support (Possiblities: Add a custom named executable to the PATH skpgem install ... or give us a method to get the path of the executable #{Sketchup.GEM_PATH} install ...`` or give us a wrapper Sketchup::Gem.install(...) unless Sketchup::Gem.installed?(...)). Also, a single WebDialog implementation. Use something like WebKit or Gecko so we get the same behavior on both OSX and Windows, as well as some cool new toys (developer kit, HTML5 and CSS3 features, ...)

              Yes, moving to 1.9 sound like a good idea. No idea how much internal SU work that would require in that clearly there is a lot of code inside the Ruby part which is handling the bridge to internal SU structures. I did a quick sniff test on 1.9 just now and it didn't leap out at me that it would break existing C++ Extensions.

              But again if I were in their shoes, you'd have to ask the question as to what engineering gives greatest bang-for-the-buck. Is Ruby 1.8.6 actually blocking adoption of SU? Probably not, but as you say, it perhaps limits some new uses.

              A fundamental problem Team SU need to figure is how you offer flexibility/extensibility while discouraging devs bolting on stuff that compromises performance. Perhaps some Extension Warehouse QA should have some "Performance Gates" that are required to go through?

              The other thing I would say, having dealt with thousands of SU users, is that while models are getting much larger, it astonishing the number of users who still hang on to a 6-7 year old laptop with a very low power graphics card. Just investing in a modern computer - and certainly a modern graphics card will have huge effect on SketchUp performance.

              FWIW I point my users at this website to compare their card and see how very slow they are compared to even a modestly priced modern card: http://www.videocardbenchmark.net/gpu_list.php

              Adam

              Developer of LightUp Click for website

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

                @unknownuser said:

                no external installation required, full library available

                You mean full library as in the Ruby Standard Library?

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

                1 Reply Last reply Reply Quote 0
                • danielbowringD Offline
                  danielbowring
                  last edited by

                  @thomthom said:

                  You mean full library as in the Ruby Standard Library?

                  Yes.

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

                    @adamb said:

                    A fundamental problem Team SU need to figure is how you offer flexibility/extensibility while discouraging devs bolting on stuff that compromises performance. Perhaps some Extension Warehouse QA should have some "Performance Gates" that are required to go through?

                    I hope the QA checks observer events, context menu handlers and validation procs.

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

                    1 Reply Last reply Reply Quote 0
                    • AdamBA Offline
                      AdamB
                      last edited by

                      @unknownuser said:

                      @thomthom said:

                      Not following you on this one either. It's [ruby on rails] a web-framework. How much would that benefit SketchUp programming?

                      Ah, but if we dropped[sup:33hprjh2]†[/sup:33hprjh2] window.load for javascript<->ruby communication and used xhrs instead, having a web framework could be really useful! That said, rails (and most frameworks) for that matter might be a bit bloated - given the situation many features would likely never be used. What would likely be better would be to implement something like wsgi or rack and then allow developers to deal with requests appropriately (and hopefully a dominant method/framework will arise, which can then hopefully be made available on the extension warehouse as a requirement/dependency library)

                      I build a nano-webserver (1k code) into my tech both for debugging (point a browser at it to query stuff) and to better support integrated solutions. You can see an example by running LightUp Player and pointing your browser at http://localhost;8080

                      It would be straight forward to build a well-known socket into SU for WebKit comms.

                      Or would it better to finish off their original (not unreasonable) approach of having a skp:// scheme handler?

                      Adam

                      Developer of LightUp Click for website

                      1 Reply Last reply Reply Quote 0
                      • danielbowringD Offline
                        danielbowring
                        last edited by

                        @adamb said:

                        It would be straight forward to build a well-known socket into SU for WebKit comms.

                        Or would it better to finish off their original (not unreasonable) approach of having a skp:// scheme handler?

                        Adam

                        http would probably be better because it would "just work" on things like jQuery.ajax. Just bind listen on a particular port (if already taken, just keep trying the next one). Them it's just of matter of the client getting the information - for pages served by it it is as simple as document.location,, and for remote stuff maybe include it in the user-agent or some other standard header (like X-SketchUp-Server: localhost:8042). Then you're communication channel is good to go! 😄

                        Edit: Idea: let plugin developers define subdomains (implemented by local DNS rules). That way we can separate out authors content over a fake domain. (eg, author.sketchup-dialog.com, then just use the header to tell the port it is listening on.

                        1 Reply Last reply Reply Quote 0
                        • AdamBA Offline
                          AdamB
                          last edited by

                          Nice.

                          And I guess it would be trivial to map skp:// requests into this automagically.

                          Developer of LightUp Click for website

                          1 Reply Last reply Reply Quote 0
                          • T Offline
                            tomot
                            last edited by

                            NOTHING! Zero! Nada!

                            One of the main problems I have, is verifying that the script runs in SketchUp.

                            1. Doing a load "Ruby.rb" in the Ruby Console does NOT always clear out the previous values. Hence I don't even bother to use it anymore. Its sheer insanity to constantly reload SU, then the script to see if the script runs. After 8 hours of programming a Ruby script, I spend more time doing 1. then actual programming. 😳

                            If anyone here has ever written code in GDL for ArchiCad, you will discover that all the GLD code runs within the Code ArchiCad window, while the results of the code run within a 3D ArchiCad Window. Any changes in the code are immediately translated to the 3d window, while all code errors are immediately flagged in the Code window. You never have to quit ArchiCad while your writing code in GDL. ArchiCad also provides a standard user interface under which all user code is displayed and runs.

                            Now that's what I call an API! 🎉

                            [my plugins](http://thingsvirtual.blogspot.ca/)
                            tomot

                            1 Reply Last reply Reply Quote 0
                            • D Offline
                              dacastror
                              last edited by

                              In my opinion there are several things that are doing well in Trimble
                              But I see a couple of errors:

                              1. when opening sketchup 8 will not get a notice to upgrade to 2013 version (because of this, they will lose millions of users)

                              2. in "Sketchup 2013 free" entities transformations performed more slowly than "Sketchup 2013 pro" and "Sketchup 8". These things are really serious errors

                              (google translator)

                              1 Reply Last reply Reply Quote 0
                              • Rich O BrienR Offline
                                Rich O Brien Moderator
                                last edited by

                                You were always told to update regardless of the version for the last few releases.

                                And there's no performance difference between Make and Pro from what I can tell.

                                Download the free D'oh Book for SketchUp 📖

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

                                  @dacastror said:

                                  1. when opening sketchup 8 will not get a notice to upgrade to 2013 version (because of this, they will lose millions of users)

                                  It does update. Unless you have a firewall that blocks access.

                                  @dacastror said:

                                  1. in "Sketchup 2013 free" entities transformations performed more slowly than "Sketchup 2013 pro" and "Sketchup 8". These things are really serious errors

                                  Got a reproducible sample case for this?

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

                                  Advertisement