中国科技论模文板2.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  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文档。上传文档
查看更多
中国科技论模文板2

基于Visual LISP环境下矿图比色卡的开发与应用 赵志刚1,2,张东旭2 (1.中国矿业大学矿业工程学院,江苏省徐州市) 摘要:本文介绍了AutoCAD软件中Visual LISP 语言在绘图中的二次开发功能,并通过实例解决了在绘制矿图和打印中的颜色不一致问题。 关键词:采矿工程 Visual LISP 矿图 比色卡 前言 Visual LISP是基于AutoCAD环境用于二次开发的编程语言。它兼容了以前的AutoLISP程序,又扩展和延伸了Auto LISP语言,支持ActiveX技术和反应器技术,还支持DCL对话框设计语言,因此成为AutoCAD二次开发的有利工具。Visual LISP包括文本编辑器、格式编排器、语法检查器、源代码调试器、检视和监视工具、文件编译器、工程管理系统等,这就避免了传统的Auto LISP依赖外部文本编辑器的缺点。相对于VBA而言,Visual LISP能灵活而充分地使用AutoCAD的现有功能,随心所欲地调用AutoCAD中的命令,交互操作性强。对于一个不熟悉VBA的人在二次开发时,需要学习很多东西,而Visual LISP简化了函数的分类,对AutoCAD熟悉的人很容易掌握它。总之,Visual LISP是一种非常简单、容易上手的一门“低级语言”。 AutoCAD是一款功能十分强大的绘图软件,而在长期的工程绘图中,我们需要一款专业的软件。AutoCAD二次开发为我们提供了这样的机会。通过二次开发,我们将绘图参数化,由原本需要一笔一笔的绘制,变成由程序自动运行,从而实现复杂图形的自动输出,大大提高了绘图效率。 本文介绍利用Visual LISP编程解决矿图绘制中绘制和打印颜色不一致的问题,通过此例可以体会二次开发的效率。 用AutoCAD绘图和打印的颜色不一致问题 AutoCAD2010提供了丰富的颜色搭配功能,包括索引颜色、真彩色及配色系统。在绘制矿图时,一般用索引颜色。索引颜色包括255种,其中前7中既有色号又有颜色名,而其他的没有颜色名,只有色号。特殊的两个例子0和256分别表示随块和随层的颜色。在采矿工程制图规定中的图例的颜色只有颜色名而没有色号。如规定中的岩层巷道用深黄色,地面建筑用深绿色,这些颜色在CAD绘图中就很难确定。 由于计算机与打印机的成像原理不同,基本色彩不同,在显示器上表现出的颜色打印出来会变色。例如显示器上的黑色打印出来有可能是红色或灰色,这使得作图过程中不能随便选择颜色,而只能将AutoCAD中的255种颜色全部打印出来后对比确定色号。 用VisualLISP制作矿图比色卡 VisualLISP是基于AutoCAD作图环境的编程语言,通过它可以实现简单快捷地绘制多个图形。本文要制作的矿图比色卡使用256个圆填依次填充上不同的颜色,并利用文本编制对应的色号。 VisualLISP的优势就在于它能够随时调用AutoCAD中的命令。例如本例中需要用到画圆和填充命令。色号的改变是利用VisualLISP中关于图元的一些操作。图元是AutoCAD中最基本的图形对象。图元间以链表的形式存储。可以通过调用并修改图元表的数据实现编辑图形的功能。 2.1绘制圆并填充 在VisualLISP需要绘制圆并填充时要调用AutoCAD命令“circle”和“bhatch”。绘制圆时用点和半径确定圆,填充时用拾取点的方式确定圆的边界。其主要代码如下: (command circle p 8) (command bhatch p solid p ) 2.2利用图元修改圆中填充颜色的色号 要修改图元中颜色的色号需要用到的函数有entlast、entget、entmod。其中通过entlast函数获取刚绘制图元的名字,通过entget函数得到该图元的图元表。图元表记录着图元的名字、类型、几何数据、颜色等基本信息。可以通过subst函数将原颜色子表替换为新的颜色子表,最后通过entmod函数更新图元从而达到修改图元颜色的目的。 其主要代码如下: (setq e(entlast)); (setq el(entget e)); (setq newcolor (+ j (* i 16) 1)); (setq new_cl(cons 62 newcolor)); (setq old_cl (assoc 62 el)); (setq el (subst new_cl old_cl el)); (entmod el) 2.3插入颜色的色号 在VisualLISP中需要向AutoCAD中添加文本时,可直接调用AutoCAD命令TEXT。使用该命令需要4个参数,即文字样式、对齐方

文档评论(0)

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

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

1亿VIP精品文档

相关文档