当前位置:文档之家› AutoCAD二次开发初级入门教程

AutoCAD二次开发初级入门教程

AutoCAD二次开发初级入门教程
AutoCAD二次开发初级入门教程

1. Components of the AutoCAD .NET API

Dll

AcDbMgd.dll. Use when working with objects in a drawing file.

AcMgd.dll. Use when working with the AutoCAD application.

AcCui.dll. Use when working with customization files.

Before classes, structures, methods, and events found in one of the AutoCAD .NET API related DLLs can be used, you must reference the DLL to a project. After a DLL is referenced to a project, you can utilize the namespaces and the components in the DLL file in your project.

Once a AutoCAD .NET API DLL is referenced, you must set the Copy Local property

局部性质

of the referenced DLL to False.

Reason:

T he Copy Local property determines if Microsoft Visual Studio creates a copy of the referenced DLL file and places it in the same directory as the assembly file of the project when it is built. Since the referenced files already ship with AutoCAD, creating copies of referenced DLL files can cause unexpected results when you load your assembly file in AutoCAD.

2. To reference an AutoCAD .NET API DLL

In Microsoft Visual Studio, click View menu Solution Explorer to display the Solution Explorer if it is not already displayed.

In the Solution Explorer, on the toolbar along the top, click Show All Files.

Right-click the References node and click Add Reference.

In the Add Reference dialog box, Browse tab, select the DLL file that contains the library you want to use and click OK.

In the Solution Explorer, click the plus sign to the left the References node to expand it.

Select the referenced library from the References node.

Right-click over the selected reference and click Properties.

In the Properties window, click the Copy Local field and select False from the drop-down list.

3. 合适网站终于找到了

https://www.doczj.com/doc/e912426101.html,/ACD/2010/ENU/AutoCAD%https://www.doczj.com/doc/e912426101.html,%20Develo per's%20Guide/index.html

.net帮助

https://www.doczj.com/doc/e912426101.html,/adsk/servlet/index?siteID=123112&id=770215#v batonet

SDK samples

https://www.doczj.com/doc/e912426101.html,

developercentre

https://www.doczj.com/doc/e912426101.html,/developautocad

discussion groups

https://www.doczj.com/doc/e912426101.html,

news://https://www.doczj.com/doc/e912426101.html,/autodesk.autocad.customization.dotnet https://www.doczj.com/doc/e912426101.html,/apitraining

https://www.doczj.com/doc/e912426101.html,/joinadn

https://www.doczj.com/doc/e912426101.html,/autocad-net-developers-guide

4. 移植思路

添加dotnet的应用

Autocad2010 type library(类型库)

Com –autodesk.autocad.dll

https://www.doczj.com/doc/e912426101.html,mon.dll

Acmgd.dll

Acadmgd.dll

5. Thisdrawing的获得方法

Private readonly property thisdrawing() as acaddocument

Get

Return

autodesk.autocad.applicationservices.application.documentmanager.mdiactiv edocument.acaddocument

End get

End property

Vbdotnet必须指明其数据类型。

Cint,cstring

6. 基本定义

Public sub starthere()

Dim c as object

Set c = new class1

c.showmessage”模块运行中”

end sub

7. autocad对象层次

Transaction :事务,由用户和应用程序执行的一个动作或一系列动作

Housed:封装

subsequent step:后续步骤

database access:数据库存取

Symbol Tables:符号集

Object References:参照对象

Encapsulate:封装

Delineate:描述

database-resident:数据库驻留

8. 具体代码

'' Get the current document and database, and start a transaction

Dim acDocAs Document =

Application.DocumentManager.MdiActiveDocument

Dim acCurDb As Database = acDoc.Database

详见lab3. E:\net开发\autocad_2010_dotnet_training\https://www.doczj.com/doc/e912426101.html,

创建3个图形并分装在一个图块中。

create an ‘Employee object’ (1 circle, 1 ellipse and one MText object)

which is housed by a Block Definition called ‘EmployeeBlock’ which uses a layer called ‘EmployeeLayer’ which is inserted into AutoCAD’s Model Space using a BlockReference type.

如果想要在modelspace中画图,必须先将modelspace打开,而将其打开,必须打开块表blocktable.

9. try-catch

语句由一个try 块后跟一个或多个catch 子句构成,这些子句指定不同的异常处理程序。

在同一个try-catch 语句中可以使用一个以上的特定catch 子句。这种情况下catch 子句的顺序很重要,因为会按顺序检查catch 子句。将先捕获特定程度较高的异常,而不是特定程度较小的异常。

catch和finally一起使用的常见方式是:在try块中获取并使用资源,在catch块中处理异常情况,并在finally块中释放资源。

10. using

using关键字有两个主要用途:

作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。请参见using 指令。

作为语句,用于定义一个范围,在此范围的末尾将释放对象。请参见using 语句。

https://www.doczj.com/doc/e912426101.html,/zh-cn/library/sf0df423(v=VS.80).aspx

11. 事务

访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。

在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

事务是恢复和并发控制的基本单位。

事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。

原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障

不应该对其有任何影响。

事务(Transaction)是并发控制的基本单位。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行。所以,应该把他们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

ROLLBACK表示要撤消(Undo)该事务已做的一切操作,回退到事务开始的状态。COMMIT表示提交事务中的一切操作,使得对数据库的改变生效。12. 自动加载.net

详细参见.net开发书籍15.3。

13. 解锁文档

Document newDoc = Application.DocumentManager.Add("");

newDoc.LockDocument();// 锁定HostApplicationServices.WorkingDatabase = newDoc.Database; Database db =

