- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.3.2 将Visual Basic环境下的语句改写为AutoLISP表达式 先分析Visual Basic环境下的语句: RetVal = object.AddLine(StartPoint,EndPoint) RetVal是返回值,object是AddLine的上一级对象,StartPoint和EndPoint是AddLine函数的参数。 在VLISP ActiveX环境下,模型空间是直线对象的上一级对象,模型空间对象作为AddLine的第一个参数,StartPoint和EndPoint作为AddLine 的其余参数。返回值赋给变量myline。 valx-3d-point是VLISP ActiveX的函数,其功能是将AutoLISP的3维点转换为ActiveX要求的变体类型的数据。 采用AutoLISP表达式为: (setq myline(vla-addline myms (vlax-3d-point (10 20)) (vlax-3d-point (80 30)))) 其中myms是模型空间对象的指针,获取该指针的表达式如下: (setq myacad (vlax-get-acad-object)) (setq mydoc(vla-get-ActiveDocument myacad)) (setq myms(vla-get-ModelSpace mydoc)) vlax-3d-point是VLISP ActiveX的函数,其功能是将AutoLISP的2维或3维点转换为ActiveX要求的变体类型的数据。 二者的转换关系见图10-9。 图10-9 Visual Basic环境下的语句与AutoLISP表达式的对应关系 ? 整数 实数 字符串 VLA对象 变体 安全数组 :vlax_true:vlax_false 单字节字符 +?????? 布尔类型 + 整数 + 长整数 + 单精度实数 + + 双精度实数 + + 对象 + 字符串 +? 变体 +? 数组 + 10.3.3 ActiveX能够自动进行转换的AutoLISP的一些数据类型 AutoLISP和ActiveX有些数据类型的定义是类似的,当ActiveX遇到这样类型的数据时,能够自动进行转换。表10-1所示为ActiveX要求的数据类型和Auto LISP数据类型的关系表。表的第1列为ActiveX要求的数据类型,表的第1行为AutoLISP的数据类型。如果表格的交叉处有加号(+),表示这样的ActiveX数据类型时可以直接使用相应的AutoLISP数据类型。 表10-1 AutoLISP数据类型和ActiveX数据类型的关系 10.3.4 VLISP扩充的数据类型 为了实现ActiveX的功能,VLISP扩充了一些数据类型,这些数据类型是以前AutoLISP所没有的。 1. 变体(variant) 要想使用ActiveX方法,就必须遵守它的数据声明的规则。对于数量、高度、半径这些数据ActiveX允许AutoLISP使用整型或实型的数据,它可以自动将其转换为长整数或双精度的数据类型,见表10-1。对于起点、终点、圆心这些数据必须经过必要的转换,才能为ActiveX所用。 变体实质上是自定义的数据结构,它可以包括不同类型的数据。例如字符串、整数和数组都可以表示为变体。变体的主要特点是数据的类型和值存放在一起。这种自定义的特点,在向ActiveX服务器传递参数时非常有用,因为它使得基于任何语言的服务器都能理解这样的数据。 (1)创建变体 创建变体用vlax-make-variant函数,调用的格式如下: (vlax-make-variant [值] [类型]) 如果省略参数的值和类型,创建的变体将为vlax-vbEmpty类型(未初始化)。类型是指变体的类型,见表10-2。表示变体的类型时,可以用它的值,如整型用2,也可以用预定义的类型常量,如vlax-vbInteger,最好用预定义的类型常量,因为在后续的AutoCAD版本中类型的值可能会有变化。 该函数返
您可能关注的文档
- 国共第一次合作完整.ppt
- 国内国际玩具安全标准.ppt
- 国内主要商业银行品牌建设分析.ppt
- 国内外地图公司概况.ppt
- 国内外小城镇绿地.ppt
- 国内私募现状及现有投资机会.ppt
- 国内较强企业企业文化.ppt
- 国内部分石化码头公司介绍.ppt
- 国土资源知识简介.ppt
- 国土资源知识简介1.ppt
- 劳动关系解除证明书(8篇).docx
- 达标测试鲁教版(五四制)8年级数学下册测试卷附参考答案详解(完整版).docx
- 机械设备使用安全免责承诺书.doc
- 达标测试鲁教版(五四制)8年级数学下册测试卷附参考答案详解(巩固).docx
- 达标测试鲁教版(五四制)8年级数学下册测试卷附完整答案详解【必刷】.docx
- 达标测试鲁教版(五四制)8年级数学下册测试卷附参考答案详解【考试直接用】.docx
- 达标测试鲁教版(五四制)8年级数学下册测试卷附参考答案详解(基础题).docx
- 达标测试鲁教版(五四制)8年级数学下册测试卷附参考答案详解(基础题).docx
- 2024-2025学年广东省湛江市高二数学下学期期末考试(含答案).pdf
- 达标测试鲁教版(五四制)8年级数学下册测试卷附参考答案详解【培优】.docx
文档评论(0)