矿业信息技术基础第五章采矿编程初步_第1页
矿业信息技术基础第五章采矿编程初步_第2页
矿业信息技术基础第五章采矿编程初步_第3页
矿业信息技术基础第五章采矿编程初步_第4页
矿业信息技术基础第五章采矿编程初步_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 采矿编程初步多媒体教学课件vbaide vbaide 激活 vba ide。 vba ide 可以用来以交互方式编辑、运行和调试程序。虽然 vba ide 只能在 autocad 运行时被调用,但是可以独立于 autocad 应用程序窗口对它进行最小化、打开和关闭操作。 vbaman vbaman 显示 vba 管理器,供用户查看、创建、加载、关闭、内嵌和提取工程。 vmicrosoft vba 是一个面向对象的编程是一个面向对象的编程环境,可提供类似环境,可提供类似 visual basic (vb) 的的丰富开发功能。丰富开发功能。vba 和和 vb 的主要差别的主要差别是是 vb

2、a 和和 autocad 在同一进程空间中在同一进程空间中运行,提供的是具有运行,提供的是具有 autocad 智能的智能的、非常快速的编程环境。、非常快速的编程环境。 vvba 也向其他支持也向其他支持 vba 的应用程序提的应用程序提供应用程序集成。这就意味着供应用程序集成。这就意味着 autocad(使用其他应用程序对象库)可以是如(使用其他应用程序对象库)可以是如 microsoft word 或或 excel 之类的其他应之类的其他应用程序的用程序的 automation 控制程序。控制程序。 v在在 autocad autocad 中实现中实现 vba vba 有四大优点:有四大优

3、点: visual basic 编程环境易于学习和使用。vba 可与 autocad 在同一进程空间中运行。这使程序执行得非常快。 对话框的构造快速而有效。这使开发人员可以构造原型应用程序并迅速收到设计的反馈。 工程可以是独立的,也可以嵌入到图形中。这样就为开发人员提供了非常灵活的方式来发布他们的应用程序。vvba 通过通过 autocad activex automation 接口将消息发送到接口将消息发送到 autocad。autocad vba 允许允许 vba 环境与环境与 autocad 同时运同时运行,并通过行,并通过 activex automation 接口对接口对 autoc

4、ad 进行编程控制。进行编程控制。autocad、activex automation 和和 vba 的这种结合的这种结合方式不仅为操作方式不仅为操作 autocad 对象,而且为对象,而且为向其他应用程序发送或检索数据提供了功向其他应用程序发送或检索数据提供了功能极为强大的接口。能极为强大的接口。v以下是以下是 autocad 中定义中定义 activex 和和 vba 编程的三个基本元素。编程的三个基本元素。v第一个是第一个是 autocadautocad 本身,它拥有丰富的本身,它拥有丰富的封装了封装了 autocad autocad 图元、数据和命令的对图元、数据和命令的对象集。因为象

5、集。因为 autocad autocad 是一个设计为具有是一个设计为具有多层接口的开放架构应用程序,因此熟多层接口的开放架构应用程序,因此熟悉悉 autocad autocad 编程功能对于有效使用编程功能对于有效使用 vba vba 来说是非常必要的。如果使用过来说是非常必要的。如果使用过 autolispautolisp 编程来控制编程来控制 autocadautocad,就应,就应该已经对该已经对 autocad autocad 的机制有了一定的了的机制有了一定的了解。然而,解。然而,vba vba 的基于对象的处理方式的基于对象的处理方式和和 autolisp autolisp 的方

6、式却很不一样。的方式却很不一样。v第二个元素是第二个元素是 autocad activex autocad activex automationautomation 接口,它建立与接口,它建立与 autocad autocad 对象的消息传递(通信)。用对象的消息传递(通信)。用 vba vba 编程编程需要对需要对 activex automation activex automation 有基本的有基本的了解。关于了解。关于 autocad activex autocad activex automation automation 接口的说明,请参见接口的说明,请参见 activex an

