• Login
sketchucation logo sketchucation
  • Login
ℹ️ GoFundMe | Our friend Gus Robatto needs some help in a challenging time Learn More

[Plugin] Component Comparison

Scheduled Pinned Locked Moved Plugins
62 Posts 24 Posters 46.1k Views
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.
  • T Offline
    thomthom
    last edited by 3 Sept 2010, 06:18

    Ohh, it worked? yay! 😄
    Cool. The process should be easier once I get support for sub-groups/components working.

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

    1 Reply Last reply Reply Quote 0
    • K Offline
      Krisidious
      last edited by 7 Sept 2010, 08:44

      Thom,

      I downloaded and installed the plugin and found it under your menu.

      I opened my little atrium where I have several windows that I need to make.

      I used your "groups to components" tool to change each of the window groups you see to components.

      then I rebuilt the one on the end into a window.

      then I select all of the instances (each of which are separate components) and run your tool replace similar objects.
      inspector.jpg

      it returns a menu item that says 0 Definitions replaced. it took 0.53

      any ideas on what I'm doing wrong?

      if I understand this plugin correctly it should replace each of the components with one instance? and how does it know which instance I want it to use?

      By: Kristoff Rand
      Home DesignerUnique House Plans

      1 Reply Last reply Reply Quote 0
      • T Offline
        thomthom
        last edited by 7 Sept 2010, 09:00

        @krisidious said:

        any ideas on what I'm doing wrong?

        Maybe nothing, this is very early experimental code.

        @krisidious said:

        if I understand this plugin correctly it should replace each of the components with one instance? and how does it know which instance I want it to use?

        It doesn't, it just picks one and compares it.
        Note that it takes all the components/groups you select and compares it against the whole of the model.

        Also beware that it's not working well with sub-components. Your model appear to be a complex one with many sub-components.

        If you want you can send me the model and I can have a look at it. I'd be very useful to have more sample models to test against.

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

        1 Reply Last reply Reply Quote 0
        • K Offline
          Krisidious
          last edited by 7 Sept 2010, 09:44

          ok I sent you the model.

          what's more I cut the groups and raised them to the top level of the model and ran the script again and it replaced 9 units... although it made 2 distinct groups of components and not the 1 it should have. they were the same so I'm not sure why.

          By: Kristoff Rand
          Home DesignerUnique House Plans

          1 Reply Last reply Reply Quote 0
          • D Offline
            diegog321
            last edited by 8 Sept 2010, 22:04

            Hi Thom:
            First let me thank you for this and all awesome plugins you make.
            I got today this huge and monstrous autocad 3d file that I need to convert to sketchup in order to do my job. I was kind of depressed after i imported it because it has about 500.000 faces, most of them autocad components imported as groups. So I went into sketchucation and voila! you just did a plugin for that.

            I wanted to share my experience so it may help in the development of the plugin.

            Since the script just went on forever with the complete model, I thought to give it a hand and use a wall made of a exactly same block repeated in multiple positions.

            The plugin was quite successful as it recognized 112 of the 122 component instances. But it did it as two separate entities.

            (applause!!!)

            But now I have a question: In the entity info it now says that there are X nunmbers of copies of the same group. I want to turn that into X copies of the same component for easy editing and memory optimization. Is that posible? Do you think that this file might be relevant to you?

            Again thank you for this plugin. It will eventually save millions of lives.

            Diego

            PD: Wouldnt it be nice if a plug in had a way of saying: "-Hey im not dead, I have done X numbers of operations of a total of X"?

            PD2: I succeeded. I just needed to use your old plugin groups to components. It reduced the 122 to 3 o 4 copies of the same component. I will keep experimenting.

            PD3: I funny thing is that when i try to edit any of those components (or groups) they dissapear until i click elsewhere and return to the model. Does anyone know why this happen?


            Original file with the problem


            sketchucation2.gif


            sketchucation3.gif

            1 Reply Last reply Reply Quote 0
            • T Offline
              thomthom
              last edited by 9 Sept 2010, 06:21

              @diegog321 said:

              PD: Wouldnt it be nice if a plug in had a way of saying: "-Hey im not dead, I have done X numbers of operations of a total of X"?

              Yes, that can be done. But you still have the problem where SU tend to freeze up the UI - so you end up not getting any feedback. That's in particular with long processing.

              @diegog321 said:

              PD2: I succeeded. I just needed to use your old plugin groups to components. It reduced the 122 to 3 o 4 copies of the same component. I will keep experimenting.

              Yea, I should probably have an option where it converted groups into components automatically. (There is my Selection Toys that let you convert Groups that have mulitple instances into components.)
              You got different results if the walls where groups or components?

              @diegog321 said:

              PD3: I funny thing is that when i try to edit any of those components (or groups) they dissapear until i click elsewhere and return to the model. Does anyone know why this happen?

              Sounds like you have Hide Rest of Model turned on. You find that under View > Component Edit.
              (Oh wait - does the group/component you open up also disappear??)

              Would you mind sending me a sample model with the wall segments? (Before you ran the operation?) I'd help me to have more test data to run.

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

              1 Reply Last reply Reply Quote 0
              • D Offline
                diegog321
                last edited by 10 Sept 2010, 03:36

                Hi thom:

                Here is the file. But beware because it comes from the terrible realm of autocad 3D.

                I also found a funny bug. If I dont select anything then it does a relative good job ( it replaces 79/125 with two or three copied groups).

                If I select all the "walls" and run the script then it is much more effective ( replacing 113/125 again with tow or three copies). But if you look closely at the second image, a few blocks have moved far away to the other side of the model.

                I have successfully converted those group into components before or after running the script with the help of your others plug ins.

                And finally I dont have activated "hide the rest of the model". It is like you said, everything dissapears. I heard somewhere that it was because the origin of the block is extremely far away. What do you think?

                Hope the info is useful

                Diego


                Here is the file before running the script


                ![And here is after while selecting every "wall" before running the script. It is like a kids game where you find the differences](/uploads/imported_attachments/1RG2_similarobject2.2.gif "And here is after while selecting every "wall" before running the script. It is like a kids game where you find the differences")


                and the file

                1 Reply Last reply Reply Quote 0
                • T Offline
                  thomthom
                  last edited by 10 Sept 2010, 06:01

                  @diegog321 said:

                  I also found a funny bug. If I dont select anything then it does a relative good job ( it replaces 79/125 with two or three copied groups).

                  what is the bug?
                  By design, if you haven't got anything selected the plugin analyse the whole model.
                  If you have some groups/components selectes it compare it's definitions against the rest of the model.

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

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    diegog321
                    last edited by 11 Sept 2010, 16:08

                    Hi thom what I tried to say is that the script had a different level of success in finding and replacing similar blocks while manually selecting all the objects or just running the script with nothing selected.

                    Also it if you look carefully to the second image I posted before you will see that a few walls have moved far away from the model. I didnt touch anything I just runned the script.

                    If you ever more examples like this that come from autocad you just let me know. I got millions! with increasing levels of difficulty.

                    Or if you need help from an non ruby programer.

                    Diego

                    PD: Also do you or anyone knows why the model dissapear completely (including the component) when I try to edit a block or component? I have deactivated the "hide rest of the model" option. Thanks

                    1 Reply Last reply Reply Quote 0
                    • W Offline
                      wyatt
                      last edited by 26 Oct 2010, 21:41

                      Thom,
                      This is a very useful script. I'm trying to understand what the tolerance setting does. I have a 3D tree with leaves (a simple square faces with png texture) that are all components. With a tolerance of 0.01 I was able to reduce the number of instances from over 3500 to 905. I'd like to be run the script again to further simplify the model, but I continue to get 0 changes. The tolerance settings don't seem to have any impact, even though the faces of the leaves vary from 36 sq. in. to 80 sq. in. Any ideas? Or is this something that will have to fixed in the next update? (I hope there is an update coming) 😄
                      Wyatt

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        thomthom
                        last edited by 26 Oct 2010, 21:44

                        The tolerance is more of a debug thing at the moment. During my testing I had some cases where SU's own tolerance of 1/1000" was too strict.

                        These leaves: are you sure they really are all geometrical identical? The plugin does not take into account scaling, for instance, a square of 20x30 and one of 20x40 will not be made into one component where one is scaled.

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

                        1 Reply Last reply Reply Quote 0
                        • W Offline
                          wyatt
                          last edited by 26 Oct 2010, 22:10

                          Then no, they are not identical. The length and width of each component varies. The ratio of l to w is the same (hence the square). I guess I thought the tolerance setting could be used to adjust how the similar components were replaced. I can use the component browser and replace components manually to simplify the model, but it would be great if there were a way to automate that process.

                          [Edit] Do your Selection Toys select by component area? That would definitely help if the tolerance method isn't possible.

                          1 Reply Last reply Reply Quote 0
                          • Chris FullmerC Offline
                            Chris Fullmer
                            last edited by 26 Oct 2010, 22:39

                            I tihnk what you are looking for is a good idea Wyatt, but its definitely different than what the original scope of this plugin was. This one is supposed to find virtually identical components and make them all use the same definition.

                            But a replacer that just looked for fairly similar components could be interesting too. Maybe it fits within the scope of this plugin even. I can see where it does have some usefulness in the scenario you outlined.

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

                            1 Reply Last reply Reply Quote 0
                            • W Offline
                              wyatt
                              last edited by 26 Oct 2010, 23:26

                              I don't know if it fits Thom's original idea for this plugin or not; I'll leave that for him to decide. But what I would like to have is a tool that would, based on a selection set, calculate the range of area values, ask me how many intervals I'd like to set, and then replace all the components in a given range with the resized component. So if I had leaves that ranged from 30 to 80 square inches, I could set 5 intervals and it would resize the components based on that 10 square inch interval, so a component with an area of 42, would get "rounded down" to 40. There might be other ways to do the same thing; this is just what I was hoping I could get CC to do for me. Even if I could select components by those area intervals, it would be a huge help.

                              1 Reply Last reply Reply Quote 0
                              • T Offline
                                thomthom
                                last edited by 27 Oct 2010, 06:20

                                Making tree leaves into components appear to be a often requested feature, so maybe a plugin designed specifically for this. One that finds all rectangle faces in the selection and converts them into one component with scaled instances.
                                That could work. For Component Comparison it'd not be so easy as it's already doing some heavy work comparing complex objects, but if one limits the scope to simple primitive...

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

                                1 Reply Last reply Reply Quote 0
                                • W Offline
                                  wyatt
                                  last edited by 27 Oct 2010, 13:15

                                  Thom, that sounds like it would work great, and cut several steps from my current workflow.

                                  1 Reply Last reply Reply Quote 0
                                  • G Offline
                                    guaucorreo
                                    last edited by 7 Jul 2011, 08:54

                                    excuse me,
                                    this plugin can´t compare similar objects with DIFERENT scale ¿is there a plugin that make that?
                                    thanks

                                    1 Reply Last reply Reply Quote 0
                                    • halroachH Offline
                                      halroach
                                      last edited by 29 Nov 2011, 07:35

                                      Hi Thomthom,

                                      This plugin is great!
                                      Very helpful when importing lame models from Autocad and 3DSMax.

                                      Just a little note.
                                      As I was searching for this thread to see if any changes have been made, specifically wondering if detecting scaled objects will be possible (like the post above this one) - I was having a hard time finding this thread in the forums. Partly because the search engine here isn't great, but also because the name of the thread and the name of the plugin files and commands are different. In sketchup it's "replace similar objects" and here it's called Component Comparison...

                                      FlexTools - Super Quick Windows, Doors, Slats...

                                      1 Reply Last reply Reply Quote 0
                                      • T Offline
                                        thomthom
                                        last edited by 29 Nov 2011, 08:05

                                        I've had no time at all to work on this. There's much more that needs doing before even attempting to detect scaled components.

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

                                        1 Reply Last reply Reply Quote 0
                                        • B Offline
                                          bhbarchitects
                                          last edited by 16 Dec 2011, 10:23

                                          Thanks thomthom really cool time saver.

                                          How did you get on with rendering in 3ds max?

                                          Matt

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

                                          Advertisement