Lisp应用于坐标标注中若干问题解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lisp应用于坐标标注中若干问题解析

Lisp应用于坐标标注中若干问题解析摘要:随着CAD的广泛应用,设计师们对CAD的要求也越来越高。通过二次开发工具Lisp语言能够很好地解决日常工作中的许多小型问题。坐标标注这一程序在设计过程中,要充分考虑到图层、捕捉、坐标取位精度和引线位置计算等方面的问题,切实做到程序正确实用、操作方便、不破坏原图的参数环境,使CAD不仅是绘图工具,同时也是得心应手的高效设计平台。 关键词:图层捕捉控制取位精度引线方向加载 Autocad软件应用已经在建筑设计、城市规划、工程制图、机械设计、电子电路等单位普及,它为我们的工作带来了很大的便利。随着工作的不断细化,广大设计师对CAD的要求也在不断地增强,有些工作中需要的功能,在CAD软件中并没有提供,需要通过二次开发的功能来实现。Autocad二次开发的主要工具有LISP、VB/VBA的Activex及C/C++的ObjectARX。LISP以其简单、易于掌握的特点深受设计师的喜爱。LISP语言是人工智能学科领域中广泛采用的一种程序设计符号语言,这种语言在参数化绘图中有很大的灵活性。LISP开发出的程序可以像运行CAD普通命令一样在命令行中直接键入自己定义的命令运行,保持了用户的绘图习惯。 在设计中我们经常会遇到对图纸上的坐标进行标注的问题。对于市面上的专业软件如CASS软件、天正软件均具有该项功能,但对于广大设计师,他们使用的是普通CAD而非专业版的,并不具备这一功能,需要通过LISP语言进行二次开发来实现。一个好的LISP程序至少要保证三个条件:1、程序本身运行的正确性2、程序操作简单、界面清晰3、程序执行完后要还原所有改动过的CAD运行环境参数。因此在编写坐标标注这一程序时要考虑以下相关问题。 一、图层控制 程序执行所生成的坐标标注信息应该放在同一层内(如ZBBZ层),且不应破坏原有图层,这样便于对ZBBZ这一层进行开、关、冻结、删除等层控操制。 首先用(setq old-layer (getvar “clayer”))命令将程序执行前的当前图层名提取出来存入old-layer这个变量。由于同一张图可能会分几个时间段进行标注,先判断ZBBZ图层是否存在,如果存在,将它设为当前层,如果不存在,则新建层名,确定层的颜色。 (setq Labz (tblsearch “Layer” “ZBBZ”)) (IF (=Labz nil) (progn (command “layer” “n” “ZBBZ” ““ ) (command “layer” “s” “ZBBZ” “c” “1” ““ ““)) (setvar “clayer” “ZBBZ”));;if结束 在程序执行完退出之前,需要将程序执行前的图层进行还原 (setvar “clayer” old-layer) 二、标注的字体样式 首先要清楚想要标注的字体样式如HZ、FS在windows系统的字库中是否存在(正常情况下都有),然后将当前字体样式名提取出来存入old-style这个变量,如果字体已加载到图形中,将其定为当前字体,如果字体未加载,则加载字体并确定字的宽度、倾斜角度等属性,最后在程序执行完退出之前将字体样式还原。 (setq old-style (getvar “textstyle”)) (setq newstyle (tblsearch “style” “hz”)) (IF (= newstyle nil) (command “style” “hz” “rs,hztxt” “0.0” “0.8” “0” “n” “n” “n”) (setvar “textstyle” “hz”)) (setvar “textstyle” old-style);;还原字体 三、捕捉控制 在程序执行中,经常会遇到程序是正确的,但运行结果却不太符合自己的意愿,这其中一个主要原因是没有把对象捕捉关掉。坐标标注一般都需要捕捉到特征点上,要合理控制好捕捉的开与关才能达到想要的效果。CAD常用的捕捉及对应的位码设置有以下几种: 0 NON(无) 1 END(端点) 2 MID(中点) 4 CEN(圆心) 8 NOD(节点) 16 QUA(象限点) 32 INT(交点)64 INS(插入点)128 PER(垂足) 256 TAN(切点) 512 NEA(最近点) 1024 QUI(快速) 通过位码值的累加可以实现多个对象捕捉的打开。 首先要把程序执行前的捕捉模式提取出来,在捕捉的状态下点取需要标注的特征点,然后关闭对象捕捉,点取标注位置,进行标注引线及X、Y标注位置的计算,退出程序前将捕

文档评论(0)

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

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

1亿VIP精品文档

相关文档