CAD 二次开发入门:CAD插件编译、集成、调试


![]() |
![]() |
<PropertyGroup Condition="'$(TargetFramework)|$(Platform)'=='net35|x64' And ('$(Configuration)'=='Debug'or'$(Configuration)'=='RDebug'or'$(Configuration)'=='Release')"><DefineConstants>$(DefineConstants);AutoCAD2010</DefineConstants></PropertyGroup><PropertyGroup Condition="'$(TargetFramework)|$(Platform)'=='net40|x64' And ('$(Configuration)'=='Debug'or'$(Configuration)'=='RDebug'or'$(Configuration)'=='Release')"><DefineConstants>$(DefineConstants);AutoCAD2013</DefineConstants></PropertyGroup><PropertyGroup Condition="'$(TargetFramework)|$(Platform)'=='net45|x64' And ('$(Configuration)'=='Debug'or'$(Configuration)'=='RDebug'or'$(Configuration)'=='Release')"><DefineConstants>$(DefineConstants);AutoCAD2015</DefineConstants></PropertyGroup><PropertyGroup Condition="'$(TargetFramework)|$(Platform)'=='net461|x64' And ('$(Configuration)'=='Debug'or'$(Configuration)'=='RDebug'or'$(Configuration)'=='Release')"><DefineConstants>$(DefineConstants);AutoCAD2017</DefineConstants></PropertyGroup><PropertyGroup Condition="'$(TargetFramework)|$(Platform)'=='net472|x64' And ('$(Configuration)'=='Debug'or'$(Configuration)'=='RDebug'or'$(Configuration)'=='Release')"><DefineConstants>$(DefineConstants);AutoCAD2019</DefineConstants></PropertyGroup><PropertyGroup Condition="'$(TargetFramework)|$(Platform)'=='net48|x64' And ('$(Configuration)'=='Debug'or'$(Configuration)'=='RDebug'or'$(Configuration)'=='Release')"><DefineConstants>$(DefineConstants);AutoCAD2021</DefineConstants></PropertyGroup><PropertyGroup Condition="'$(TargetFramework)|$(Platform)'=='net8.0-windows|x64' And ('$(Configuration)'=='Debug'or'$(Configuration)'=='RDebug'or'$(Configuration)'=='Release')"><DefineConstants>$(DefineConstants);AutoCAD2025</DefineConstants></PropertyGroup>



新建文件夹:在解决方案目录下,新建插件文件夹,并且在插件文件夹下增加Debug、RDbug、Release三个文件夹,每一个文件夹下新建不同版本CAD文件夹,以Debug为例

编辑生成后事件也是采用直接编辑项目配置文件的方式
<Target Name="PostBuild_cad2010" AfterTargets="PostBuildEvent" Condition="'$(TargetFramework)|$(Platform)'=='net35|x64'"><Exec Command=" echo 复制文件$(TargetFileName)
 echo $(OutDir)$(TargetFileName)
 echo $(SolutionDir)插件\$(Configuration)\AutoCAD2010\$(TargetFileName)
 copy $(OutDir)$(TargetFileName) $(SolutionDir)插件\$(Configuration)\AutoCAD2010\$(TargetFileName)" /></Target><Target Name="PostBuild_cad2013" AfterTargets="PostBuildEvent" Condition="'$(TargetFramework)|$(Platform)'=='net40|x64'"><Exec Command=" echo 复制文件$(TargetFileName)
 echo $(OutDir)$(TargetFileName)
 echo $(SolutionDir)插件\$(Configuration)\AutoCAD2013\$(TargetFileName)
 copy $(OutDir)$(TargetFileName) $(SolutionDir)插件\$(Configuration)\AutoCAD2013\$(TargetFileName)" /></Target><Target Name="PostBuild_cad2015" AfterTargets="PostBuildEvent" Condition="'$(TargetFramework)|$(Platform)'=='net45|x64'"><Exec Command=" echo 复制文件$(TargetFileName)
 echo $(OutDir)$(TargetFileName)
 echo $(SolutionDir)插件\$(Configuration)\AutoCAD2015\$(TargetFileName)
 copy $(OutDir)$(TargetFileName) $(SolutionDir)插件\$(Configuration)\AutoCAD2015\$(TargetFileName)" /></Target><Target Name="PostBuild_cad2017" AfterTargets="PostBuildEvent" Condition="'$(TargetFramework)|$(Platform)'=='net461|x64'"><Exec Command=" echo 复制文件$(TargetFileName)
 echo $(OutDir)$(TargetFileName)
 echo $(SolutionDir)插件\$(Configuration)\AutoCAD2017\$(TargetFileName)
 copy $(OutDir)$(TargetFileName) $(SolutionDir)插件\$(Configuration)\AutoCAD2017\$(TargetFileName)" /></Target><Target Name="PostBuild_cad2019" AfterTargets="PostBuildEvent" Condition="'$(TargetFramework)|$(Platform)'=='net472|x64'"><Exec Command="echo 复制文件$(TargetFileName)
 echo $(OutDir)$(TargetFileName)
 echo $(SolutionDir)插件\$(Configuration)\AutoCAD2019\$(TargetFileName)
 copy $(OutDir)$(TargetFileName) $(SolutionDir)插件\$(Configuration)\AutoCAD2019\$(TargetFileName)" /></Target><Target Name="PostBuild_cad2021" AfterTargets="PostBuildEvent" Condition="'$(TargetFramework)|$(Platform)'=='net48|x64'"><Exec Command=" echo 复制文件$(TargetFileName)
 echo $(OutDir)$(TargetFileName)
 echo $(SolutionDir)插件\$(Configuration)\AutoCAD2021\$(TargetFileName)
 copy $(OutDir)$(TargetFileName) $(SolutionDir)插件\$(Configuration)\AutoCAD2021\$(TargetFileName)" /></Target><Target Name="PostBuild_cad2025" AfterTargets="PostBuildEvent" Condition="'$(TargetFramework)|$(Platform)'=='net8.0-windows|x64'"><Exec Command=" 
 echo 拷贝文件夹 
 xcopy $(SolutionDir)Depend\Configuration\ $(SolutionDir)插件\$(Configuration)\Configuration\ /Y /E
 echo 复制文件$(TargetFileName)
 echo $(OutDir)$(TargetFileName)
 echo $(SolutionDir)插件\$(Configuration)\AutoCAD2025\$(TargetFileName)
 copy $(OutDir)$(TargetFileName) $(SolutionDir)插件\$(Configuration)\AutoCAD2025\$(TargetFileName)" /></Target>
当使用不同版本的CAD进行调试时,需要为不同版本的CAD设置调试属性,以CAD2015为例:
3.1复制CAD2015EXE路径


3.2在VS中新建CAD2015调试配置


3.3点击重命名输入\CAD版本,并在可执行文件处粘贴复制的CDESE路径。

3.4选择与CAD2015相匹配的net版本。

3.5单击启动调试,可以看到CD2015已经启动。

夜雨聆风


