sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    ⚠️ Update | Sketchucation Tools 5.0.8 released with licensing improvements and bugfixes Download

    Return values

    Scheduled Pinned Locked Moved Developers' Forum
    14 Posts 3 Posters 1.4k Views 3 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.
    • P
      PaulG
      last edited by

      Thanks Dan, although .to_mm.to_mm.to_mm looks like some kind of comedy code. I gotta say Ruby seems the most obscure, non-sensical language I have used so far.

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

        @dan rathbun said:

        You must convert back mm, using .to_mm, but because you cubed it, you have to "cube" the conversion

        It's better to use .to_l - then when that Length instance is outputted as string it's printed in the user's units.
        As for area - use Sketchup.format_area

        Unfortunately there is no method for volume - they left that one out. So in that particular instance you need to write the conversion from cubed inches to user units yourself.

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

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

          prompts = ["Width mm", "Breadth mm", "Height mm"] defaults = ["100", "100", "100"]

          Let SketchUp handle the units for you. If you feed the input box Length objects as defaults - it converts the user input to Length's for you.
          defaults = [100.mm, 100.mm, 100.mm]

          It's better to work with units in SketchUp's units - internally inches - and always ensure you have Length objects when you output to the user. That way the user gets the units in his/her preferred unit and you don't have to do a thing.

          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
            Dan Rathbun
            last edited by

            There was another topic on this issue, I think I may have posted a method in there.
            Or.. hmmm... It may have a "[Code]" prefix in the title.
            ADD: found it: Volume of Multiple Groups
            You might get some ideas from that, and there is a link to one of TIG's old utilities.


            Anyway.. TT... One thing you or TIG have not done yet is a "Units: The Lost Manual" πŸ˜†

            I'm not here much anymore.

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

              @dan rathbun said:

              Anyway.. TT... One thing you or TIG have not done yet is a "Units: The Lost Manual" πŸ˜†

              That is in fact on my list to write up.

              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
                Dan Rathbun
                last edited by

                @paulg said:

                Thanks Dan, although .to_mm.to_mm.to_mm looks like some kind of comedy code. I gotta say Ruby seems the most obscure, non-sensical language I have used so far.

                Of course it does. It's not Ruby's fault, that is not Ruby best practice.

                There are many "missing" methods in various API classes.

                In fact what we are missing here, are Area and Volume classes. When you multiply 2 Length instance objects, they get converted to Float.. and then you cannot tell what the math ops were to end up with the value.

                In other words... math on a Length object, by any other Numeric subclass, should return a new Length object. (Like adding the frontage of building lots along a right-of-way, or math ops with wall lengths to arrive at a perimeter length.)

                Multiplying two Length objects, should return a new Area object.

                Multiplying 3 Length objects, OR an Area object by a Length object, should return a new Volume object.

                However, multiplying Area objects, by other non-length Numeric objects, should result in a new larger Area object.

                .. etc.

                Problem is, current version of SketchUp would not know how to handle these new classes.

                I'm not here much anymore.

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

                  @dan rathbun said:

                  Anyway.. TT... One thing you or TIG have not done yet is a "Units: The Lost Manual" πŸ˜†

                  http://www.thomthom.net/thoughts/2012/08/dealing-with-units-in-sketchup/

                  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
                    Dan Rathbun
                    last edited by

                    πŸ‘ πŸ‘

                    NO faults that I can see, after a quick read.

                    I'm not here much anymore.

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

                      @dan rathbun said:

                      :thumb: πŸ‘

                      NO faults that I can see, after a quick read.

                      I'm sure there's some input to be made on the library I posted at GitHub - linked at the bottom. I'd collected it from various helper methods from different plugins of mine. The volume and area functions was originally not in separate classes - but I liked idea idea of Area and Volume as separate classes.

                      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
                        Dan Rathbun
                        last edited by

                        @thomthom said:

                        @dan rathbun said:

                        ... but I liked idea idea of Area and Volume as separate classes.

                        I also ! (as I said above.)

                        And the API needs these, and the app needs to use them.

                        I'm not here much anymore.

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

                          And locale handling for Floats.

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

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

                            @dan rathbun said:

                            And the API needs these, and the app needs to use them.

                            Yes - agree. Your idea about multiply two Length to get and Area, and Area with Length to get a Volume is very elegant. I'd very much like to see this into SU9.

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

                            1 Reply Last reply
                            Reply Quote 0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better πŸ’—

                            Register Login
                            • 1 / 1
                            • First post
                              Last post
                            Buy SketchPlus
                            Buy SUbD
                            Buy WrapR
                            Buy eBook
                            Buy Modelur
                            Buy Vertex Tools
                            Buy SketchCuisine
                            Buy FormFonts

                            Advertisement