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

    Simple Extension for Mac

    Scheduled Pinned Locked Moved Developers' Forum
    25 Posts 6 Posters 1.1k Views 6 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.
    • Al HartA Offline
      Al Hart
      last edited by

      @thomthom said:

      404 — Bitbucket

      favicon

      (bitbucket.org)

      Thanks, ThomThom, that looks like what I am looking for.

      I see you had posted it before, but I didn't know what it was at the time.

      Al Hart

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

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

        Mind you, I recently found http://rubyinstaller.org/downloads/ which I think is a better choice for Windows than the Visual Studio solution I'd used.

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

        1 Reply Last reply Reply Quote 0
        • O Offline
          olilej
          last edited by

          I've been playing around with C Extension recently and I would like to know how if there is an equivalent of is_a? ruby function in C level.

          I found rb_obj_is_instance_of but it seems to be only meant for native ruby types.

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

            [Ignore this for a minute - I need to add a second parameter for what the value to pass to is_a?]

            You can execute the equivalent of any ruby function using rb_intern() and rb_funcall()

            Try this:

            
            VALUE fid = rb_intern("is_a?");
            VALUE vret = rb_funcall(klass, fid, 0);
            
            

            Al Hart

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

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

              Here is a better example, equivalent to

              Sketchup.is_a?(Module)

              
              
              VALUE Sketchup = rb_path2class("Sketchup");
              VALUE Module= rb_intern("Module");
              VALUE is_a = rb_intern("is_a?");
              VALUE result = rb_funcall(Sketchup, is_a, Module, 0);
              
              
              

              Al Hart

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

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

                @olilej said:

                I've been playing around with C Extension recently and I would like to know how if there is an equivalent of is_a? ruby function in C level.

                If you have the CHM... you can click on the method description, and the C source will popup:
                (Also works for online version, but the source link must be clicked directly, and is only visible when the mouse is hovering over the method description.)

                Object_kind_of.png

                💭

                I'm not here much anymore.

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

                  So it looks like there are some macros defined in C, to make life easier ... CLASS_OF(), RCLASS_SUPER(), etc.

                  I'm not here much anymore.

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

                    • Pragmatic Programmer: Extending Ruby 1.9

                    I'm not here much anymore.

                    1 Reply Last reply Reply Quote 0
                    • O Offline
                      olilej
                      last edited by

                      Great, my goal is to make sure I'm dealing with a Entity in order to access its attributes.

                      Here is the code I've come up with.

                      VALUE result = rb_obj_is_kind_of(obj, rb_path2class("Sketchup;;Entity"));
                      if (Qtrue == result){
                      	VALUE rval = rb_funcall(obj, rb_intern("get_attribute"), 2, rb_str_new2("dynamic_attributes"), rb_str_new2("..."));
                      	...
                      }
                      
                      1 Reply Last reply Reply Quote 0
                      • Dan RathbunD Offline
                        Dan Rathbun
                        last edited by

                        Only Sketchup::ComponentDefinition and Sketchup::ComponentInstance will have dictionaries with that special name.

                        I'm not here much anymore.

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

                        Advertisement