7、d vba reference guideactivex and vba reference guide。即。即使是有经验的使是有经验的 vb vb 编程人员也会发现要编程人员也会发现要理解和开发理解和开发 autocad vba autocad vba 应用程序,应用程序,autocad activex automation autocad activex automation 接口是非接口是非常重要的。常重要的。v第三个元素是 vba 编程环境 (ide),它具有自己的对象组、关键词和常量等,能提供程序流、控制、调试和执行等功能。vautocad vba 包含 microsoft vba

8、扩展联机帮助,可以在 vba ide 中通过以下方法访问: 按键盘上的 f1 键从 vba ide 菜单栏中选择“帮助” 单击 vba ide 工具栏上的“?”图标v使用使用 vba vba 管理器可以查看当前管理器可以查看当前 autocad autocad 任务中加载的所有任务中加载的所有 vba vba 工程。它是一种工程。它是一种 autocad autocad 工具,可让用户加载、卸载、工具,可让用户加载、卸载、保存、创建、内嵌和提取保存、创建、内嵌和提取 vba vba 工程。工程。 v打开打开 vba vba 管理器的步骤管理器的步骤 从“工具”菜单中选择“宏”“vba 管理器”

9、。 在 autocad 中调用 vbaman 命令。 v加载现有的工程加载现有的工程 v卸载工程卸载工程 v将工程嵌入到图形中将工程嵌入到图形中 v从图形中提取工程从图形中提取工程 v创建新工程创建新工程 v保存工程保存工程 加载现有的工程v在在“vba vba 管理器管理器”中,使用中,使用“加载加载”选项打开选项打开“打开打开 vba vba 工程工程”对话框。对话框。 v在在“打开打开 vba vba 工程工程”对话框中,选择要打开的工程文件对话框中,选择要打开的工程文件。“vba vba 工程工程”对话框只能打开有效的对话框只能打开有效的 dvb dvb 文件。如果文件。如果用户试图打

10、开其他类型的文件,则会收到一条错误信息。用户试图打开其他类型的文件,则会收到一条错误信息。 v选择选择“打开打开”。 v用户还可以使用以下任意方法来加载工程文件:用户还可以使用以下任意方法来加载工程文件: 输入 vbaload 命令,打开“打开 vba 工程”对话框。将 dvb 文件从 windows 资源管理器拖到 autocad 窗口中打开的图形中。卸载 vba 工程的步骤v在在 vba vba 管理器中选择要卸载的工程。管理器中选择要卸载的工程。 v选择选择“卸载卸载”。 v或者,使用或者,使用 vbaunload vbaunload 命令,该命令会命令,该命令会提示输入要卸载的工程。提

11、示输入要卸载的工程。 创建新工程v新工程会被创建为未保存的全局工程。新工程会被创建为未保存的全局工程。创建完成后,可将它嵌入到图形中或保创建完成后,可将它嵌入到图形中或保存到工程文件中。存到工程文件中。 v创建新创建新 vba vba 工程的步骤工程的步骤 打开 vba 管理器。 选择“新建”。 新工程将用默认的名称 acadproject 创建。要更改工程名,必须进入 vba ide 中。关于在 vba ide 中命名工程的详细信息,请参见 命名工程。更改工程名称的步骤v在在 vba ide vba ide 的的“工程工程”窗口中,选择要窗口中,选择要更改的工程。更改的工程。 v在在“特性特

12、性”窗口中编辑工程的窗口中编辑工程的 name name 特特性。性。更改工程的文件名的步骤v在在 vba ide vba ide 中,从中,从“文件文件”菜单中选择菜单中选择“保存保存”选项。选项。 v在在“另存为另存为”对话框中输入工程文件的对话框中输入工程文件的新名称和位置。新名称和位置。 v查看工程信息查看工程信息 v定义工程中的组件定义工程中的组件 v输入现有组件输入现有组件 v编辑组件编辑组件 v命名工程命名工程 v保存工程保存工程 v引用其他引用其他 vba vba 工程工程 v设置设置 vba ide vba ide 选项选项 查看工程信息vvba ide vba ide 包含

