I finally found a solution to the pain of having to select all check boxes one by one
Let's put us in context first... I recently discovered that all the workstations at work* have SolidWorks 2010 installed on them, because my company had previously (long before I was hired) developed a plugin (for SolidWorks) for one of our clients. So this week during lunchtime, instead of browsing the internet, I played with SolidWorks (to design the new Jing's and molds). Since my workstation barely runs SolidWorks, the step of splitting and selecting the resulting parts is very slow and buggy.
So the eternal question which cannot be answered
came to my mind again : "Why there isn't a check all button?!".
Oh Well, I know not everyone find it problematic and that it can be avoided (e.g. by splitting only the necessary parts), but I always wondered if there was a definitive solution.
(If I remember well)Eitan already posted about this problem on this forum and also to SolidWorks, but no solution. I have posted on that topic a trick that consist of using a macro software to click a checkbox and then pressing the down key in a loop.
This lunchtime, while playing with SolidWorks, a flash of genius came to me... When you click on button, Windows (the OS) sends a message to the window/button saying "hey the left mouse button is down at x/y", the application then handle that message and if it was over the button, then it execute the action. So I opened up a software called "Spy++" (made by Microsoft), it's a program that list every window (each button,label,textbox,listbox,checkbox is actually a "window") and can log all the messages that Windows send to them. While SolidWorks was opened, I navigated to find the "window" that is the list of checkboxes, and analysed the messages that were sent when I clicked.
Basically, it is two message : 1 - left button down at x/y, 2 - left button up at x/y. The solution:
(for those who don't want to read all the details, skip here
I quickly wrote a small program that send these two messages to that window in a loop that increment the Y position and.... IT WORKED
It selected all the checkboxes in a split second!
For now the program is not able to find the window (they have an ID) by itself, and I have only tested for SW 2010. I'll refine it and test it with SW 2011 at home after work.
And unfortunately it will not work on computers other than Windows, sorry Apple & Linux users
*I work in a software development company that has nothing to do with engineering.