SolidWorks 2008: Virtual Components?
-
I’m still in the adjustment phase with SolidWorks 2008. I’ve been trying hard to resist the urge to do everything in SolidWorks 2007, just because it’s the “familiar” environment and I already know where everything is. Instead, I’m trying to spend more time working on SolidWorks 2008, and, as a result, I keep finding new things (or things that have changed) here and there.
This time, while practicing my top-down assembly modeling skills, I ran into something called “Virtual Component”. Huh? Is it virtual because it doesn’t really exist? Well, not exactly. Apparently, in SolidWorks 2008, when you create a component in the context of an assembly (top-down modeling), you are no longer required to give it a name and save it right away, like before. Instead, the in-context component is saved inside the assembly document. You can work on it, delete it, insert more instances of it, pattern it, etc. You can do anything you would normally do with an in-context component! Anything? Yes, you can even create a component with no external references. “Hmmm, but what’s the catch?” you may wonder. Everything has a catch! Well, I haven’t found one yet. So far, the only catch is that, at some point, you may want to save those components as individual files… and you can do that too, so I guess it’s not much of a catch. The beauty of this is that, in the end, you only keep those in-context components that you really want, and the rest of them, the ones that used to accumulate inside your folder while you were changing your mind, those aren’t even there.
I tried this new functionality with a small assembly. A simple experiment first, just to understand how it worked. So, I created an assembly, using this little part that came with the “What’s New?” document, as part of a tutorial for the configurations property manager. The part (My_two_bolt_flange) has different configurations, and I wanted to see what happened to the in-context part when switching configurations for the referenced part and/or making changes to it.
I began by doing exactly the same I would’ve done in SolidWorks 2007 in order to create an in-context part: click on Insert Components, New Part, and choose a plane or a face where to place the in-context component’s base sketch. This will become the Front plane for the in-context component. In my case, I chose a face on one of the boss features of my first component, My_two_bolt_flange. Notice how a new part is added to the feature manager (Part7^My assembly), but I’m never prompted to name it or save it at this point.
I create my first sketch in this new part by converting the circular edge of one of the cut features in My_two_bolt_flange. Part7^My assembly is now an in-context part, referencing to geometry from My_two_bolt_flange.
Finally, I extrude the sketch and finish creating the part. I exit the Edit Component mode and go back to editing the assembly. This is exactly how I would’ve done it in SolidWorks 2007, except that here I didn’t have to save the part or even name it.
At this point, if I change the configuration of the referenced part (My_two_bolt_flange), the new in-context part updates too.
The same happens when I make changes to the referenced part. Here, for instance, I changed the diameter of the cut feature in the default configuration from 0.5 in to 0.7. After rebuilding the assembly, the new part updated, as well.
When the time comes to save my work, I am finally asked if I want to save the part I just created internally or if I want to save it as an individual file. If I choose to save inside the assembly, no other files are created. Next time I open my assembly, if any changes have been done to the referenced part (My_two_bolts_flange), all the parts in the assembly will update too, same as always.
If I want to save the part as an individual file, all I have to do is right click on it in the Feature Manager, select Save Part (in external file) and a dialog box will allow me to rename the file and select a path for it, which can be the same as the one for my assembly or a completely different one of my choice.
I like this new functionality, but I do wonder if it has the potential of creating huge assembly files. As far as I know, assembly files used to be small in size, because they didn’t actually contain any of the parts. These new assembly files that result from using virtual components do contain some of the parts inside of them. This has to make them bigger. But how much of an issue can this really be? I compared the size of an assembly with the part included as a virtual component and the same assembly with the part saved as an individual file. The size of the one with the virtual component was 388 KB, versus 184 KB for the one that had none. That seems like a big change, but then again, it may not mean much for the overall performance if the assembly continues to load as fast as before. I didn’t notice any changes between the two assemblies, but that may also be because they are very simple, with only two components. What are your thoughts on this new functionality? Do you use it? Do you notice any change in performance?













December 16, 2008 at 2:29 pm
I use virtual components, to make fixtures and jigs.
We don’t want to create a part Number other than the assembly # for BOM reference.
I can’t make drawings for the machine shop to make. unless I supress all other components in assembly.
For each drawing that is done
September 25, 2008 at 1:43 am
Great Post.
I’ve been using them for a few months, and loving them… however I am having trouble with doing ’save as’. i rename the v.c’s and leave the path to the temp location. though when i open the new assembly the external references for the vc’s are ‘out of context.’
any suggestions…
?
June 27, 2008 at 3:46 pm
Gabi,
Great post. This feature is massively useful and I’m surprised it took until SW08 to make it an option. As with Mike on his molds I do a lot of top down designing and this keeps things much more organized. The design intent here is much easier to mange since everything is held in context. It’ll be even more exciting when some of the new abilities of ‘09 come into play (drag and drop changes for design library items and overall performance enhancement).
Couple this with assembly configurations and you can flesh out multiple design ideas in a single file. Sure it may be a large file but I’d much rather spend my time waiting for a file to load then I would going through and checking references and cluttering up a folder with a bunch of unneeded parts.
June 27, 2008 at 8:42 am
We haven’t switched to 2008 yet, but this seems like it could be a really useful feature for concepting assemblies that need to be emailed to other people for review – if you use all internal parts, they don’t have to worry about having the correct version of each part, and there’s only one file to send. Like Mike said, once the design is finalized, you can go back and assign part numbers and save everything “the right way” to an individual part file. Plus, no going back to reshuffle part numbers after each revision to the concept. There’s definitely potential for laziness/abuse, though…
June 26, 2008 at 5:27 pm
Hey Mike,
Thanks for the comment! That really is a great use for virtual components!
June 26, 2008 at 4:45 pm
Gabi,
I use Virtual Comps everyday. All of our mold designs are done top-down, and V.C. has been a big time saver. Since our molds are usually one-off items, we never assign part numbers until the design is finished. With V.C. we can finish the design, then assign names (file names) without having to do it in SW Explorer. V.C. are a good feature if you use them correctly!
June 26, 2008 at 4:08 pm
Thanks, Matt! That makes a lot more sense than keeping a huge mumbo-jumbo assembly full of files. I really like this functionality! You keep only what you want and nothing else.
June 26, 2008 at 2:51 pm
Nice write up. I think the point of these is that they are temporary, and once you have decided to keep them, you save them out to their own files.