13、了包含了“工程工程”窗口窗口,其中显示了所有已加载,其中显示了所有已加载的的 vba vba 工程列表。这个窗口还显示工程中包含的代码工程列表。这个窗口还显示工程中包含的代码、类和窗体模块,与工程关联的文档,从工程引用的所、类和窗体模块,与工程关联的文档,从工程引用的所有其他有其他 vba vba 工程,以及工程的实际位置(路径)。工程,以及工程的实际位置(路径)。 定义工程中的组件v对象 v窗体 v标准模块 v类模块 v引用 v添加新组件 v对象组件对象组件代表代表 vba vba 代码将访问的对象或代码将访问的对象或文档的类型。对于文档的类型。对于 autocad vba autocad

14、vba 工程,工程,此对象代表当前的此对象代表当前的 autocad autocad 图形。图形。v窗体组件窗体组件包含由用户构造的、用于工程的包含由用户构造的、用于工程的自定义对话框。自定义对话框。v代码模块组件代码模块组件包含用户的常用过程和函数包含用户的常用过程和函数。标准模块也称为代码模块,或简称为模。标准模块也称为代码模块,或简称为模块。块。v类模块组件类模块组件包含用户自己定义的所有对象包含用户自己定义的所有对象(定义为类)。(定义为类)。 v引用组件引用组件包含对其他工程或库的所有引用包含对其他工程或库的所有引用。添加新组件v添加新组件将在工程中创建空白组件。添加新组件将在工程中

15、创建空白组件。用户可以将新的模块、窗体和类模块添用户可以将新的模块、窗体和类模块添加到自己的工程中。用户需要自己更新加到自己的工程中。用户需要自己更新所有的组件特性(例如组件名称),并所有的组件特性(例如组件名称),并填入适当的代码。在命名新组件时,请填入适当的代码。在命名新组件时,请注意其他开发人员在未来的应用程序中注意其他开发人员在未来的应用程序中可能会使用您的组件。请可能会使用您的组件。请遵循开发团队遵循开发团队的命名惯例的命名惯例。v向工程中添加新组件的步骤:向工程中添加新组件的步骤:在 vba ide 的“工程”窗口中选择要向其中添加组件的工程。 从“插入”菜单中选择“用户窗体”、“

16、模块”或“类模块”来向工程中添加新组件。 新组件将会被添加到工程中并显示在“工程”窗口中。 编辑组件v在在 vba ide vba ide 中,可以编辑标准模块、类中,可以编辑标准模块、类模块和窗体。标准模块和类模块均在模块和窗体。标准模块和类模块均在“代码代码”窗口中编辑窗口中编辑;窗体则在;窗体则在“用户窗用户窗体体”窗口窗口中使用特殊的的工具箱进行编中使用特殊的的工具箱进行编辑。辑。 v由于可以打开的由于可以打开的“代码代码”窗口与拥有的窗口与拥有的模块数目一致,因此可以很容易地查看模块数目一致,因此可以很容易地查看不同窗体或模块中的代码,并在它们之不同窗体或模块中的代码,并在它们之间互

17、相复制和粘贴。间互相复制和粘贴。v编辑工程组件的步骤编辑工程组件的步骤在 vba ide 的“工程”窗口中,选择要编辑的组件。 在“工程”窗口中,选择“查看代码”按钮打开“代码”窗口。 在“工程”窗口中,选择“查看对象”按钮打开“用户窗体”窗口和关联的工具箱。 v使用“代码”窗口“代码”窗口包含两个下拉列表、一个拆分栏、一个边界指示栏、一个完全视图图标和一个过程视图图标。 v使用使用“用户窗体用户窗体”窗口窗口通过“用户窗体”窗口,可以在工程中创建自定义对话框 自动拥有“最大化”、“最小化”和“关闭”按钮添加控件添加控件代码该控件关联的代码。进行初步练习v上面已经学习了 autocad vba

