Jump to content
Developer Wiki and Function Reference Links Read more... ×
Mauricio Rodriguez

Starting Vectorworks Process from Plugin (External Dialog) causes Crash

Recommended Posts



I have a Plugin (menuCommand) that creates a Form Dialog (non-Modal Form from a C# Module) and from this Dialog I want to call READONLY commands to the sdk (for example: get Object Information of selected Objects in the Drawing).


When I call the functions as MenuCommands directly I have no issues. But when I attempt to call the commands from my C# Dialog, (almost any SDK command for example: "gSDK->GetObjectTypeN((Handle)objectHandle)") Vectorworks crashes with the following Exception: System.AccessViolationException". An attempt was made to read or write in the protected memory. This is often an indication that other memory is corrupted".


However, I can use  the following Functions in the same way without problems:




Is this a known limitation from the SDK that it should not be called from another Application? Or is this something I can fix? I have done a similar implementation for other CAD programs that required a form of EventHandler to trigger the SDK Functions. Would this be a viable approach? Or am I missing something trivial here?


Thanks in advance for the information.


Best regards, 



Edited by Mauricio Rodriguez

Share this post

Link to post

I’m not sure I entirely understand the question. I can say that any dialogs should be created using Vectorworks’ dialog classes. If you are using OS based dialogs, that can create issues. 



Share this post

Link to post

Hello Joshua, thanks for your reply. I just updated the description. Hopefully it is clearer now. 

I am in fact using a non-VW Dialog. But it should be possible to work with it I think.


Basically I am collecting several objects' Handles in a vector and then I want to query some attributes of the objects (Room Area for example) that I have stored in my vector. This is simply triggered by a WPF Form.


Share this post

Link to post

Hi Mauricio,


You can’t use WPF within the Vectorworks environment. The SDK has its own UI calls, presumably so the don’t interfere with the memory space if palettes and the drawing window. You can enable Dialog Builder, which lets you create dialogs with a GUI. 


You may be able to safely run python or VectorScript from your dialog, which may be enough to extract the data you need. 

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114


© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.