SDK:The Development Environment
.SDK|SDK ..SDK:Types|SDK Types ..SDK:Using the SDK|Using the SDK ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference
The Vectorworks SDK enables development of plug-ins for both the Apple Macintosh and the Microsoft Windows operating systems.
A separate development environment is used on each platform to build a plug-in for that particular platform. Depending on the specifics of the plug-in, some of the source code may be shared between the two versions and some may be platform-specific.
Installing the Development Tools
Vectorworks recommends a specific version of the development tools to be used with a particular version of the Vectorworks SDK.
This may not always be the latest version of the development tools, but it will be a version that is proven to work successfully with our SDK. If an older version is recommended, it can be obtained from Apple, Microsoft and Metrowerks by registered users.
Apple provides older versions of their tools from their ADC site. Microsoft will provide older versions through their “downgrade” program for a small fee. Call their fulfillment center at 1-800-360-7561.
Metrowerks will provide an older version of their tools free of charge, and can be reached at 1-800-377-5416.
For the Vectorworks 2009 SDK, the supported development environment on the Mac is Xcode 2.2, and on Windows it is Microsoft Visual Studio .NET 2005.
See the release notes for the latest information.
Macintosh Project and Compiler Settings
A project file is used to identify the plug-in’s source code, and specify various compile and link options.
Xcode project file have filenames that end in ".xcodeproj".
We recommend you start any plug-in from a sample or a template. If you decide not to, or you accidentally change the settings in you project, compare your projects settings with those of the supplied sample projects.
Windows Project and Compiler Settings
A project file in Visual Studio will have a “.vcproj” filename extension, and will describe how to build a particular plug-in as a Dynamic Linked Library or DLL.