18、 编程的基本知识,接下来让我们练习创建简单的“hello world”。在此练习中,将会创建新的 autocad 图形,并向该图形中添加一行文字,然后保存图形,全部操作均通过 vba 来完成。“hello worldhello world”例程例程 1.从 autocad 命令行输入以下命令来打开 vba ide: 1.命令:vbaide 2.从 vba ide 的“查看”菜单中选择“代码”选项打开“代码”窗口。 3.从 vba ide 的“插入”菜单中选择“过程”选项,在工程中创建新过程。 4.当提示输入过程信息时,输入名称,例如 helloworld。请确保选定的“类型”是 sub,选定的

19、“作用域”是 public。 5.选择“确定”。 6.6.在行在行 public sub helloworld() public sub helloworld() 和行和行 end sub end sub 之间输之间输入以下代码。入以下代码。 thisdrawing.application.documents.add (用于打开新图形)7.7.紧接代码之后输入以下代码(用于创建字符串和定义其紧接代码之后输入以下代码(用于创建字符串和定义其插入位置)。插入位置)。 dim inspoint(0 to 2) as double 声明插入点dim textheight as double 声明文字高

20、度dim textstr as string 声明字符串dim textobj as acadtext 声明文字对象inspoint(0) = 2 设置插入点的 x 坐标inspoint(1) = 4 设置插入点的 y 坐标inspoint(2) = 0 设置插入点的 z 坐标textheight = 1 强文字高度设置为 1.0textstr = hello world! 设置字符串创建 text 对象set textobj = thisdrawing.modelspace.addtext _ (textstr, inspoint, textheight)8.8.紧接在步骤紧接在步骤 7 7

21、 中的输入代码之后输入以下中的输入代码之后输入以下代码(用于保存图形)。代码(用于保存图形)。 9.9.thisdrawing.saveas(hello.dwg) thisdrawing.saveas(hello.dwg) 从从 vba vba ide ide 的的“运行运行”菜单中选择菜单中选择“运行子程序或运行子程序或用户窗体用户窗体”选项来运行程序。选项来运行程序。 10.10.当程序运行完时,当程序运行完时,autocad autocad 应用程序将置于应用程序将置于最前。此时应该可以在图形中看到文字最前。此时应该可以在图形中看到文字“hello world!hello world!”

22、。图形的名称应为。图形的名称应为 hello.dwghello.dwg。 add vretval = object.add(name) vobject:the collection to add the new object to. dictionaries, dimstyles, documents, groups; layers, layouts, linetypes, popupmenus, registeredapplications, selectionsets, textstyles, toolbars, views, viewportsvname:the name of the

23、object to add to the collection. string; input-only; optional for the documents collection.vretval:the newly added object. dictionary, dimstyle, document, group, layer, layout, linetype, popupmenu, registeredapp, selectionset, textstyle, toolbar, view, viewportaddlayeru this example creates a new la

24、yer called new_layer udim layerobj as acadlayeru add the layer to the layers collection uset layerobj = thisdrawing.layers.add(new_layer) u make the new layer the active layer for the drawinguthisdrawing.activelayer = layerobj u display the status of the new layer umsgbox layero & has bee

25、n added. & vbcrlf & _ layeron status: & layerobj.layeron & vbcrlf & _ freeze status: & layerobj.freeze & vbcrlf & _ lock status: & layerobj.lock & vbcrlf & _ color: & layerobj.color, , add example addtextstyle create a textstyle named new_textstyle in

26、current drawing dim txtstyleobj as acadtextstyle add the textstyle to the textstyles collection set txtstyleobj = thisdrawing.textstyles.add(new_textstyle) msgbox txtstyleo & has been added. & vbcrlf & _ height: & txtstyleobj.height & vbcrlf & _ width: & txtstyleob

