Automating Solid Edge from a web application can be challenging. Many have tried, many have failed (including me). In the following video, I dive head first into the common issues and propose possible solutions.

Editor note: This post is also available on the Solid Edge Developer Blog.

One of the biggest challenges of automating Solid Edge (for me at least) is the sheer size of the API. SDK documentation and examples are nice but these are static views of the API. What would be extremely helpful is to have a runtime view of the API. This is where Spy for Solid Edge steps in. This is an open source project on GitHub made available by the Solid Edge Developer Community.

I wrote and released the original application (formerly Solid Edge Spy) back in 2005 on my personal website. Open source was not as popular at the time and I chose to not share my code. Released at version 1.0, it had not been updated since until December 2013. At that time, our community was getting more involved in open source so I made the decision to share the rewritten code for all to see. Most won't care about the code itself, and that's ok, but for me it's the concept of contributing my work to the community and opening the door for others to contribute.

The current release of Spy for Solid Edge has a lot of functionality, too much to really cover in a single blog post so I made a video demonstrating its functionality. I honestly tried to make it a short video but it ended up being 27 minutes long. I encourage you all to download and install the latest release and give it a test drive. I hope you all find it as incredibly useful as I have.


Editor note: This post is also available on the Solid Edge Developer Blog.

Those who have followed me over the years likely notice that the site looks a bit different. I created this site in 2005 give the Solid Edge Developer Community a place to collaborate because at the time, we didn’t have a better alternative. Now that Siemens is hosting the community, my site has been relegated to a blog site and I’m ok with that.

There are a million blogging options out there but I want to explain why I chose the solution that I did. If you’ve ever spoken with me, you’ll know that I’m terrible at web programming. I’ve also recently hit the GitHub scene in an effort to expand the Solid Edge Community open source initiative. Recently, I read a blog post from one of my idols, Scott Hanselman. In that post, Scott mentioned Mads Kristensen’s MiniBlog project. I quickly realized this was a perfect opportunity for me to learn some modern ASP.NET and get my feet wet forking projects on GitHub.

Needless to say, I’ve had a blast working with MiniBlog and learning ASP.NET\Razor by creating my own theme. My theme is still a work in progress as I learn. I am aware of a few issues but I’ll solve them as a I go. Special thanks to Mads Kristensen for creating and sharing MiniBlog and Scott Hanselman for bringing it to my attention.

I've said it before but it's worth mentioning again. One of the biggest challenges to learning the Solid Edge API is the sheer size of the API. The Solid Edge API is HUGE and takes a considerable amount of time to learn. It's also not always obvious how certain APIs work and can be a challenge to get right. Throw in the various programming languages (they all work differently) and you've got yourself a headache. Snippets can be helpful but often not enough to accomplish a specific task in full. Documentation will get you so far but what programmers really need are examples. Solutions and projects in our favorite language that we can open, compile and start learning.

Welcome to the Samples for Solid Edge project on CodePlex. CodePlex is an open source project hosting site. This project was created and is dedicated to providing high quality examples of how to use the various Solid Edge APIs. API samples, full demos and addins are available in C++, C# and Visual Basic.

API Samples

The C# and Visual Basic languages contain an API Samples solution that has a user friendly GUI. Simply navigate to the desired API and\or environment and execute\debug pre-built samples.


Full demos are created when providing a simple API sample is not enough. As an example shown below, the Mouse Events demo demonstrates how to create a Command object and leverage its Mouse property and events to select graphical objects in the Solid Edge GUI.


There are also several addin projects that demonstrate how to create addins for Solid Edge. AddIns can be very complicated and difficult to get right. These projects demonstrate what is possible. The following screenshot is from the RibbarBar addin project.


I do my best to think up quality examples that you all want and need. If you have specific examples that you would like to see, feel free start a discussion with me in the project forums. I am also interested in ANY code examples that you can and are willing to share. It's much easier and faster for me to convert an existing example than it is to create one from scratch.

Thank you to all who have contributed examples so far. As I said in the closing statement of my A new beginning post, we are stronger together than we are as individuals.

Editor note: This post is also available on the Solid Edge Developer Blog.

As most of you know, I started JasonNewell.NET in 2005 in an effort expand and grow the Solid Edge developer community. At that time, we did not have a good medium to collaborate so I didn't mind hosting a website and forums. Almost immediately after I launched the site, I started getting pulled in many different directions and never really got the chance to give the community the attention that it needed or deserved. I did my best and for the most part am pleased with how far we've come together over the years.

For the past several years, I have been vocal in saying that I thought the community site should be hosted by Siemens. My opinion was that it would be good for me, the community and Siemens. Like so many other things I've brought to Siemens attention, Karsten, Dan, Mark, etc. listened and acted to give us the new Solid Edge Developer Forum. Understandably, it took time to formulate a plan and implement it but here we are. I personally couldn't be happier, on many levels.

I plan on leaving JasonNewell.NET as-is until the end of the year. After that I time, I'll likely change over to a Wordpress blog site although the majority of my Solid Edge related blogs will be on the new Solid Edge Developer Blog. I would like to thank everyone that contributed over the years. It was a good run and I am confident this is the right next step for the community. See you all on the other side!

Here are the new links: