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

    [Plugin] fixSolid v1.7 - updated 20/10/2012

    Scheduled Pinned Locked Moved Plugins
    46 Posts 24 Posters 60.1k Views 24 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.
    • G Offline
      GWD
      last edited by

      @thomthom said:

      @pherim said:

      That's because solids had not been included in SU 7 and are only available since SU 8.

      Should be able to work anyway. There is not difference in the geometry, it's just that SU8 knows how to recognize solids.

      The plugin works only on SU 8, because the function i use the check if it's a solid is a new function in v8.

      1 Reply Last reply Reply Quote 0
      • G Offline
        GWD
        last edited by

        @thomthom said:

        Nice plugin. πŸ‘

        Got a couple of notes:

        1. It's advisable to wrap your plugin into a module and use module variables instead of global variables - this ensures there will be no conflict with other plugins.

        2. Detecting edges between co-planar faces: You are using this: if faces[0].normal == faces[1].normal then
          I used that for CleanUp, but I ran into issues where it's either erase edges between non-coplanar faces or leave some edges that should have been erased in some cases. As it turns out, the correct way - according to the Googler I spoke to - is to take all the vertices of the two faces you compare and check if they all lie on the same plane.

        3. e.typename == "Edge" - .typename is very slow because you do string comparisons. Instead, compare it's class: e.is_a?( SketchUp::Edge )

        ThomThom,

        1. How can i wrap my plugin in a module?
        2. OK -> v1.4
        3. I tried to switch .typename == "Edge" but then I get errors, i also can't find info about the .is_a? function?

        regards,

        Guy

        1 Reply Last reply Reply Quote 0
        • dereiD Offline
          derei
          last edited by

          @unknownuser said:

          3.can't find info about the .is_a? function?

          http://ruby-doc.org/core/classes/Object.html#M000373 -first result after search on google πŸ’š

          DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

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

            @unknownuser said:

            1. e.typename == "Edge" - .typename is very slow because you do string comparisons. Instead, compare it's class: e.is_a?( SketchUp::Edge )

            [/quote]
            What kind of error and what did you switch to?

            As for modules:
            http://ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html
            http://forums.sketchucation.com/viewtopic.php?f=180&t=12423#p89313

            Many other useful links in this sticky at the Developers section:
            http://forums.sketchucation.com/viewtopic.php?f=180&t=10142

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

            1 Reply Last reply Reply Quote 0
            • G Offline
              GWD
              last edited by

              @thomthom said:

              1. e.typename == "Edge" - .typename is very slow because you do string comparisons. Instead, compare it's class: e.is_a?( SketchUp::Edge )

              What kind of error and what did you switch to?

              As for modules:
              http://ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html
              http://forums.sketchucation.com/viewtopic.php?f=180&t=12423#p89313

              Many other useful links in this sticky at the Developers section:
              http://forums.sketchucation.com/viewtopic.php?f=180&t=10142

              ThomThom,

              The module works, but when I recplace the .typename with the .is_a? I get the following error:

              Error: #<NameError: uninitialized constant FixSolids::SketchUp>
              (eval):373
              (eval):318:in `call'
              (eval):318

              regards,

              Guy
              [mod=:2660fdfj]%(#FF0040)[**NOTE:
              A newer version [posted under the OP's new login] is available here...**]
              http://sketchucation.com/forums/viewtopic.php?p=436001#p436001
              TIG[/mod:2660fdfj]


              v1.5 NOTE: newer versions available...

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

                Sorry - I made a typo. It's Sketchup - not SketchUp - the thing is case sensitive.

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

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

                  Btw, here's some stats to how slow .typename is compared to .is_a? http://forums.sketchucation.com/viewtopic.php?f=180&t=19576&view=unread#p162235
                  In case you where curious.

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

                  1 Reply Last reply Reply Quote 0
                  • G Offline
                    GWD
                    last edited by

                    @thomthom said:

                    Sorry - I made a typo. It's Sketchup - not SketchUp - the thing is case sensitive.

                    Thanks!

                    1 Reply Last reply Reply Quote 0
                    • V Offline
                      vidy
                      last edited by

                      @unknownuser said:

                      The plugin works only on SU 8, because the function i use the check if it's a solid is a new function in v8.

                      thanks for your confirmation πŸ˜„

                      still so much to learn..

                      1 Reply Last reply Reply Quote 0
                      • K Offline
                        kobus
                        last edited by

                        respect ! where thomthoms inspector was heading I presume.

                        you should be interested in the future. you will spend the rest of your life there

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

                          @unknownuser said:

                          @thomthom said:

                          @pherim said:

                          That's because solids had not been included in SU 7 and are only available since SU 8.

                          Should be able to work anyway. There is not difference in the geometry, it's just that SU8 knows how to recognize solids.

                          The plugin works only on SU 8, because the function i use the check if it's a solid is a new function in v8.

                          You could use the method I use with Solid Inspector - check that all edges have two faces connected. Then it'd work on older versions. Of course for SU8 and newer you want to use the built in version that's very quick.

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

                          1 Reply Last reply Reply Quote 0
                          • Dave RD Offline
                            Dave R
                            last edited by

                            Nice plugin. It could be very useful. I tried it on a model that someone sent to me the other day. It fixed a few things in one component but still left errors. There were a lot of errors in that component to begin with and it certainly would reduce the time required to manually fix it. Unfortunately the plugin doesn't always seem to recognize that a component is not solid. At least it doesn't recognize that the component in the attached SKP is not solid although you can easily see several problems that keep it from being considered solid.


                            Not Solid.skp

                            Etaoin Shrdlu

                            %

                            (THERE'S NO PLACE LIKE)

                            G28 X0.0 Y0.0 Z0.0

                            M30

                            %

                            1 Reply Last reply Reply Quote 0
                            • G Offline
                              GWD
                              last edited by

                              @dave r said:

                              Nice plugin. It could be very useful. I tried it on a model that someone sent to me the other day. It fixed a few things in one component but still left errors. There were a lot of errors in that component to begin with and it certainly would reduce the time required to manually fix it. Unfortunately the plugin doesn't always seem to recognize that a component is not solid. At least it doesn't recognize that the component in the attached SKP is not solid although you can easily see several problems that keep it from being considered solid.

                              At this moment fixSolid only work on groups not on components. I'll make it work on components to.

                              1 Reply Last reply Reply Quote 0
                              • Dave RD Offline
                                Dave R
                                last edited by

                                Thank you.

                                Etaoin Shrdlu

                                %

                                (THERE'S NO PLACE LIKE)

                                G28 X0.0 Y0.0 Z0.0

                                M30

                                %

                                1 Reply Last reply Reply Quote 0
                                • N Offline
                                  nektares
                                  last edited by

                                  this might become handy when importing external geometry from other apps, thanks a lot!

                                  1 Reply Last reply Reply Quote 0
                                  • AnssiA Offline
                                    Anssi
                                    last edited by

                                    Guy,

                                    You saved my day today! Thanks a lot!

                                    Anssi

                                    securi adversus homines, securi adversus deos rem difficillimam adsecuti sunt, ut illis ne voto quidem opus esset

                                    1 Reply Last reply Reply Quote 0
                                    • Z Offline
                                      zapwizard
                                      last edited by

                                      I haven't downloaded it yet, but I am very interested in using this plug-in to help heal solids for use in BSP based video game making.

                                      1 Reply Last reply Reply Quote 0
                                      • mariochaM Offline
                                        mariocha
                                        last edited by

                                        Tried it. V1.5 works pretty well.
                                        This is indeed gone be very, very useful.
                                        Many thanks πŸ˜„

                                        %(#008000)[Mario C.
                                        Every rule has exceptions, but some.]

                                        1 Reply Last reply Reply Quote 0
                                        • N Offline
                                          niks
                                          last edited by

                                          thank you... very nice plugin

                                          1 Reply Last reply Reply Quote 0
                                          • R Offline
                                            rubiks
                                            last edited by

                                            😍 SO HAPPY, SO FRAKIN HAPPY. tried everything to fix <2 days> and i just couldn't do it. I find fixSolid. "right click - FIX - DONE" THANK YOU!!!!!!!!!!!!!

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

                                            Advertisement