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.
    • P Offline
      Pherim
      last edited by

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

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

        @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.

        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:

          @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
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement