Showing results for 
Search instead for 
Did you mean: 

Virtual Components Part 1


I’ve been writing primarily about Solid Edge part functionality as I’ve been learning my way through the software. I haven’t covered all the functions in parts, and I’ll want to come back to write about more of it later, but for now I want to move on and talk about something else. There’s a lot more to the software than just parts. The last series of articles was about multi-body tools and methods, which is going to serve as a bridge to working through assemblies.


This first topic in the assemblies area is going to cover Virtual Components.


Virtual Components, sometimes called “Zero D”, is a method that enables you to either layout an assembly using 2D sketch blocks, or to just create the assembly from a BOM (Bill of Materials) list of components. Virtual components can be empty documents, or they can be documents with special 2D sketch blocks that help you place the component in a layout sketch. You can also create Virtual assemblies to establish the organization of the model right from the start, without having to create actual part or assembly geometry.


The concept of virtual components is not exclusive to Solid Edge, but the ability to create an assembly from a BOM or to place parts using the 2D sketch are things you won’t find in SolidWorks. (Works used to have a Labs project called Treehouse that allowed you to build an assembly from a BOM, but the Labs area was done away with a couple of years ago.) Plus, Solid Edge goes a step further with some surprising tools for combining the ease of manipulating 2D sketch blocks with the power of 3D assembly modeling. We’ll get to that a little later.


You can work with Virtual Components in two different ways in Solid Edge:

  • Create an assembly from a BOM
  • Assemble 3D parts using 2D sketch blocks

This blog post is just going to go through the first one of these, to serve as a partial introduction to the capabilities of this tool. Virtual Components is not new, it was introduced about 10 years ago, but it may be another one of those features that doesn’t get enough attention.


In addition to creating an assembly from a BOM, you can also use Virtual Components to represent parts within the assembly that you don’t have to model. Things like compressed propane gas, grease, paint, batteries with a charge, or other non-geometrical elements that go into making your product what it is.


6.pngLet’s have a look at how to get started with Virtual Components.


This might seem obvious, but  I’ve got to say it. If you want to learn Virtual Components, you have to start with an assembly document. You can start with a blank assembly, or you can start in an existing assembly that already contains other components.  A Virtual “Component” can be either an assembly or a part. “Component” is just a generic term for an item in an assembly, whether part or assembly.


5.pngHere is the interface for creating Virtual Components:


Notice that the interface opens up with the Parts Library so that you can add either existing parts with 3D geometry, or just add virtual parts with no geometry.


The best way to add blank virtual components in this interface is to select the assembly that you want to add subassemblies or parts to, set the document type (part or assembly) and just start typing part names (or numbers), pressing Enter to create each component.


2.pngNotice parts and assemblies have different icons, and also notice that virtual components (shown in this image under the Engine in the Pathfinder) are different from the real components (shown at the bottom of the Pathfinder as Part1.par and Fourbar.asm)

If you start in an existing assembly, the Structure Editor will read the existing structure and allow you to add to it. You can also delete components.


You can create a combination of real and virtual components, which is very nice.


To make the Virtual Components into “real” components (that have files saved on a hard drive), you can use the Publish Virtual Components tool.


1.pngThe publish tools are really nice, they allow you to specify the path for each individual component, and also you can specify templates to be used for each file as well. But there is only one option for Publish, and that’s to publish all the virtual components that exist at the time. You can have virtual items like paint, glue, grease, mentioned earlier, but if they exist when you publish, they will stop being virtual. To work around this, you might add items that you want to remain virtual only after all of your other components have been 3.pngadded. A good enhancement request for this area of the software might be a selective publish option.


What I’ve shown to this point is just a quick introduction to the Virtual Component tool, and only the simplest way to use Virtual Components. There is a lot more to show, and I’m going to save that for a second post on this topic. In my next post, I’ll talk about how you can use sketches and 2D block functionality to seriously accelerate your assembly design process.