27、j.width, , add example return 创建和修改文字样式 新的文字会从当前的文字样式继承高度、宽度比例、倾斜角度和文字生成等特性。要创建文字样式,请使用 add 方法创建新的 textstyle 对象并将其添加到 textstyles 集合中。add 方法需要输入 textstyle 名称。文字样式创建之后,用户不能通过 autocad activex automation 修改其名称。 样式名可以包含字母、数字和特殊字符,例如美元符 ($)、下划线 (_) 和连字符 (-)。autocad 将字符转换为大写字符。如果用户不输入样式名,autocad 自动将其命名为 st

28、ylen,其中 n 是从 1 开始的数字。每个新样式会加 1 来显示。 用户可以通过修改 textstyle 对象的特性来修改现有的样式,也可以更新该样式的现有文字以反映更改。请使用以下特性来修改 textstyle 对象: fontfile 指定与字体(字符样式)关联的文件。 bigfontfile 指定适用于非 ascii 字符集的特殊形定义文件。 height 指定字符高度。 width 指定字符的扩展或压缩obliqueangle 指定字符的倾斜度。 textgenerationflag 指定反向文字、倒置文字或两者。 如果用户修改现有样式的字体或方向,所有使用该样式的文字均被修改为使

29、用新的字体或方向。更改文字的高度、宽度比例和倾斜角不会改变现有的文字,但会应用到以后创建的文字对象上。 注意 必须调用 regen 或 update 方法,才能看到对上述特性所做更改的效果。load methoduobject.load linetypename, filename uobjectulinetypesthe object or objects this method applies to. ulinetypenameustring; input-onlythe name of the linetype to load. ufilenameustring; input-onlyt

30、he name of the file the linetype is in. linetype examplesub example_linetype() this example searches for the linetype dashdot. if it is not found, it is added from the acad.lin file. then a line is created and changed to the dashdot linetype. search the linetypes collection for the dashdot linetype.

31、 dim entry as acadlinetype dim found as boolean found = false for each entry in thisdrawing.linetypes if strcomp(, dashdot, 1) = 0 then found = true exit for end if next if not (found) then thisdrawing.linetypes.load dashdot, acad.lin create the line dim lineobj as acadline dim startpoint(

32、0 to 2) as double dim endpoint(0 to 2) as double startpoint(0) = 1#: startpoint(1) = 1#: startpoint(2) = 0# endpoint(0) = 4#: endpoint(1) = 4#: endpoint(2) = 0# set lineobj = thisdrawing.modelspace.addline(startpoint, endpoint) change the linetype of the line lineobj.linetype = dashdot zoomall end s

33、ublineweight propertyspecifies the lineweight of an individual object or the default lineweight for the drawing.signatureobject.lineweight objectall drawing objects; databasepreferences, layeraclnwtbylayer aclnwtbyblock aclnwtbylwdefault aclnwt000 aclnwt005 aclnwt009 aclnwt013 aclnwt015 aclnwt018 ac

34、lnwt020 aclnwt025 aclnwt030 aclnwt035 aclnwt040 aclnwt050 aclnwt053 aclnwt060 aclnwt070 aclnwt080 aclnwt090 aclnwt100 aclnwt106 aclnwt120 aclnwt140 aclnwt158 aclnwt200 aclnwt211 addtextvcreates a single line of text.vretval = object.addtext(textstring, insertionpoint, height) vobject:the object or o

35、bjects this method applies to. modelspace collection, paperspace collection, blockvtextstring:the actual text to be displayed. string; input-onlyvinsertionpoint:the 3d wcs coordinates on the drawing where the text is placed. variant (three-element array of doubles); input-onlyvheight:the height of t

36、he text. must be a positive number. double; input-onlyvretval:the newly created text object. text objectsub example_addtext() this example creates a text object in model space. dim textobj as acadtext dim textstring as string dim insertionpoint(0 to 2) as double dim height as double define the text

