第十八章ACIS实例代码.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十八章 ACIS的实例代码 18.1 用Scheme语言生成ACIS程序 18.2 用Windows控制台环境编译ACIS程序 18.3 用ACIS AppWizard生成应用程序框架 18.1 用Scheme语言生成ACIS程序 ACIS从实用角度而言(不准确地说),是一个大型的专门用于几何造型的类库,而它的运行环境正如上一章所述,是Scheme和C++;本章将就ACIS的Scheme程序、C++的Windows控制台程序和C++的AppWizard应用程序,进行实例讲解。 用Scheme语言生成ACIS程序 本节主要介绍Scheme语言的使用规则,简要讲解其基本概念如表达式、变量、函数、简单几何造型功能等,并附有可以直接运行的例程代码。 Scheme语言基础语法 ACIS中的Scheme解释器是用C++设计的,ACIS中的几何造型功能通过对标准Scheme命令的扩展实现,这些扩展命令也是用C++设计的,它们支持ACIS中的高级造型功能,如模型着色和零件管理功能。 与C++相比,Scheme是一种快速程序设计语言,而且简洁易学。Scheme语言的语法规则很少,总结如下: 通过交互地调用Scheme过程来执行程序; Scheme过程及其参数都被包含在一对圆括号里; 圆括号里的部分被称为Scheme表达式; 表达式中包含过程名称和过程参数,具体格式如下: (过程名称〈参数1,参数2,…〉) 分号“;”引导的部分为程序注释。 (如何运行ACIS Scheme解释器,请参看17.3.1节) 表达式 由于Scheme是一种解释型的程序开发语言,其表达式只能在解释器中执行。运行ACIS的Scheme AIDE解释程序后,就可以在它的“acis〉”提示符下输入表达式,在表达式的结束处按回车就可以执行该表达式。以下是几个典型的算术表达式: acis〉输入:(* 5 6) 回车输出:30 acis〉(* 5 6 7) 210 在Scheme的表达式中,操作符(如*)后面可以跟任意多个参数,但是其间一定要用‘空格’隔开;并且一个表达式里可以包含一个或者多个表达式,如: acis〉(*(+ 1 2)(* 5 6)) 90 理论上,表达式之间互相嵌套的层数是没有限制的,程序员只要匹配好括号就行了。 上面表达式的例子中使用了两个标准的Scheme内部过程进行乘法和加法运算,而ACIS Scheme还扩充了ACIS造型器专用的过程,用户可以按照上述标准Scheme过程方法调用这些造型过程,如下面命令可产生立方体: acis〉输入:(solid:block(position 0 0 0)(position 10 10 10)) 回车输出:#[entity 1 0] 上述命令产生了一个正方体,如图17.1.1,共调用了两个ACIS Scheme过程(position和solid:block),#[entity 1 0]是该正方体的默认名称。 外部描述符 Scheme表达式产生的每个对象都有一个外部描述符和一个内部描述符。虽然外部描述符看上去比较简单,它在与用户交互过程中有重要作用。它会将一个过程的执行结果反馈给用户,例如我们前面举的一些例子中,如果表达式的计算结果不被用作其他表达式的参数,也就是说该表达式未被嵌套在其他表达式中,则Scheme解释器自动将表达式执行结果的外部描述符输出,对于算术运算来说其外部描述符只是一些简单的数字,如30,210,90等。 ACIS的对象也具有外部描述符,当一个含有ACIS造型功能的过程被调用后,它所产生的ACIS对象的描述符就会被解释器输出,其一般格式如下: #[type_of_object参数] 下面,我们看一个关于ACIS对象的例子: ;产生一个position对象 acis〉(position 10,20,30) #[position 10,20,30] 这个position对象的外部描述符表示了一个x=10,y=20,z=30的坐标点。 从ACIS的ENTITY类派生的对象的外部描述符与position对象的外部描述符类似,稍微复杂之处就是,这些东西被组织到所谓的零件(PART)单元中。在ACIS Scheme解释器开始运行时,它会自动产生一个编号为1的默认零件。下面就是关于ACIS的ENTITY对象的Scheme例子: ;产生一个长方体 acis〉(solid:block(position 0 0 0)(position 10 10 10)) #[entity 1 0] 过程solid:block产生了一个ACIS实体对象,#[entity 1 0]是它的外部描述符,该描述符由两部分组成,即实体号(1)和零件号(0),实体号可以作为其他过程的参数。下面就是一个使用实体号的例子: ;删除一个实体

文档评论(0)

duoduoyun + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档