The process more or less boils down to this:
Start a new VB2010 "Class Library" project.
Add references (you'll have to use the Browse option) to IMSIGXMGD.dll and TCDotNetInterfaces.dll
In your class definition, type:
When you complete the line and press Enter, it will stub in all the tool functions and properties you need. From there, use my examples as a guideline.
Be sure to target the correct processer -- use x64 specifically for 64-bit TurboCAD; you may use x86 or AnyCpu for 32-bit TurboCAD tools.
Once your dll is created, be sure to copy it to your TurboCAD's Program/Draggers folder.
For your tool to properly interface with TurboCAD, it needs to use the format I have followed in the examples, i.e.:
It needs a Description property (readonly).
It needs to fill out the ToolInfo fields in the GetToolInfo function.
It needs an Initialize function. This may be as simple as "Return True", or could get more complex, depending on your tool.
It needs a Run function. This is what happens when the user starts your tool.
It needs a Terminate function. Usually a simple "Return True" will suffice, but you may need to do extra clean up, depending on how your tool works.
It needs an UpdateStatus function. As pointed out below, this is where I enable or disable the MultiAdd tool, based on whether or not anything is selected. If your tool has no entry requirements, a simple "Enabled = True ->Return True" should suffice.
Some very light descriptions of the SDK functions are available in the SDK/Docs folder of your TurboCAD installation.
I hope that helps a bit.