Hi Art,
I use VS express 2013 with acad 2015 and bricscad v15.
The work perfectly, so do not look for other versions, unless you want to go higher than vs 2013.
As long as the vs version supports the .net framework your acad uses (4.5 for 2015), you are good.
If you use express, and make a fresh project, it will seem to not work with debugging in acad.
You need to modify the myprog.csproj.user to have code like this, that tells it what to start when you debug:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<StartAction>Program</StartAction>
<StartProgram>C:\Program Files\Autodesk\AutoCAD 2015\acad.exe</StartProgram>
<StartArguments>/nologo /p "HA_C3D2015" /b "C:\+Storage\Programming\DotNet\AcadXtra\AcadXtra 2015 Load.scr"</StartArguments>
<StartWorkingDirectory>C:\+Storage\Programming\DotNet\CTCivilXtra\bin\Debug</StartWorkingDirectory>
</PropertyGroup>
</Project>
tweak the params as needed, you can likely just have the acad.exe path for startarguments, not the /p /b stuff.
I recommend you try using C# instead of vb, as the people with the answers seem to prefer it. Many came from c++ backgrounds so have a taste for it.
I do not use templates, as you need to know how to make things from scratch, and its so easy anyway.
As far as making drawings from params, you can do that really nicely with .net, but you must run .net things from within an acad session.
You might use the coreconsole.exe portion of acad to get that session, it is like acad at the dos prompt.
Otehrs can comment how to start a minimized acad session with .net.
Note that cheaper clones of acad like bricscad have .net api's also, so are good options IMO.
The trick with .net is learning how to structure helper functions so you build libraries of subroutines that simplify certain things.
.net uses "transactions" like c++, so lets you shove in lots of entities at once to the db, while vb and lisp only do one transaction per entity.
Its a 10x speed increase or more in many cases to use .net.
Also, the VS environment is uber slick.
For some fun, read up on what extension methods are. Once you define them, they show up on the intellisense list when you type . after some variable.
So vs suggests methods defined for just that type, which is awesomely handy if you have hundreds of helper functions.
It narrows down the list for you.
Only bummer is to debug, it startes a session, then closes it when done, no code editing allowed while open, just debug info.
So you find the issue, stop debug, fix, then start again.
internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties