Difference between revisions of "Writing Plugins"

From WireCAD Online Help
Jump to: navigation, search
Line 1: Line 1:
{{unfinished}}
+
{{unfinished}} WireCAD '''XLT''' and '''PRO''' provide access to the WireCAD Software Development Kit ('''SDK'''). With the WireCAD SDK you can write code to customize WireCAD to fit your needs. The assumption is that you have a basic understanding of [[Csharp programming syntax|C# programming syntax]] and structure (the examples are in C# but you may use and .NET programming language that you are comfortable with). If you do not understand it don't let that deter you. It is really very easy to understand. Microsoft has tons of examples. Just get on the web.
WireCAD '''XLT''' and '''PRO''' provide access to the WireCAD Software Development Kit ('''SDK'''). With the WireCAD SDK you can write code to customize WireCAD to fit your needs. The assumption is that you have a basic understanding of [[Csharp programming syntax|C# programming syntax]] and structure (the examples are in C# but you may use and .NET programming language that you are comfortable with). If you do not understand it don't let that deter you. It is really very easy to understand. Microsoft has tons of examples. Just get on the web.
+
 
+
 
STUDY THE EXAMPLES in the \WireCAD shared\WireCAD SDK\Examples folder
 
STUDY THE EXAMPLES in the \WireCAD shared\WireCAD SDK\Examples folder
+
 
If you have WireCAD SDK specific questions post them on the discussion pages here along with as much code as you can and an explanation of what you are
+
If you have WireCAD SDK specific questions post them on the discussion pages here along with as much code as you can and an explanation of what you are trying to do. We will try to help. If you need more help or if you are developing a commercial plugin for WireCAD you may want to consider purchasing SDK assurance. Please call the office for more information. Please note that we cannot take phone support calls for SDK issues unless you are an SDK assurance member.
trying to do. We will try to help. If you need more help or if you are developing a commercial plugin for WireCAD you may want to consider
+
 
purchasing SDK assurance. Please call the office for more information. Please note that we cannot take phone support calls for SDK issues unless you are an SDK assurance member.
+
+
 
The first place to go with any programming effort is the ubiquitous "Hello World" example in the Basic folder.
 
The first place to go with any programming effort is the ubiquitous "Hello World" example in the Basic folder.
  
==Plugin Types==
+
== Plugin Types ==
 +
 
 
NOTE: there are two types of WireCAD plugin.
 
NOTE: there are two types of WireCAD plugin.
 +
 
#The automatically discovered (AD) plugin that loads silently and may or may not interact with the user.
 
#The automatically discovered (AD) plugin that loads silently and may or may not interact with the user.
 
#Plugins that require a WireCAD .wpi manifest file that describes where the plugin can be found, how to call it, what icon to display and on which toolbar or menu, etc. Both plugins implement the [[WireCAD.IPlugin]] interface.
 
#Plugins that require a WireCAD .wpi manifest file that describes where the plugin can be found, how to call it, what icon to display and on which toolbar or menu, etc. Both plugins implement the [[WireCAD.IPlugin]] interface.
  
==Plugin File Naming Conventions==
+
== Plugin File Naming Conventions ==
 +
 
 
AD plugins are named YourPluginName.Plugin.Dll and are placed in the ..\WireCADx\bin folder. Standard WireCAD plugins have no naming requirements but must be accompanied by a .wpi file in the ..\WireCADx\bin\plugins folder.
 
AD plugins are named YourPluginName.Plugin.Dll and are placed in the ..\WireCADx\bin folder. Standard WireCAD plugins have no naming requirements but must be accompanied by a .wpi file in the ..\WireCADx\bin\plugins folder.
+
 
To create a wpi file you can use the utility in [[GUI:Plugin_Manager|Plugins>Plugin Manager [New PI Info]]]
+
To create a wpi file you can use the utility in [[GUI:Plugin Manager|Plugins>Plugin Manager [New PI Info]]]
+
 
 
Take some time to read through the code. The interface is very simple, yet you can access most of the WireCAD object model including drawing, data access, grids, GUI, reports, etc.
 
Take some time to read through the code. The interface is very simple, yet you can access most of the WireCAD object model including drawing, data access, grids, GUI, reports, etc.
+
 
 
You can also create your own forms and functions to interact with the WireCAD objects.
 
You can also create your own forms and functions to interact with the WireCAD objects.
+
 
  
  
 
== THIRD PARTY LIBRARIES ==
 
== THIRD PARTY LIBRARIES ==
  
'''WIRECAD USES THIRD PARTY LIBRARIES THAT MAY REQUIRE YOU TO PURCHASE DEVELOPER COPIES'''.<br>
+
'''WIRECAD USES THIRD PARTY LIBRARIES THAT MAY REQUIRE YOU TO PURCHASE DEVELOPER COPIES'''.<br/>PLEASE DO NOT IGNORE THIS STATEMENT. THESE ARE GREAT LIBRARIES AND IF YOU ARE PLANNING TO DEVELOP A COMMERCIAL PLUGIN FOR WIRECAD YOU WILL WANT TO HAVE THEM. If you are developing a small project or line of business function for your own use you may not need to purchase licenses. Here is an example: If you want your plugin to have the same look and feel, or create a custom form with the same gridview or treeview as WireCAD you will need to purchase the Developer Express library. If you are developing a custom form that needs to show its own drawing engine you will need to purchase the VectorDraw developer framework. If, on the other hand, you are able to use the WireCAD baseforms object, are happy with the WinForms controls and can develop using the WireCAD drawing engine then you can get started without spending a dime.
PLEASE DO NOT IGNORE THIS STATEMENT. THESE ARE GREAT LIBRARIES AND IF YOU ARE PLANNING TO DEVELOP A COMMERCIAL PLUGIN FOR WIRECAD YOU WILL WANT TO HAVE THEM. If you are developing a small project or line of business function for your own use you may not need to purchase licenses. Here is an example: If you want your plugin to have the same look and feel, or create a custom form with the same gridview or treeview as WireCAD you will need to purchase the Developer Express library. If you are developing a custom form that needs to show its own drawing engine you will need to purchase the VectorDraw developer framework. If, on the other hand, you are able to use the WireCAD baseforms object, are happy with the WinForms controls and can develop using the WireCAD drawing engine then you can get started without spending a dime.
+
 
 +
 
 +
 
 +
== WireCAD APIs ==
 +
 
 +
WireCAD7.exe API
 +
 
 +
WireCAD7 Project Database Data Access Layer (DAL)
 +
 
 +
WireCAD7 Global Database Data Access Layer (DAL)
 +
 
 +
[http://wwww.wirecad.com/api/70/exe http://wwww.wirecad.com/api/70/exe]

Revision as of 17:01, 18 March 2015


THIS PAGE IS INCOMPLETE PLEASE ADD IMAGES AND SUPPORTING TEXT

WireCAD XLT and PRO provide access to the WireCAD Software Development Kit (SDK). With the WireCAD SDK you can write code to customize WireCAD to fit your needs. The assumption is that you have a basic understanding of C# programming syntax and structure (the examples are in C# but you may use and .NET programming language that you are comfortable with). If you do not understand it don't let that deter you. It is really very easy to understand. Microsoft has tons of examples. Just get on the web.

STUDY THE EXAMPLES in the \WireCAD shared\WireCAD SDK\Examples folder

If you have WireCAD SDK specific questions post them on the discussion pages here along with as much code as you can and an explanation of what you are trying to do. We will try to help. If you need more help or if you are developing a commercial plugin for WireCAD you may want to consider purchasing SDK assurance. Please call the office for more information. Please note that we cannot take phone support calls for SDK issues unless you are an SDK assurance member.

The first place to go with any programming effort is the ubiquitous "Hello World" example in the Basic folder.

Plugin Types

NOTE: there are two types of WireCAD plugin.

  1. The automatically discovered (AD) plugin that loads silently and may or may not interact with the user.
  2. Plugins that require a WireCAD .wpi manifest file that describes where the plugin can be found, how to call it, what icon to display and on which toolbar or menu, etc. Both plugins implement the WireCAD.IPlugin interface.

Plugin File Naming Conventions

AD plugins are named YourPluginName.Plugin.Dll and are placed in the ..\WireCADx\bin folder. Standard WireCAD plugins have no naming requirements but must be accompanied by a .wpi file in the ..\WireCADx\bin\plugins folder.

To create a wpi file you can use the utility in Plugins>Plugin Manager [New PI Info]

Take some time to read through the code. The interface is very simple, yet you can access most of the WireCAD object model including drawing, data access, grids, GUI, reports, etc.

You can also create your own forms and functions to interact with the WireCAD objects.


THIRD PARTY LIBRARIES

WIRECAD USES THIRD PARTY LIBRARIES THAT MAY REQUIRE YOU TO PURCHASE DEVELOPER COPIES.
PLEASE DO NOT IGNORE THIS STATEMENT. THESE ARE GREAT LIBRARIES AND IF YOU ARE PLANNING TO DEVELOP A COMMERCIAL PLUGIN FOR WIRECAD YOU WILL WANT TO HAVE THEM. If you are developing a small project or line of business function for your own use you may not need to purchase licenses. Here is an example: If you want your plugin to have the same look and feel, or create a custom form with the same gridview or treeview as WireCAD you will need to purchase the Developer Express library. If you are developing a custom form that needs to show its own drawing engine you will need to purchase the VectorDraw developer framework. If, on the other hand, you are able to use the WireCAD baseforms object, are happy with the WinForms controls and can develop using the WireCAD drawing engine then you can get started without spending a dime.


WireCAD APIs

WireCAD7.exe API

WireCAD7 Project Database Data Access Layer (DAL)

WireCAD7 Global Database Data Access Layer (DAL)

http://wwww.wirecad.com/api/70/exe