• Login
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.
  • R Offline
    remus
    last edited by 3 May 2009, 21:31

    Thats a very nice little tutorial, thanks ๐Ÿ‘

    http://remusrendering.wordpress.com/

    1 Reply Last reply Reply Quote 0
    • K Offline
      ken
      last edited by 3 May 2009, 21:39

      Thanks Chris. I wanted to get started and this appears as something I can do.

      Just a note, seems to me you must have 30 hours in your day.

      Thanks

      Ken

      Fight like your the third monkey on Noah's Ark gangway.

      1 Reply Last reply Reply Quote 0
      • C Offline
        Chris Fullmer
        last edited by 3 May 2009, 22:14

        Thanks folks! Hopefully its straightforward enough that anyone can use it as guide to getting started. I don't have the ability to actually teach the Ruby language, but there are other tutorials for that, and you'll need to invest some time (for me, I spent about 2 days just doing plain Ruby tutorials before I started to look at SketchUp Ruby). So, there is a Ruby learning Curve, but if you can put some time in to get acquinated with Ruby, this should help fill the gap of how to get started on Ruby for SketchUp.

        And a HUGE thanks To Gaieus, James, and Coen for helping me get started, keep going, start over, restart, stop, erase and delete, and finally restart and finish this tutorial ๐Ÿ˜„ They were my grief and guidance counselors.

        Ok, typo fixed James, thanks for that one!

        Chris

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

        1 Reply Last reply Reply Quote 0
        • B Offline
          BTM
          last edited by 4 May 2009, 01:49

          ... 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
          • C Offline
            Chris Fullmer
            last edited by 4 May 2009, 03:40

            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
            • P Offline
              pilou
              last edited by 4 May 2009, 07:02

              Neat presentation! ๐Ÿ˜Ž

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

              1 Reply Last reply Reply Quote 0
              • M Offline
                MALAISE
                last edited by 4 May 2009, 07:14

                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
                • P Offline
                  plot-paris
                  last edited by 4 May 2009, 08:13

                  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 4 May 2009, 08:28

                    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 4 May 2009, 13:12

                      Looks very good. This might tip me finally to start doing something about it. ๐Ÿ‘

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        MALAISE
                        last edited by 4 May 2009, 13:50

                        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 4 May 2009, 14:09

                          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
                          • C Offline
                            Chris Fullmer
                            last edited by 4 May 2009, 16:41

                            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
                            • C Offline
                              Chris Fullmer
                              last edited by 4 May 2009, 21:26

                              @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 17 May 2009, 17:23

                                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