I recently took a support call from a customer who noticed that he was seeing asterisks instead of item numbers when he added balloons to a purchased sub-assembly inside of his assembly drawing. I thought that it might make for a good case study about what caused the asterisks to show instead of item numbers, and what alternative methods could be used to achieve the customer's desired result.
As an example, let's suppose that you manufacture toy foam arrow guns, like the one below:
The toy consists of a main body sub-assembly (SUB_body.sldasm), two copies of a sub-assembly for the "trigger" (SUB_trigger.sldasm) and two copies of a part that defines the foam arrow (Arrow.sldprt). The different components are highlighted in the color coded image above, and you can see the full tree structure of the assembly to the left (click to view in a pop-out window).
As in my support case, let's suppose that one of the sub-assemblies (SUB_body) is a purchased component, and that your purchasing department will not need any details from the sub-assembly components (Finger Grip, Nozzle, and Main Body). In that case, you wouldn't want or need for those components to show up if you did a detailed bill of material in your drawing for the top level assembly.
How do you go about doing this? If you're like the customer that called into me, you would go into the component properties for each component within SUB_body.sldasm, and select the "exclude from Bill of Materials" option and go about your business.
However, if you create an indented or parts-only BOM on your assembly drawing, you will see this when you add your balloons:
Notice how the balloon coming off of the finger guard on the body sub-assembly has an asterisk instead of showing item #1. The reason this happens is because the balloon leader is attached to physical geometry- in this case, an edge that belongs to the finger grip part. Since that part has the "Exclude from bill of materials" box checked, it does not get an item number assigned to it, and the balloon field defaults to show an asterisk instead.
If you want to see a real item number show up in that balloon, you have a few options to work around this issue:
- Use a Top Level Only bill of material, which will remove your ability to call out the trigger sub-assembly components independently.
- Attach the end of your leader to an assembly feature within SUB_body.sldasm. You could select the origin, or an assembly feature (such as a sketch).
- If you truly do not care about the sub-components in your assembly, you can save the assembly as a part file.
- Clear the "exclude from Bill of Material" option in all of your subcomponents. Go to the configuration options within SUB_body.sldasm and look at the Bill of Materials Options. You will see an option for "Child component display when used as a subassembly". Switch from the default "Show" option and select "Hide".
"Hide" will perform the same task as excluding all of your subcomponents, but it will also help you keep your balloons simple. Now, when you select an edge or surface from the Finger Grip, Nozzle or Main Body components, the balloon will grab the item number for the subassembly, instead of defaulting to the asterisk. The "Promote" option would remove the subassembly from the bill of material, and promote all of the subcomponents in its place.
Here is an example of what that drawing would look like if you elect to go with option 4:
Dave Mandl is an Applications Engineer at Graphics Systems, a SolidWorks Value Added Reseller with locations across Wisconsin and Illinois. He is a regular contributor to the Graphics Systems’ blog: SolidNotes, your source for SolidWorks, Simulation, Data Management, & Product Communication Tips & Tricks.