Is it possible to get BOM table content from Solidworks Assembly file without Solidworks Installed and Owning a License Key? I plan to build a standalone web application to export the Solidworks BOM table and process it.
I've never tried it but I'm sure this can be done. You can use GetAllExternalReferences4 method.
GetAllExternalReferences4 is a Document Manager call; do you not still need SolidWorks to be installed to access these API?
I'm not sure as I've limited knowledge with API. But can we use them using the files from API SDK?
2012 SOLIDWORKS API Help - Introduction - SolidWorks.Interop.swdocumentmgr
In fact, it is not necessary to have the SolidWorks software installed on your system to use this API. It is, however, necessary to obtain a license key for the SolidWorks Document Manager API.
Thanks for clarification.
Are you saying the call is Windows functionality?
I'm not sure what you mean by Windows functionality but I believe the Document Manager libraries are distributed independent of Solidworks. In addition to that sentence that I quoted from the documentation pages, I have two other pieces of evidence that lead me to believe that.
1. The DMDocumentManager does not require a Solidworks session to be running. When you edit a Solidworks file with that API, it is just manipulating the metadata.
2. Use of the DMDocumentManager library requires a key that must be requested through the customer portal. This key is different from your usual license key for a Solidworks installation. This makes me think that the DMDocumentManager libraries are intended to be distributed independently (the key is not meant to be shared).
2012 SOLIDWORKS API Help - Getting Started - SolidWorks.Interop.swdocumentmgr
Went out to the customer portal and you are correct, you do not need to have SolidWorks installed (or running; however that I already knew) but you do need to have an active subscription to obtain the license key.
What I meant by Windows functionality is I thought you were saying was document manager was part of windows. But according to the installation instructions there are two dlls that must be installed and registered (these can be redistributed) to use the document manager APIs. Normally they are installed when SolidWorks is installed.
It has been about ten years since I worked the document manager and I never had a need to use it on a machine that SolidWorks was not installed on. So thank you, I learned something today.
You can get a BOM table from a drawing document. I'm not sure if this works for an assembly document. Note that the BOM table must already exist in the document. This will not "build" a BOM for a document that doesn't already contain the BOM.
Please see the example: 2016 SOLIDWORKS API Help - Get BOM Tables (VB.NET)
If you need to actually build the table yourself based solely on the content of the assembly file, I think this will be daunting, although maybe not impossible.
Is it possible to get the license key of Document Manager libraries without an active Solidworks subscription since I am not using any function in Solidworks. I just want to get the data in BOM table.
If no one has an answer here, then go to the SolidWorks website and click on Contact Us under How to Buy
The SOLIDWORKS Document Manager API license key is only available to SOLIDWORKS customers who are currently under subscription
Deepak, I stated this a couple of posts ago, but I guess I was not believed. I was hoping someone from SW would chime in to confirm.
May be he didn't read this 2017 SOLIDWORKS API Help - Getting Started
So need for anyone from SW team to confirm. It is already documented.
Is there any way other than using SOLIDWORKS Document Manager API to export a BOM table data only without a Solidworks installed in the machine? For SOLIDWORKS Document Manager API license key, can I developed a standalone application that used only 1 license key and can installed to different users?
Sing Nee Jong wrote: Is there any way other than using SOLIDWORKS Document Manager API to export a BOM table data only without a Solidworks installed in the machine?
Sing Nee Jong wrote:
Is there any way other than using SOLIDWORKS Document Manager API to export a BOM table data only without a Solidworks installed in the machine?
You might have to ask someone to develop the tool for you.
For SOLIDWORKS Document Manager API license key, can I developed a standalone application that used only 1 license key and can installed to different users?
Do you mean, you've SW installed on a different machine? If yes to this question and you've active subscription, hen yes you can get the SOLIDWORKS Document Manager API license key for that seat of SOLIDWORKS.
Thanks again for your help.
I think this is how SOLIDWORKS Document Manager licensing works:
So as the summary if you are developer you need to have subscription to get and renew the keys, but your customers do not necessarily need to be on a subscription. It makes sense as all of the PDM systems (including 3rd party or SW PDM) are based on the Document Manager library and they won't stop working if the client's SOLIDWORKS subscription is expired.
P.S. And yes, it is possible to export both existing BOM tables and compound BOMs (compose it from the structure of the assembly if the table doesn't exist) using Document Manager API.
Thank you for your clear explanation.
Retrieving data ...