能否使用vs工具给予com技术开发cad
一直有个问题很好奇,觉得.net的api过于复杂,同时我对性能要求也不高所以,能否使用vs工具基于cad的com技术开发cad
如果可以,大概要怎么操作,或者查询什么资料
谢谢!!
.net是面向对象,类型C++之类的,语法结构有部分类似VB,但绝不是VB,而且区别很大,VB属于基础过程类语言,VB.net是比VB更高级一点。如果你习惯了VB编程,还是用VB吧,.net编的文件更大 本帖最后由 1005100717 于 2018-8-13 16:21 编辑
vb.net基于com对cad二次开发的话,用的API就是VBA的api。但是有一点,你想脱离版本限制的话就不能引用CAD的支持库,要把所有的对象设为 object。
vb.net是没有ThisDrawing对象的,你在程序运行的最开始需要获取CAD的com通讯对象
acadAPP = GetObject(, "autocad.application")
然后用acadApp.ActiveDocument 代替ThisDrawing。其他的跟VB应该是一致的,当然语法肯定有区别。
vb能做的vb.net也能做,vb.net能做的,vb不一定能做。自个取舍吧。
1005100717 发表于 2018-8-13 16:19
vb.net基于com对cad二次开发的话,用的API就是VBA的api。但是有一点,你想脱离版本限制的话就不能引用CAD的 ...
如果使用com接口的话,有必要使用官网里说的vs的版本和cad的版本对应吗 forverd 发表于 2018-8-13 17:23
如果使用com接口的话,有必要使用官网里说的vs的版本和cad的版本对应吗
不需要的 。com本身就是脱离的。 1005100717 发表于 2018-8-13 17:52
不需要的 。com本身就是脱离的。
好的谢谢,如果我要开发相对于08的cad的要调用哪个库文件 forverd 发表于 2018-8-14 09:05
好的谢谢,如果我要开发相对于08的cad的要调用哪个库文件
在项目上右键——添加引用,切换到com页面,找到2008
1005100717 发表于 2018-8-14 16:09
在项目上右键——添加引用,切换到com页面,找到2008
已解决,你这个还少一个common 17.0的那个 这个功能有的,application下有个acadapplication就是返回com对象的接着再activdocument就是thidrawing了 Imports Autodesk.AutoCAD.Interop.Common
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Runtime
Public Class NewClass
Public ReadOnly ThisDrawing As AcadDocument=Ctype(Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication,AcadApplication).ActiveDocument
<CommandMethod ("AddLine")>Public Sub Mycmd()
ThisDrawing.Utility.Prompt("Hello World")
End Sub
End Class
页:
[1]