欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    利用AutoCAD二次开发功能实现自动提取点坐标.doc

    • 资源ID:2805677       资源大小:77KB        全文页数:3页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    利用AutoCAD二次开发功能实现自动提取点坐标.doc

    化工矿产地质GEOLOGY OF CHEMICAL MINERALS第 30 卷 第 3 期2008 年 9 月Vol.30 No.3Sep.2008信息技术利用AutoCAD二次开发功能实现自动提取点坐标姜祖迎*么作庚辽宁省化工地质勘查院,辽宁锦州,121000提 要 拾取不同图形对像的坐标是烦锁工作,把不同属性的图形对像修改相同,使其变为单一重复,可以编程处理,AutoLISP语言编程批量提取点坐标可以提高工作效率,减少错误。关键词 AutoLisp 图形对像 坐标 文本文件中图分类号:TP391.72文献标识码:A文章编号:10065296(2008)03016603在工程设计、建筑放样、施工检核过程中,经常需要提取点位的设计坐标,输入相应仪器, 对施工现场进行较对检查。AutoCAD在批量提取 点位坐标时没有相应功能,需要二次开发才能满 足需要。AutoCAD的开发手段很多,如C+、Java、 Vbsic、AutoLisp等。AutoLISP语言是AutoCAD 专用的二次开发的工具。Visual LISP作为帮助使 用AutoLISP语言进行程序开发的一个集成开发 环境。在Visual LISP开发环境下使用AutoLisp语 言编程(采用AUTOCAD2004与AUTOLISP二 次开发技术与AUTOLISPDCL基础篇 知 识)非常简单方便。本文用AutoLisp开发了一段 可批量提取点坐标的程序,可批量提取点坐标, 且把点坐标写入文本文件。基本思路:在AutoCAD中点选或框选欲提取 坐标的点,提取该点坐标且编号,然后按一定格 式存入一个文本文件中。由于所要提取点对像在图内的不确定性,如 有的点在线的交点处,有的在端点处,有的在园 心处,有的在园弧上等,使提取点的图形属性不 可预见,无法事先编程处理。如果把拾取点的图 形属性处理成统一的形式,就可以编程处理了。 本程序需要把欲拾取点图形处理成圆,然后提取圆心坐标。提取圆心坐标时须把不需要的园放入其它 图层,将其关闭。本程序功能:可拾取图面内所有圆心坐标, 按拾取顺序编号,记入Txt文件内,数据格式为 “点号,X,Y,H,代码”。更新所提取圆半径, 将圆心坐标标注在圆心处。使用方法:在AutoCAD内打开Visual LISP, 将本程序复制到文本框内、保存。文件名最好和 程序名一样,便于记意。如:“Tzb.lsp”。运行程 序前需用记事本创建一个*.Txt文件,待存放拾取 点的坐标。在AutoCAD内打开图形文件,将拾取点处理 为圆。在命令行键入“appload”命令,加载本程序所 在Lsp文件,然后在命令行建入“Tzb”回车,选择 事先建立的*.Txt文件。点选或框选图内的圆回 车。按提示输入新的圆半径。待程序运行完毕, 提取坐标完成。打开*.Txt文件就可看见所提的坐 标了。数据文件样式为:1,4849166.182,504905.415,0,32,4847556.121,506943.735,0,3* 第一作者简介:姜祖迎(1967),男,主要从事钻探及地基基础施工,工程师收稿日期:20080515; 改回日期; 200807063,4845983.397,505708.767,0,34,4847596.533,503672.366,0,35,4848914.423,505736.922,0,6,4849224.891,505344.991,0,7,4849098.213,504991.463,0,8,4849035.379,505071.01,0,程序内容为:(defun c:Tzb ()(command "osnap" "off" "")(setq n (1+ n);记录进入子程序数量)(alert (strcat "提取了" (itoa k) " 个圆心坐标且 半径被更新! ")(prin1)(defun sub_upd_rad ();取消捕捉(command "layer" "m" "圆" "c" 6 "" "");建立"圆"层(command "layer" "m" "坐标" "c" 5 "" "");建立"坐标"层(command "layer" "m" "点号" "c" 4 "" "");建立"点号"层(setq 40_list (assoc 40 endata)(setq 8_list (assoc 8 endata) (setq 10_list (assoc 10 endata);取出圆半径;取出图层;取出圆心坐标(setq new_40_list (cons 40 new_rad)新的半径列表; 组成 (setq new_8_list (cons 8 new_la)图层列表; 组 成新的 (setq dat_file (getfiled "选择坐标文件" "txt" ""2)(setq ff (open dat_file "a")(setq new_rad (getreal "输入新半径:")(setq endata (subst new_40_list 40_list endata);用新的半径替换旧半径(entmod endata);更新(半径)(setq endata (subst new_8_list 8_list endata) ;用新的图层替换旧图层(setq new_la "圆")(setq h (/ new_rad 5);输入新图层;字高(entmod endata)(setq k (1+ k) (setq;更新(图层);记录圆数量(prompt "n<<框选或点欲拾取的圆>>")(setq ss (ssget)xy zxyz(nth 1 10_list)(nth 2 10_list) (nth 3 10_list)(list x y z)(setqk 0)n 0kyxz (strcat (itoa k)","(rtos y 2 3) ","(rtos x 2 3) ","(rtos z 2 3) ",")k (itoa k)xyyz (list (+ x (* h (strlen k) (+ y (* h 1.3)(repeat (sslength ss)确定循环次数(setq en (ssname ss n) (setq endata (entget en)数据列表; 计算选择个数;取出图元名; 取出对象名称(setq entype (cdr (assoc 0 endata) ;取出图元名第二位数值(if(= entype "CIRCLE")就进入子程序(sub_upd_rad); 如 果是圆 z)注意:在处理提取对像时不要做重复图形,如果在一个点上做两个园,程序将按两个对像处理, 提两个做标。本程序在AutoCAD2002、2004、2006下验证xyzz (list (+ x (* h (strlen k) y z)xz(list (+ x (* h (strlen k) (- y (* h 1.3)z)k (atoi k)运 行正常。 该程序可 以运行环 境与 )AutoCAD2002 、AutoCAD2004 、AutoCAD2006运行环境相对应,即 AutoCAD2002 、 AutoCAD2004 、 AutoCAD2006 需要的 环境, AutoCAD2002简体中文版运行环境:Win9X/ NT/2000/ XP(write-line kyxz ff)(setqa (strcat "Y=" (rtos x 2 3)b (strcat "X=" (rtos y 2 3)c (strcat "Z=" (rtos z 2 3)AutoCAD2004 简体中文版运行环境: Win9X/2003/2000/XPAutoCAD2006简体中文版运行环境:最低系统需 求Windows XP或 Windows 2000(SP2 或更高 版本)256 MB RAM。2005年在锦州石化公司苯 乙烯工程,装置区700余棵桩,罐区2000余棵桩 基础,单个点提取坐标要用34d时间,简单重 复一项操作还容易出错,耽误工期。使用该程序 后1分钟完成且不易出错。本文编写过程中参考了AUTOCAD2004与 AUTOLISP二次开发技术(赵景亮,李志刚编 著,清华大学出版社,2004)和AUTOLISP DCL基础篇(吴永进,林美樱编著,中国铁道 出版社,2003)。(setq)bac (strcat "" b " , " a " , " c)(command "clayer" "点号" "")(command "text" xyz h 0 k) (command "clayer" "坐标" "")(command "text" xyyz h 0 b) (command "text" xyzz h 0 a) (command "text" xz h 0 c)(prompt "以完成提取圆心坐标并更新圆半径") (prin1)SELECT THE POINT COORDINATES WITH THE AUTOCAD FURTHERDEVELOPMENT FUNCTIONJiang ZuyingYao ZuogengLiaoning Chemical and Geological Exploration Institute, Jinzhou, Liaoning, 121000,ChinaAbstractIt is hard to collect the coordinates in the different figures. We can amend the different figures into the same attribute and make it singularity repetition. It will improve the work efficiency and reduce the mistakes with AutoLISP language programme selecting the point coordinates in batch quantity.Key words: AutoLisp, figures image, coordinate, text file

    注意事项

    本文(利用AutoCAD二次开发功能实现自动提取点坐标.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开