我有VB6、VBA和LISP的基础,但不会VC++,这样学用VB。NET和C#。NET开发ACAD是不是还差点!要不要补补VC++(VC6和VC。NET)的课,请高手指点。
vb.net好像和vb的语法相差蛮大的,
用vb。net对cad的开发,不用通过lisp的转换就可以把过程变成命令,这一点很不错
不知道在C#中如何实现自定义命令
C#开发,只有两个地方不一样
(1)
<P class=list_text>using Autodesk.AutoCAD.ApplicationServices;
<P class=list_text>using Autodesk.AutoCAD.DatabaseServices;
<P class=list_text>using Autodesk.AutoCAD.Runtime;
<P class=list_text>(2)
<PRE class=prog_in_0></PRE><PRE class=prog_in_0>public static void ComInteropCommand() {</PRE><PRE class=prog_in_0>//...</PRE><PRE class=prog_in_end_0>}</PRE>
acdbmgd.dll acmgd.dll.在哪里?
没有找到
在c:\Program Files\AutoCAD 2005目录下。
有兴趣,不过如果没有资料,很难编程序。总不能自己一个个试吧?
如果时间允许,楼主写一些简单的教程吧。或者多给一些实例。
Imports Autodesk.AutoCAD.ApplicationServices<BR>Imports Autodesk.AutoCAD.DatabaseServices<BR>Imports Autodesk.AutoCAD.Runtime<BR>Imports Autodesk.AutoCAD.Interop
Public Class TLCad<BR> <CommandMethod("test")> Public Shared Sub MytestCmd()<BR> Dim DataType(1) As Short, Data(1) As Object<BR> Dim c As Line<BR> Dim d(2), e(2) As Double<BR> Dim f As Autodesk.AutoCAD.Interop.AcadApplication<BR> e(1) = 10<BR> f = GetObject(, "AutoCAD.Application.16")<BR> DataType(0) = 1001 : Data(0) = "TLCad"<BR> DataType(1) = 1000 : Data(1) = "TLCadTest"<BR> f.ActiveDocument.ModelSpace.AddLine(d, e).SetXData(DataType, Data)<BR> End Sub
<BR>End Class<BR>
本帖最后由 作者 于 2004-4-3 16:41:31 编辑
我还要引用什么才行?!
f.ActiveDocument.ModelSpace.AddLine(d, e).SetXData(DataType, Data)通不过.可能是少引用一项,请指点!谢谢.
AutoCad2005 Type Library
AutoCad/ObjectOBX Command 16.0 Type Library