HostApplicationServices.WorkingDatabase; using (Transaction trans =

db.TransactionManager.StartTransaction()) { BlockTable bt =

trans.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable; BlockTableRecord btr =

bt[BlockTableRecord.ModelSpace].GetObject(OpenMode.ForWrite) as BlockTableRecord;

当你要修改一个不是当前文档的数据库时,或者你要阻止别的执行文本来修改该数据库时,你需要锁定文档。如果是以只读方式打开某个对象是不用锁定文档的,但是以写方式打开对象时,最好锁定文档。

當你要修改文檔內容或資料庫時需要以寫入的方式打開,需要先進行圖檔的鎖定

Dim documentLock As DocumentLock =

Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiAc tiveDocument.LockDocument()

...

documentLock.Dispose()

若只是讀取圖檔的圖檔資訊,就不需要鎖定圖檔

14. 文件的打开与读写方式

按照访问模式,共分为三种。顺序文件、随机文件和二进制文件

顺序文件的访问规则是读写数据时按照“顺序”依次进行访问,不能跳过前面而直接读取后面的部分。

顺序访问模式是专门用来处理

15. 遍历数据库

Dim oCnn As New ADODB.Connection

Dim rs As New ADODB.Recordset

oCnn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security

Info=False;User ID=sa;Initial Catalog=DWH;Data Source=kerr"

oCnn.Open

Set rs = oCnn.Execute(strSql)

Do While Not rs.EOF

'rs("字段名").value

rs.MoveNext'移至下條記錄

Loop

rs.Close

16. 关于sub和functiong

所有的过程,必须用sub过程才可以实现,用函数,是无法实现的。最直接的例子,在于第20章,块的定义中,返回return objected 系统是无法识别的。

17. Excel的使用

Excel的模型中最重要的是application, workbook,worksheet和range

CAD入门到精通详细教程

CD1 初级篇 1认识AutoCAD2007 1.安装AutoCAD 2007 AutoCAD 是美国Autodesk 企业开发的一个交互式绘图软件,是用于二维及三维设计、绘图的系统工具,现已广泛用于机械、电子、建筑、化工、制造、轻工及航空航天等领域,用户可以使用它来创建、浏览、管理、打印、输出、共享及准确应用富含信息的设计图形. ◆AutoCAD2007简体中文版本的安装 装AutoCAD 需要两张光盘。放入AutoCAD 2007 光盘(1)开始安装。出现提示时,放入AutoCAD 2007 磁盘(2)完成安装。 1.在AutoCAD 媒体浏览器中,在“安装”选项卡上单击“单机安装”。 2.在“安装AutoCAD 2007”中,单击“安装”按钮。 3.在“Autodesk 安装程序”页上单击“确定”,以安装所需的支持组件。 4.请确保产品序列号可用。没有序列号将无法安装AutoCAD。 5.安装成功后启动AutoCAD 2007,就可以进入软件操作窗口。 2.AutoCAD 2007 新的特点 1、与2006比,2007速度快了点。 2、AUTOCAD 2007还有一个优点,就是安装完后,第一次启动,他会把以前版本的一些设置转过来。 3、AUTOCAD 2007加强了块内编辑功能。 4、AutoCAD 2007的三维界面与3DMAX类似,从这里可以看出AutoCAD将成为又一个功能强大3D建模软件。 AutoCAD 2007非常适合那些用手工进行概念设计的专业人员,它能够加快设计进程,欲了解更多关于AutoCAD 2007的特性及优点,可访问https://www.doczj.com/doc/e912426101.html,/autocad. 3.AutoCAD 2007的新功能 AutoCAD 2007 与以往版本的AutoCAD软件有如下变化和改进: 文件格式 AutoCAD 2007将采用新的DWG文件格式,但仍向后兼容。AutoCAD2007可以另存为2004,2000甚至是以dxf为格式的R14。在选项对话框中你可以设置缺省的文件保存格式。打开文件速度更快。

AutoCAD 2018基础教程 综合实例

附录1平板类零件的实例 1.1 实例1—连接板 本例将绘制一个如图1.1所示的连接板。连接板起连接作用,使相分离的两个或多个结构件,连接为一个整体。此连接板在绘制过程中用到了“圆”、“直线”、“剖面线”等绘图工具以及“修剪”、“偏移”、“复制”等修改工具。 图 1.1 1.1.1 设置环境 (1)新建文件 打开AutoCAD2018软件,单击菜单栏[文件] [新建]命令或在快速访问工具栏单击新建按钮,弹出“选择样板”对话框,选择样板后单击“打开”命令,新建一个图形文件。 (2)草图设置(设置图形界限) 根据创建零件的尺寸选择合适的作图区域,设置图形界限。 下拉菜单:[格式] [图形界限] 命令行:LIMITS LIMITS指定左下角点或[开(ON)/关(OFF)]<0.0000,0.0000>: LIMITS指定右下角点<0.0000,0.0000>:297,210 注:不需图形界限时,可以单击“图形界限”命令后,执行如下操作 LIMITS指定左下角点或[开(ON)/关(OFF)]<0.0000,0.0000>:OFF (3)图层设置 绘图之前,根据需要设置相应的图层,还可以进行名称、线型、线宽、颜色等图层特性的设置。 菜单栏:[格式] [图层] 功能区:[默认] [图层] [图层特性] 命令行:LAYER 执行命令后,弹出“图层特性管理器”对话框,点击新建按钮,新建粗实线、中心线、剖面线、尺寸线、细实线、虚线六个图层,设置粗实线线宽为0.5mm,加载中心线线型为“CENTER2”,虚线线型为“DASHED”,设置细实线线宽为0.25mm。为了更便于查看与区分,可以将不同图层设置为不同颜色,如图1.2所示。

相关主题
文本预览
相关文档 最新文档