37、object textstring = hello, world. insertionpoint(0) = 2: insertionpoint(1) = 2: insertionpoint(2) = 0height = 0.5 create the text object in model space set textobj = thisdrawing.modelspace.addtext(textstring, insertionpoint, height) zoomall end subgetboundingboxvgets two points of a box enclosing th

38、e specified object. vobject.getboundingbox minpoint, maxpoint vobject:the object or objects this method applies to. all drawing objects, attributereferencevminpoint:the 3d wcs coordinates specifying the minimum point of the objects bounding box. variant (three-element array of doubles); output-onlyv

39、maxpoint:the 3d wcs coordinates specifying the maximum point of the objects bounding boxvariant (three-element array of doubles); output-onlysub example_getboundingbox() this example creates a line in model space. it then finds the bounding box for the line and displays the corners of the box. dim s

40、tartpoint(0 to 2) as double dim endpoint(0 to 2) as double dim lineobj as acadline create the line object in model space startpoint(0) = 2#: startpoint(1) = 2#: startpoint(2) = 0# endpoint(0) = 4#: endpoint(1) = 4#: endpoint(2) = 0# set lineobj = thisdrawing.modelspace.addline(startpoint, endpoint)

41、zoomalldim minext as variant dim maxext as variant return the bounding box for the line and return the minimum and maximum extents of the box in the minext and maxext variables. lineobj.getboundingbox minext, maxext print the min and max extents msgbox the extents of the bounding box for the line ar

42、e: & vbcrlf _ & min extent: & minext(0) & , & minext(1) & , & minext(2) _ & vbcrlf & max extent: & maxext(0) & , & maxext(1) & , & maxext(2), vbinformation, getboundingbox example end subgetpointvgets the point selected in autocad.vretval = get

43、point(point, prompt) vobject:the object or objects this method applies to. utilityvpoint:the 3d wcs coordinates specifying the relative base point. variant (three-element array of doubles); input-only; optionalvprompt:the text used to prompt the user for input. variant (string); input-only; optional

44、vretval:the 3d wcs coordinates of the point the autocad user has selected. variant (three-element array of doubles)sub example_getpoint() this example returns a point entered by the user. dim returnpnt as variant return a point using a prompt returnpnt = thisdrawing.utility.getpoint(, enter a point:

45、 ) msgbox the wcs of the point is: & returnpnt(0) & , & returnpnt(1) & , & returnpnt(2) & vbcrlf & _ (enter the next value without prompting.), , getpoint example return a point, no prompt returnpnt = thisdrawing.utility.getpoint msgbox the wcs of the point is: & retu

46、rnpnt(0) & , & returnpnt(1) & , & returnpnt(2), , getpoint example return a point using a base point and a prompt dim basepnt(0 to 2) as double basepnt(0) = 2#: basepnt(1) = 2#: basepnt(2) = 0# returnpnt = thisdrawing.utility.getpoint(basepnt, enter a point: )msgbox the wcs of the po

47、int is: & returnpnt(0) & , & returnpnt(1) & , & returnpnt(2) create a line from the base point and the last point entered dim lineobj as acadline set lineobj = thisdrawing.modelspace.addline(basepnt, returnpnt) zoomall end subv用vba实现如下标注形式(采矿工程毕业设计绘图标准)v思路:v先绘制文字 addtextv利用getbou

48、ndingbox获得文字的minext,maxextv根据minext,maxext确定线段的startpointv根据minext,maxext确定线段的endpointv在文字下方划线vdim textobj as acadtextvdim textstring as stringvdim startpoint(0 to 2) as doublevdim endpoint(0 to 2) as doublevdim textheight as doublevdim returnpnt1 as variant 申明端点坐标vme.hidevwith thisdrawing.utilityv

49、returnpnt1 = .getpoint(, 请输入标注汉字的位置: ) 获取文本标注起点坐标vend withv define the text objectvtextstring = textbox1.textvdim width as doublev create the text object in model spacevtextheight = 3vset textobj = thisdrawing.modelspace.addtext(textstring, returnpnt1, textheight)vtextobj.updatevdim minext as varian

