sketchucation logo sketchucation
    • 登入
    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!
    ⚠️ Important | Libfredo 15.6b introduces important bugfixes for Fredo's Extensions Update

    [Plugin] Component Comparison

    已排程 已置頂 已鎖定 已移動 Plugins
    62 貼文 24 Posters 47.8k 瀏覽 24 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • thomthomT 離線
      thomthom
      最後由 thomthom 編輯

      Experimental Alpha Version
      Use with own risk - backup/save before using!

      This plugin is in very early experimental development. Lots of debug menus.

      Overview
      Compares components for geometric similarities - replaces the instances of similar definitions to use the same definition.

      Access
      Plugins -> Similar Objects

      Usage
      Select nothing to compare all definitions.

      Select a bunch of instances to compare only their definitions against the rest.

      Caveats
      Comparison is currently strictly geometric - material and layer comparison is currently not done. (Event face direction or position is not compared.)

      With my test models (one attached) objects that appeared similar where not within SU's tolerance of 0.001 inch. I added a debug menu to adjust it. In the attached test model I had to set the tolerance to 0.002 to be able to make it replace all.

      I would appreciate it someone with better know-how of float point tolerances could comment on the code. If there are places where I can reduce precision loss in my code. (it might be that the geometry from Revit simply has too much deviance - but I'm not sure.)

      NOTE: In the test model, the third window from the top left looks similar to some of the others, but it doesn't have the same number of faces. So this window should be ignored. It simply IS different.

      NOTE: Inspect Comparison (Debug) will colour some of the edges of the definitions you inspect.

      Todo

      • Recursive comparison of sub-instances
      • Support mirrored objects
      • Support groups - Done!
      • Option to compare face normals - Done!
      • Option to compare entity visibility
      • Option to compare layers - Done!
      • Option to compare materials - Done!
      • Option to compare UV mapping

      Link Preview Image
      SketchUp Plugins | PluginStore | SketchUcation

      SketchUp Plugin and Extension Store by SketchUcation provides free downloads of hundreds of SketchUp extensions and plugins

      favicon

      (sketchucation.com)

      Footprint

      http://forums.sketchucation.com/download/file.php?id=53762
      <Sketchup>/Plugins/
      +-
      http://forums.sketchucation.com/download/file.php?id=53763
      tt_cc.rb

      http://forums.sketchucation.com/download/file.php?id=53761


      CompComp.png


      Test Model
      (Set Tolerance to 0.002 to replace all)

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

      1 條回覆 最後回覆 回覆 引用 0
      • plot-parisP 離線
        plot-paris
        最後由 編輯

        brilliant, Thomthom!
        I will try it out as soon as possible. have been waiting for a long time for this.
        eventually an option to even take the scaling of components into account would be perfect.
        and the next step might even enable group comparisson...

        1 條回覆 最後回覆 回覆 引用 0
        • plot-parisP 離線
          plot-paris
          最後由 編輯

          alright, I got to playing with the plugin for a bit. first of all, let me say that it worked brilliantly, never making a wrong decision (admittedly on rather simple test components with no more than a few dozen edges). I was also impressed with it's speed. even the comparisson of a selection of almost 4.000 copies of 6 equal but unique components took less than a third of a second.

          I found out some odd behaviors though...

          Once there are nested components in a model, there are two bugs I repeatedly encounter:

          When nothing is selected (therefore the plugin is supposed to inspect all entities) the plugin only changes the components within other components (nested ones). Single components are being ignored.
          If you do select them however, components will be replaced, no matter if they are single entities or nested within other components (even in 2nd or 3rd level). Note however, that it is always only the innermost components that are being inspected.

          The report message, stating how many definitions have been replaced and how long that took, isn’t showing up.
          As soon as I delete the nested components, single components are being changed again, as expected, even while not being selected. Also does the report message show up again.

          I also observed, that components, containing other grouped objects (whether groups or components), will not be changed, even if the objects they contain are equal. This might be a goal for future versions of this plugin, don't you think? 😉

          all in all, Thomthom, this is a great start for a plugin that many people (especially those who import objects, e.g. trees) have been waiting for - one that will enable us to save huge ammounts of time and produce far cleaner models. well done, mate!

          1 條回覆 最後回覆 回覆 引用 0
          • thomthomT 離線
            thomthom
            最後由 編輯

            Ah, yea - I've not tested nested groups. And after posting the plugin I'd already found some bugs in the way it iterated the selection.

            It does not matter so much how many instance you have, it's the definitions that are processed. So if your 4000 copies where unique I'd spend some time processing.

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

            1 條回覆 最後回覆 回覆 引用 0
            • Chris FullmerC 離線
              Chris Fullmer
              最後由 編輯

              @plot-paris said:

              it worked brilliantly, never making a wrong decision (admittedly on rather simple test components with no more than a few dozen edges).

              Actually, the fewer the faces and edges, the harder it can be to determine if a component is similar or not! Its easy to determine if two very detailed components - maybe like high poly faces - are different than each other. But it can be VERY tricky to determine if two boxes are supposed to be the same root component or not.

              So its encouraging to hear it worked on fairly simple components in my mind!

              Way cool Thom!

              Chris

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

              1 條回覆 最後回覆 回覆 引用 0
              • thomthomT 離線
                thomthom
                最後由 編輯

                The posted version will be confused by two boxes with the same dimmension, but where one lack a face. The one I got now compares these - so even that isn't any problem.
                What I do seem to have problems with is face normals - checking if the normals are facing the same direction. I think I'm running into some precision problems...

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

                1 條回覆 最後回覆 回覆 引用 0
                • A 離線
                  autarchos
                  最後由 編輯

                  well, great news. i imported an xfrog 3ds young birch tree and after quite some time spent converting raw geometry to components, i have made every leaf the same component. your plugin worked extremely fast despite there being about 8000 leaf component instances. for whatever reason, it missed several hundred unique leaf comps, but identifying them in outliner and running the comp comparison in two smaller batches resolved the issue.

                  i was also unable to run the comparison on leaf components nested in the 'sub-groups' that are default with xfrog trees. exploding the groups and using free comps, worked as expected though.

                  tried to convert branch and root components to the same, but no luck. the branches appear visually to have the same structure, but even with a tolerance of 500" no luck. they are quite complex meshes as you know.

                  pre-comparison SKP file was 102Mb. post-comparison SKP file is 45.7Mb, 8048 comp instances, 11 comp definitions. amazing!

                  THANK YOU, thomthom.

                  1 條回覆 最後回覆 回覆 引用 0
                  • thomthomT 離線
                    thomthom
                    最後由 編輯

                    @autarchos said:

                    for whatever reason, it missed several hundred unique leaf comps, but identifying them in outliner and running the comp comparison in two smaller batches resolved the issue.

                    That reason is me. A bug. 😉 well, at least this related to one of the bugs I found.

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

                    1 條回覆 最後回覆 回覆 引用 0
                    • thomthomT 離線
                      thomthom
                      最後由 編輯

                      A small update - 0.2.0a.
                      It still doesn't handle sub-groups/components. Coming soon.

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

                      1 條回覆 最後回覆 回覆 引用 0
                      • G 離線
                        guaucorreo
                        最後由 編輯

                        great great plugin
                        questions...
                        i work with xfrog trees, when i insert the tree in sketchup an i explode it, the leaves are individual faces, but not groups or components.
                        its posible to use your plugin in this case, how???
                        thanks an sorry for my english
                        greetings from spain

                        1 條回覆 最後回覆 回覆 引用 0
                        • thomthomT 離線
                          thomthom
                          最後由 編輯

                          You manage to explode X-Frog trees??
                          When I try that SU sit sinks into a bog of eternal unresponsiveness and I never had the patience to wait for it to complete.

                          You would need each leaf to be a group or component. Chris got a plugin that groups loose geometry: http://forums.sketchucation.com/viewtopic.php?t=16154
                          However, when I tried that on a X-Frog tree it took ages - and again I could not bother to wait for it to complete. You might have more luck than I though.

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

                          1 條回覆 最後回覆 回覆 引用 0
                          • G 離線
                            guaucorreo
                            最後由 編輯

                            thanks for your link
                            you can reduce the xfrog tree all you want with a very good definition. you can do this by two ways:
                            -reducing in 3dsmax by the option Modifiers Multires after selects all geometry
                            -and you can open the xfrog 3.5 and CHANGE the tree (not crunch) reducing the trunk scale, the number of branches, crockedness, growth scale, etc..
                            its simple and when you imports in sketchup explodes very well (10 minutes). the very best xfrog have finally in sketchup less than 20 mb.

                            1 條回覆 最後回覆 回覆 引用 0
                            • thomthomT 離線
                              thomthom
                              最後由 編輯

                              @guaucorreo said:

                              -and you can open the xfrog 3.5 and CHANGE the tree (not crunch) reducing the trunk scale, the number of branches, crockedness, growth scale, etc..

                              Oh - So not using the detail slider? (I've just tried that, and it eventual makes the trunk flat)
                              You got some screens of how you managed to process your X-Frog trees? And some stats?

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

                              1 條回覆 最後回覆 回覆 引用 0
                              • G 離線
                                guaucorreo
                                最後由 編輯

                                its an example, the olive of the mediterranean with a lot of modifications

                                1 條回覆 最後回覆 回覆 引用 0
                                • thomthomT 離線
                                  thomthom
                                  最後由 編輯

                                  I don't see any image.

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

                                  1 條回覆 最後回覆 回覆 引用 0
                                  • G 離線
                                    guaucorreo
                                    最後由 編輯

                                    you can use the detail slider a bit, but be carefoul with the third branches
                                    (and of course in xfrog 3.5 you can reduce the section of this objetcs, trunks, branches, (a circle of 12 lines you can reduce manually to 6,etcc)


                                    ML11a modificado prueba 00 IMPPPP OLIVO reducido.jpg

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • thomthomT 離線
                                      thomthom
                                      最後由 編輯

                                      I really need to have a proper look at the X-Frog app. Got any good resource links?
                                      Maybe we could start a X-Frog thread to collect tips and tricks for X-Frog in SU?

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

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • G 離線
                                        guaucorreo
                                        最後由 編輯

                                        the manual XFROG REFERENCE of the xfrog 3.5 explain in detail all the process to modify a tree
                                        i am going to work with the link you bring me to make all the leaves individual groups and then apply your plugin similar objects.
                                        this saturday i ve got a lot of work

                                        thanksss
                                        pedro barrera from valencia, spain

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • thomthomT 離線
                                          thomthom
                                          最後由 編輯

                                          I'm not sure if CC will work on the X-Frog trees, since I've not gotten around to test it. (I'm not sure if the leafs are identical geometry...)
                                          And remember that it doesn't deal with sub-groups/components yet.

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

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • A 離線
                                            autarchos
                                            最後由 編輯

                                            the leaves are identical geometry - just a simple rectangle. at least with the models i have. i converted the leaves of a young birch to identical components with matt666's component/groups plugin: http://forums.sketchucation.com/viewtopic.php?t=17590
                                            it is quite slow, the plugin and the process - took me several hours: select 200-300 leaves at a time, select faces only with thomthom's selection tools, use matt666's plug to convert entities to components, and then run component comp to make them all the same. don't explode the leaf groups until you've converted them all to components, then it takes only seconds.

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 1 / 4
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement