SolidWorks 2008 API Programming & Automation is recent self-published book by Luke Malpass, founder of AngelSix. (You will not find his book on Amazon.) Mr. Malpass wrote this book to fill an apparent gap in guide books about SolidWorks API. The last book that I know of written specifically on this topic was Automating SolidWorks 2006 using Macros by Mike Spens, published way back in 2005. Like that book, Mr. Malpass’ new book is spiral bound.
Mr. Malpass states in his introduction that he wrote his book to share his “ways of thinking and programming and hopefully to enlighten at least one other person’s day.” Much of the book is written in this same friendly manner. At times, the book is not written in a way that some would consider professional. Yet, he gets his points across clearly. The book is accessibly readable by experienced and novice programmers alike.
The first chapter is correctly labelled “The Basics”. The first section gets right into the task at hand. The lesson teaches how to make and use recorded macros. The book next jumps right into writing macros from scratch. It takes a step by step approach that reveals what code is necessary. It explains each line in Mr. Malpass’ ever present friendly style.
As one reads through the book, they will find code examples being built and explained piece by piece in both C# and VBA. These macros are real world examples that the reader may find immediately useful. Instructions are so clear that many will be able to apply the demonstrated code in their own macros.
One good example of this is found in the first chapter. Right near the beginning of the book, Mr. Malpass provides instructions on how to make a macro that save each drawing sheet as an individual DXF File automatically. This example is great because this question actually comes up a lot in the online message forums.
Many more important topics are extensively covered. These include working with selected objects, implementation of Property Manager Pages, traversing through each type of document, Custom Property Manager, working with drawings, use of forms, and how to create and use Add-ins (something of special interest to many). Additionally, all macro examples within the book are included in completed form on a CD.
Of course, the book covers both C# and VBA code examples. However, it also often talks extensively about VB.NET. I found the instructions regarding VB.NET to be distracting, especially since few VB.NET examples appear in the book except for one section written specifically for it. Granted, VB.NET and VBA are very similar. However, in my opinion, differences are enough to warrant specific examples for each language. It should be noted that some VB.NET examples are provided on the CD. It seems to me that this book may have been better served if it focused on VB.NET and VBA instead of C# and VBA. C# may have been better handled within its own book. This would’ve allowed for more room in the book for more specific examples on even more topics, such as more information on how to read and utilize data from external files or methods specifically addressing the handling of BOM’s.
One minor point of concern I found is within statement of ownership by the author. It’s a boiler plate “all rights reserved” statement that limits reproduction or distribution without written permission of the publisher. As this applies to the book itself, I stand by such statements. However, in my view, it is not practical to place such limitations on code examples. Doing so kind of defeats the purpose of the book. That is not to say an author should not hold control over their works, but that if an author chooses to provide examples on how to do something, limitations should not be placed on the examples themselves. (SolidWorks Corp makes a statement in their API Help that grants permission for the unlimited use of their examples.)
That aside, my opinion is that this book is great for anyone with programming exposure and who wishes to learn how to apply that experience directly to SolidWorks. It is not meant for the person that has never attempted to program, unless that person is a brave soul willing to dive right in to the process. I believe this book will be useful for people from novices to those of advanced programming skill. It may also be a good reference guide to professionally trained expert programmers for SolidWorks specific programming possibilities and requirements. I recommend this book.
Disclaimer: This review is unsolicited by the book’s author. It is based on use of product that I purchased at full price. I receive no compensation for referrals.
If you are interested in SolidWorks 2008 API Programming & Automation, it may be purchased here: AngelSix.com.