50、tvdim maxext as variantv 获得文字的右下角坐标(minext)和左上角坐标( maxext )v textobj.getboundingbox minext, maxextv 在文字下面划线vstartpoint(0) = minext(0) 1vstartpoint(1) = minext(1) 1vstartpoint(2) = 0vendpoint(0) = maxext(0) + 1vendpoint(1) = minext(1) 1vendpoint(2) = 0vset lineobj = thisdrawing.modelspace.addline(sta

51、rtpoint, endpoint)vset lineobj = thisdrawing.modelspace.addline(minext, maxext)v用vba实现如下图框绘制(采矿工程毕业设计绘图标准:a0图纸)alignmentvobject:the object or objects this property applies to. attribute, attributeref, textvalignment:acalignment enum; read-writevacalignmentleft acalignmentcenter acalignmentright vaca

52、lignmentaligned acalignmentmiddle acalignmentfit vacalignmenttopleft acalignmenttopcenter acalignmenttopright vacalignmentmiddleleft acalignmentmiddlecenter vacalignmentmiddleright acalignmentbottomleft vacalignmentbottomcenter acalignmentbottomright vremarks vtext aligned to acalignmentleft uses th

53、e insertionpoint property to position the text. vtext aligned to acalignmentaligned, or acalignmentfit uses both the insertionpoint and textalignmentpoint properties to position the text. vtext aligned to any other position uses the textalignmentpoint property to position the text. saveas methodvsav

54、es the document or menu group to a specified file. vobject.saveas filename, filetype , securityparams vobject: document, menugroupvfilename: string; input-onlythe full path and file name, or valid url address, for the file. the active document or menu group takes on the new name. vacsaveastype enum;

55、 input-only; optional for document objectsvac2000_dwg autocad 2000 dwg (*.dwg)vac2000_dxf autocad 2000 dxf (*.dxf)vac2000_template autocad 2000 drawing template file (*.dwt)vac2004_dwg autocad 2004 dwg (*.dwg)vac2004_dxf autocad 2004 dxf (*.dxf)vac2004_template autocad 2004 drawing template file (*.

56、dwt)vacnative a synonym for the latest drawing release. in this release, this value equals ac2004_dwg.vremarks vthe default file type for documents is ac2004_dwg. the following values are obsolete: acr14_dwg and acr14_dxf. vdocuments can be saved only as files with the extensions indicated above. to

57、 save a document in a different file type, use the export method. sendcommand methodsends a command string from a vb or vba application to the document for processing. signature object.sendcommand(command) objectdocumentthe object or objects this method applies to. commandstring; input-onlythe comma

58、nd to send to the document. use a space or the ascii carriage return character (vbcr) at the end of the command string to end the command; this is equivalent to pressing enter on the keyboard. this method processes any autocad command-line functionthis method is generally synchronous. however, if th

59、e command sent with this method requires any user interaction (such as picking a point on the screen) then this method will return as soon as the user input begins. the command will then continue to be processed asynchronously. when this method is called from an event handler it is processed asynchr

60、onously. you should never use this method to issue a command for which there is an activex method available. for example, do not use sendcommand vbaload . instead, use the loaddvb method. 将命令发送到 autocad 命令行 下面的样例创建一个圆心为 (2, 2, 0)、半径为 4 的圆,然后将图形缩放至图形中的所有几何图形都可见。注意,字符串末尾有一个空格,表示最后按 enter 键开始执行命令。 sub ch3_sendacommandtoautocad() thisdrawing.sendcommand _circle 2,2,0 4 thisdrawing.sendcommand _zoom a “end sub将 vba 代码转换为 vb 要更新代码样例以在要更新代码样例以在 vb 中使用,必须先引用中使用,必须先引用 autocad 类型库。要在类型库。要在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论