Yes, DriveWorks Pro has an open API. Not sure about Solo and Express.
Solo and Xpress don't have an sdk available. There is an sdk for Pro. Something to keep in mind is that the provided code snippets are generally in VB.Net, so if you do need to work with the Pro sdk you'll need to be comfortable either working in or translating from VB.Net. Also, the documentation is, um, sparse... But if you've worked with sdk's provided by small software companies before, that's nothing out of the ordinary.
Pro also gives you the option of running Solidworks vba macros after model generation, which would give you the option to tap into any Solidworks-based coding you have available. As a developer working with Pro and Solidworks, I've found that handling the common Solidworks-side tasks with Solidworks macros to be beneficial in regards to encapsulation of automation methods and also in providing access to these tools for manual drafting tasks.
If you'd be deploying forms to non-Solidworks-users that will produce models on demand, that's what Driveworks Pro is for. Otherwise, if your users would be at Solidworks stations anyway (which would have access to any SW addins or macros), I'd suggest Solo or Xpress - And if you change your mind later and decide to upgrade, Driveworks projects scale upwards very well.
I guess what I'm saying is that while Driveworks is a very efficient way to handle tedious modeling, any extensive automation project should be expected to need some custom code sooner or later. Driveworks is really quick and easy to set up to handle basic modeling tasks; I can typically start setting up a basic assembly in the morning and be testing the same day (caveat - I've had lots of practice! :-) ). But that darn radius dimension that consistently gets set 20 feet away from the drawing after a rebuild? There's a vba macro for that.
This is a followup question. I am an experienced C# programmer. I have lots of experience dealing with SDKs (Office, PDF, etc), but have next to zero experience with SolidWorks (I am a quick, learn, though :-).
We have a 3rd. party software that outputs every detail of our target structure (we make steel poles) in an XML file. The first job that I assigned to myself is to develop an application simply defined as "XML to SLDASM" converter.
Do you have any tips?
DriveWorks Pro has the ability to take XML files and pass that information into SolidWorks. As a very simple example, if you were to have a tube with two dimensions, Length and Diameter. With two input controls in DriveWorks to control these dimensions. You can pass DriveWorks an XML with this information to create the model without any user input. This is great for creating lots of files very quickly.
This functionality can also look into a database and perform the same tasks looking at each row as a new model iteration. Take a look at the following topics from our online help file regarding this:
As an addition to Johns excellant explanation of our SDK, if you have a question regarding the SDK and the answer is not in our documentation, firstname.lastname@example.org will be happy to answer your questions.
Hope this helps