Great article Matt -- and looking forward to future installments. I encourage folks to play around with the editor itself. I know you can only cover so much here. I think folks will find some good depth and ease of use in this tool. Just fill in a name and hit return (to make a part say); key in another, hit return, another, hit return. Really fast. Drag and drop to restructure parts into different asms. RMB and "Change Component Type" if you first thing something is PAR and then want it SM. Explore!!!


This is something I have never touched, mostly because I had trouble finding a purpose for using it. Looking forward to post #2 and seeing the light!


Can you copy and paste a BOM from excel or ERP?


Yes great article again Matt... but as Chally states above... when and why would I use this. A good example of how this workflow is used would be helpful. To be honest even using Virual Companents is a mystery to me. So a demo of how these tools are used and for what, would be very enlightening.






Thanks for filling in some of the blanks there. I found the drag and drop reordering, but I had missed the RMB Change Component Type. That's very powerful.




No, I don't think you can copy/paste a whole list, but the entry is pretty quick. You can copy/paste individual component names/numbers. They have to be added one at a time. That would be another great enhancement for this tool - copy/paste structure from a text file.




Yeah, you know this is going to turn out to be more of a book than a blogSmiley Wink. You're right, I think an example would go a long way here.


The truth is that I thought Virtual Components was just about the BOM entry thing, and then when the article was mostly written, I found the 2D sketch block functionality, which is even more compelling to me than the structure. So I had to re-edit the whole thing and turn it into another multi-part post.

Gears Esteemed Contributor

So I think some important feedback here... While it is important to know the how, that is the content we normally get and Help is most helful on.  It's the when and why that seems to be hard to come by.  Think of it more as a process white paper that we would like to see.  When and why would we use this tool, how does it interact with all the other tools to fulfill the "why"?


Good point, Ken. That helps focus on what the actual need is. Thanks again.

Siemens Theorist

We were planning on showing this at the Productivity Summits around the country. My idea of how this could be used is for planning new products. If you create a virtual assembly you can create a report/BOM and copy it into a spread sheet. Then you could add cost information to that to figure out how much it could cost to produce. You could group together the purchased parts to get the purchasing folks to get estimates on that. You could plan which design groups can design each piece. Also if you added assemblies that you know you have already created you would know which areas you don't have to work on. You can also give part numbers to all the virtual components if you have a block of numbers to use. All this would be done before you create any new parts. Once the product has been costed out and you get approval to go forward then you can publish it and it would create all the parts for you. Then you could start concurrent design by design teams accessing the parts and assemblies they have  been assigned  to work on.


That is my scenario. Does that make sense?



Gears Esteemed Contributor

I really think this needs to be approached form a process of early 2D conceptual/layout work that then transforms into 3D parts with the 2D layouts still being used to initiate revisions to the then existing 3D parts.


First, let me say how much I am diggin the dialog going on here on the community. Great to see the active participation rate rising. As far as some of the comments -- many of you have it right.


Barry has it right that its a great tool to create a "shopping list". In a larger project it can be very helpful to understand scope before you even get down to the details. This was certainly one of the goals.


Ken is right that where this gets really powerful is the 2D layout etc. You can solve a BUNCH of problems in 2D, but instead of having a big-ole-sketch, you actually have 2D PARTS. You don't have to worry about all those part files and stuff yet. Then, when the time is right you publish and all the parts get created on disk and all the sketches get moved down into them and its really pretty magical from a productivity standpoint -- but Matt will tell all y'all (back in the south!) about that shortly...

Gears Esteemed Contributor

Yep, come to find out that "y'all" is singular and "all y'all" is plural... Smiley Tongue

Gears Esteemed Contributor

Then there's the in between-er [for when you don't really know how many]... "suma ya'll"  Robot LOL


But back to the post for a second...this is something I just never think of using, but seems like I really need to. Looking forward to the next installment, that will map it out a little clearer in practice.....THANKS Matt.