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

    Beginning Ruby Tutorial

    Scheduled Pinned Locked Moved Developers' Forum
    16 Posts 11 Posters 728 Views 11 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.
    • B Offline
      BTM
      last edited by

      ... I might have a look later, not enough time to look through the whole thing right now though 😆 .

      Also, I've been trying to figure out how to implement mouse control in ruby script; I think Chris Phillips might know a thing or two (considering how much mouse interaction there is in sketchyphysics), but if there's anyone else out there that could help out at explaining what do do, that would be great.

      So far, all I know is that it would involve def onMouseMove(flags, x, y, view) (view is model, which is Sketchup.active_model, .active_view), aswell as def onLButtonDown(flags, x, y, view), def onLButtonUp(flags, x, y, view) and def draw(view). Or at least I THINK those are what I need to use.

      Anyways, if anyone knows how, I would really appreciate it if you could explain a bit, or if it's in the tutorial (which I haven't been able to look at yet), that would work too 😆

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

        That is not in the turorial, but it will be in a future one I hope. The idea there is implementing a tool class in your script. I can write up a quick start template, but I can't get too in depth right now. Hopefully alter in a tutorial though.

        Chris

        PS I think the tutorials are open to anyone to write at this point. If aynone out there wants to do a better on, or do one on a different topic, they are more than welcome to go for it! I think we might need a new tutorial template though for Ruby tutorials. The current one is very little text and very much image - not ideal for Ruby. Maybe I'll outline what I think a Ruby tutorials might need, and then see if Coen has time to implement it eventually.

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

        1 Reply Last reply Reply Quote 0
        • pilouP Offline
          pilou
          last edited by

          Neat presentation! 😎

          Frenchy Pilou
          Is beautiful that please without concept!
          My Little site :)

          1 Reply Last reply Reply Quote 0
          • MALAISEM Offline
            MALAISE
            last edited by

            Yeah! An Ruby introduction for Sketchup fans .

            Thanks a lot Chris, for listening poor newbies ! 😆

            MALAISE

            La Connaissance n'a de valeur que partagée

            1 Reply Last reply Reply Quote 0
            • plot-parisP Offline
              plot-paris
              last edited by

              thanks Chris. that's really great. hopefully I will have time soon to check it out. such a tutorial was dearly deeded for noobs like me to get started 👍

              1 Reply Last reply Reply Quote 0
              • M Offline
                mateo soletic
                last edited by

                Great work Chris, that kind of tutorial was really needed. 👍

                @unknownuser said:

                Small typo, second paragragh thats all

                James,you are slacking. 😆

                [Concept Illustrations](http://concept-illustrations.com/)

                1 Reply Last reply Reply Quote 0
                • S Offline
                  sepo
                  last edited by

                  Looks very good. This might tip me finally to start doing something about it. 👍

                  1 Reply Last reply Reply Quote 0
                  • MALAISEM Offline
                    MALAISE
                    last edited by

                    Hi Chris

                    Is-it possible to resize the Web console "window"? We hardly read the contain ( too small font)

                    Thanks

                    MALAISE

                    La Connaissance n'a de valeur que partagée

                    1 Reply Last reply Reply Quote 0
                    • daleD Offline
                      dale
                      last edited by

                      Thanks Chris
                      I have really always wanted to give it a try, or at least understand Rubys in greater depth.
                      Thanks for the effort.

                      Just monkeying around....like Monsanto

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

                        Thanks for the great comments, I hope it gets more people interested in beginning. I'm sure there are other roads to take to get into Ruby, but thats how I did it, so its the only way I can explain. Hopefully it will be logical enough for others to use too.

                        Malaise, sorry the font is small. If you click on most of the images, it shows a full size image. But if the full size image is too small also...hmm. I don't know. I bet I could also provide a link to the .rb script for download right up front, for people who can't read the images very well.

                        But if I provide the link to the text script, its not a free pass to just copy and paste 😄

                        Chris

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

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

                          @BTM (and anyone interested) I did go ahead and write up a quick tool script that creates a tool, which is how you get the onmousemove and all other tool methods to work. Check it out here:

                          301 Moved Permanently

                          favicon

                          (www.sketchucation.com)

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

                          1 Reply Last reply Reply Quote 0
                          • Al HartA Offline
                            Al Hart
                            last edited by

                            Chris,

                            Thanks for making a ruby tutorial.

                            Its always inspiring to look at someone else's code.

                            Here is a version which use a hash instead of arrays to count all entities types;

                            
                            def count_entities
                            	model = Sketchup.active_model
                            	entities = model.entities
                            	count = {} # start a new hash
                            	entities.each do |e|
                            		stype = e.typename
                            		# start new count, or add 1 to existing count
                            		count[stype] = count[stype] ? count[stype] + 1 ; 1
                            	end#loop
                            	sorted_keys = count.keys.sort
                            	sorted_keys.each do |key|
                            		printf("Total %-12s; %5d\n", key, count[key])
                            	end#loop
                            	return nil
                            end#def
                            
                            

                            The weird line:

                            count[stype] = count[stype] ? count[stype] + 1 : 1

                            would be easier to read as

                            
                            if (count[stype])
                                count[stype] = count[stype] + 1
                            else
                                count[stype] = 1
                            end#if
                            
                            

                            Keep up the good work

                            Al Hart

                            http:wiki.renderplus.comimageseefRender_plus_colored30x30%29.PNG
                            IRender nXt from Render Plus

                            1 Reply Last reply Reply Quote 0
                            • 1 / 1
                            • First post
                              Last post
                            Buy SketchPlus
                            Buy SUbD
                            Buy WrapR
                            Buy eBook
                            Buy Modelur
                            Buy Vertex Tools
                            Buy SketchCuisine
                            Buy FormFonts

                            Advertisement