Hi
Is it possible to promote all configurations at once?
Thanks in advance
Hi
Is it possible to promote all configurations at once?
Thanks in advance
Hi Igor,
You have been very active in this forum as of lately. Most of the time you suggest the Software should work one way or another. And other times you ask "I want this for that reason..." Let me make one thing clear. You can ask what ever question you want. I do however get the impression that you want to dictate SW what it should or should not do. I don't think this will get you anywhere. My advise. Try to understand how the software works and what it's strength and weaknesses are. Then use a workflow that serves your needs while you understand the tool as it is. That approach will get you closer to where you want to be. Not trying to poke at you. Just being realistic about the situation at hand.
Now back to your question: can you promote all configuration at once. There is no single button in SW that does such a thing.
You can set a assembly configuration to "Promote". If all subassemblies are setup that way then you have what you wanted. But the drawback is that you can't see Subassemblies in your BOM no more. The other approach is API - dissolve all subassemblies in BOM. That can work too but even that is slow for large BOM's. If you want more info there is plenty of discussions in this forum about the subject.
Only a search away.
Good luck.
Elmar
Thank you Elmar, I don`t dictate SW what it should and how it should be, although sometimes I want very much).
The problem is in my very poor english. In the nearest feature I solve this problem and my messages will be round like sphere)).
Hi Igor,
I know all about language barrier. English is my second language as well.
Reading your post give me the impression that you have rather little experience in using SW as a design tool. An impression as I said.
A natural progression is to learn a skill first then you can start on improving it. A person with experience is more likely to give valuable input then a person without experience. After all you can only teach something that you know how to do yourself.
I see communication as a tool. I use it to exchange with one anther. I use it to achieve a certain outcome. And what you communicate is not what you say but what is received. Just like SW...if I want to draw a circle but what ends up being on screen is rectangle is the same as saying something one way while it is understood as something completely different. I learned if you want someone to understand you, then it is your responsibility to make sure it is received as intended. Not the other way around. Knowledge without the ability to properly communicate is not of much use to anyone else.
Elmar
And at last, look at how SW wants to work with it`s customers
https://forum.solidworks.com/message/815045#comment-815045
comment of Shaodun Lin
Elmar Klammer wrote:
You can set a assembly configuration to "Promote". If all sub-assemblies are setup that way then you have what you wanted.
I also use promote for my bolt assemblies. This saves me lot of mates, clicks and time when using them in next level assemblies. And like Igor I also create configurations for them for various sizes/lengths, etc.
Igor, since idea submission is closed, I would suggest you to raise your enhancements as enhancements requests via your VAR or customer portal. Crrently creating a macro would be an option.
Just as info, there are a couple of ways to get your BOM to work right. Sound like you are currently using a "Top level only" BOM and promoting all of the subassemblies that you want all parts to show up in the BOM.
I have always used the opposite approach: Parts Only BOM, and hide child components for any subassembly that I don't want to see components for. When you hide child components, the subassembly shows up in the BOM instead of the parts.
Here are macro codes if someone want to try. Please backup and use on your own risk.
Option Explicit Sub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim vConfNameArr As Variant Dim sConfigName As String Dim i As Long Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc vConfNameArr = swModel.GetConfigurationNames For i = 0 To UBound(vConfNameArr) sConfigName = vConfNameArr(i) swModel.ShowConfiguration2 sConfigName swModel.EditConfiguration3 sConfigName, sConfigName, "", "", swConfigurationOptions2_e.swConfigOption_DoDisolveInBOM Next i End Sub
Hi Deepak,
Your macro worked wonders with a customer of mine. One minor quirck is that the macro changed also under the heading 'Bill of Materials Options' the setting from 'Configuration Name' to 'Document Name'. Any idea how to correct this? Did some trying without luck so far.
Ronald, I'm not sure why the codes would change that. Anyways try the following codes in which I've set the macro to get that setting/option first and set it to same setting/option.
Option Explicit Sub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim vConfNameArr As Variant Dim sConfigName As String Dim i As Long Dim sConfig As Configuration Dim BOMPartNumber As String Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc vConfNameArr = swModel.GetConfigurationNames For i = 0 To UBound(vConfNameArr) sConfigName = vConfNameArr(i) Set sConfig = swModel.GetConfigurationByName(sConfigName) BOMPartNumber = sConfig.BOMPartNoSource swModel.ShowConfiguration2 sConfigName swModel.EditConfiguration3 sConfigName, sConfigName, "", "", swConfigurationOptions2_e.swConfigOption_DoDisolveInBOM sConfig.BOMPartNoSource = BOMPartNumber Next i End Sub
Hi Deepak,
This one does exactly as expected; changes only the 'Promote' setting and leaves the rest untouched. Superb!
Using your example I checked what the values are when the different options are set and that way I changed the macro so the settings can be set to whatever is wanted. Great!
Thanks again!
Hi all,
I found two existing enhancement requests on this. One is an exact match for what Igor Fomenko requested, the other is a slightly different approach. Here are the SPR numbers for both of them in case you want to vote on them in the Customer Portal (search under Enhancement Requests).
SPR 332070: Ability to change Properties, Advanced options and Bill Of Materials Options (Show/Hide/Promote) on multiple configurations.
SPR 638770: Ability to set BOM Options (show/hide/promote) same as current (active) configuration. This would mean that as you create a new configuration, it inherits the same BOM options as the currently active configuration.
Nice work on the macro Deepak Gupta !
Thanks Nick for sharing the SPR numbers, voted on both of them. And added comments for extending these options to assembly files also.
It is necessary for my bolt assemblies to get good BOM.
If SW provide ability to add this property as design table parameter it'll be very easy to do