继续分享关于Visual Lisp开发的程序,今天的知识点是读、写文件。不知道天天使用AutoCAD画图作为设计师的你,有没有注意到很多图型是规则的、构成其尺寸的数据都是标准的、图块的管理复杂且不易操作……,还有些情况需要将设计的情况或统计数据汇总输出到外部文件,诸如此类。有没有想过,在咱们自己开发一个程序,通过浏览标准数据库就能实现一键绘制标准件、通用件、常用件并且可以输出总结资料到外部文件—这里的数据库也不过是txt或者bat格式的文件。

OK,先来看一下今天要分享的程序吧。

这是一个槽钢绘制程序的读取数据部分,槽钢是钢结构中常用的型材,在CAD设计中经常用到,cgh.lsp就是为绘制槽钢三视图而设计的(只是作为设计进阶的兴趣而已,网上有很多插件都可以很好的实现这个功能)。数据文件如图

读取子程序中cond条件判断没有什么新奇的了吧?相关读取的函数就是(open file mode),我们这里是读取的模式"r",返回的是打开文件的代码。

读取文件中一行的程序是(repeat 行号 (read-line 代码)),代码就是open函数返回的文件代码,行号就是你需要读取的数据的行数。

小贴士:需要注意的是在控制台或者命令行进行调试时注意行数的概念,因为文件没有关闭,在进行read-line函数执行时会从上一次的行码为0开始计数进行读取,如果调试时需要使用正确的行码,需要关闭ff文件。

返回的是由那一行数据组成的字符串,应使用(substr 字符串 起始 长度)读取需要的数据,比如把第2行的40取出来如下

Atof函数是把字符变为实数型。

再说一下写数据,这里分享的是统计选择集中圆、直线、圆弧的数量。

主程序是选择集及相关的操作函数,子函数是输出函数,getfiled可以显示制定目录中具有指定扩展名的有效文件的列表,通过这个函数LISP语言可以访问CAD的文件对话框,有四个参数,一个是标题,一个是路径,一个是扩展名,最后一个是操作数。或者直接用open函数指向一个数据库文件。(write-line)函数和(read-line)类似,也是逐行书写。最后也需要关闭文件(close)。

小贴士:无论读还是写,数据库中格式很重要,就是给每种类型数据赋予的位数在每行书写时应统一。否则会乱,也会影响后续数据的处理。

lisp visual 开根号_分享Visual Lisp程序第二波|文件的读与写-lsp文件相关推荐

  1. lisp调用qleader端点_[分享]lisp中可用command调用的函数全集!!!!

    [分享]lisp中可用command调用的函数全集!!!! [em21] [em16] lisp中command命令可以调用的函数全集: 3D 创建三维多边形网格对象 3DARRAY 创建三维阵列 3 ...

  2. lisp提取长方形坐标_坐标提取lisp程序.doc

    坐标提取lisp程序 坐标提取lisp程序?? 2010-05-17 20:50:07|??分类: 工程 |??标签: |字号大中小?订阅 ;该程序主要用于CAD点(point)三维坐标提取,并将数据 ...

  3. lisp提取长方形坐标_坐标提取lisp程序

    坐标提取lisp程序 坐标提取lisp程序 2010-05-17 20:50:07| 分类: 工程 | 标签: |字号大中小 订阅 ;该程序主要用于CAD点(point)三维坐标提取,并将数据输出为C ...

  4. 阅读_分享成为高效程序员的7个重要习惯

    Tags:优化编程,把工作当真,理解代码,理解需求,高效程序员 作者:Phil Chu 作为软件工程师,你希望从工作中获得的是:稳定的薪水.参与好项目的机会.好工作的跳板或只是和其他程序师成为好基友. ...

  5. LISP excel 冻结拆分_[转载]Visual LISP与Excel电子表格

    Microsoft Excel 在当今世界上的电子表格应用软件产品中占有绝对的统治地位.我们经常可以看到财会部门或人事部门利用它来处理日常的一些数据.虽然说 Access 在数据处理方面会比Excel ...

  6. lisp 吴永进_采用Visual Lisp软件提高长输管道施工图设计效率

    摘 要 利用AutoCAD内嵌的Visual Lisp进行二次开发,编写了长输管道管沟开挖土石方量的计算程序,取得了预期的效果.本文提出了读取施工图数据,逐段计算土石方量.回填细土量的方法,介绍了关键 ...

  7. js开根号_原生js数值开根算法

    不借助Math函数求开根值 1.二分迭代法求n开根后的值 思路: left=0 right=n mid=(left+right)/2 比较mid^2与n大小 =输出: >改变范围,right=m ...

  8. 分式怎么开根号_怎么打出根号二(教你如何写出√2的连分式)

    连有理数是数学课的一大闪光点,数学家欧拉将连分数的运用推到完美,并为此解决了很多数学题目,这篇大家就来科学研究一个比较简单的连有理数,即√2的连有理数,使你体会下它的数学课风采和本质规律性 最先√2相 ...

  9. 分式怎么开根号_从电脑上怎么样打出“二次根号和分式?

    电脑打根号(√)的方法有很多种: ①最简便的方法是在桌面浮动的语言栏的小键盘上点右键选数学符号,软键盘中就有了√.直接从键盘上打出来,方法如下: ②左手按住换档键(Alt键)不放,右手依次按41420 ...

  10. lisp提取长方形坐标_求修改lisp程序,如何提取CAD中多个点的坐标,(本人想提取UCS坐标系)另外只需要提取X,Y值,不要Z...

    (defun c:tqzb (/) (setq cm (getvar "cmdecho")) (setvar "cmdecho" 0) (if (setq wj ...

最新文章

  1. sort函数pythonreverse_Python基础 7 ---- Python内置sort和sorted函数
  2. C#中的delegate的 Invoke 、BeginInvoke的区别
  3. 如何停止一个正在运行的java线程
  4. 关于blog的编写 规则
  5. java char short区别_java 彻底理解 byte char short int float long double
  6. java metric_java版的Metric工具介绍
  7. Android学习笔记View的工作原理
  8. 解决eclipse出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  9. java数组转对象_java将对象数组列表转换为POJO
  10. 【转】C++从零实现神经网络
  11. 时间管理(二):时间管理的六项基本原则
  12. 超详细的Engauge Digitizer 软件教程
  13. java将小写金额转换为大写的工具类
  14. UWB定位技术原理图解
  15. 【安卓】3.修改列表增加下划线样式(保姆级图文+附示例)
  16. access字段相加_access如何对一行的几列求和
  17. 海尔简爱S15电脑使用U盘来重新安装Win10系统教学
  18. docker(ELK) - logstash-elasticsearch-kibana
  19. 关于Petalinux自启问题
  20. 【OnMyWay】我为啥弃用了Ubuntu

热门文章

  1. 纯JS实现简易扫雷小游戏网页项目
  2. IT营Beego教程 Golang+Beego+Grom仿小米商城项目实战视频教程
  3. python 获取qq群成员信息_Python获取统计自己的qq群成员信息的方法
  4. vue导出excel表格(详细教程)
  5. 计算机兴趣小组学情分析,计算机兴趣小组计划、教案浅析.doc
  6. BSC(币安智能链)主网链部署
  7. 用geoda软件进行空间自相关分析示例
  8. 空间相关分析(三) 局部莫兰指数的理解与计算
  9. Pascal voc 2012 数据集简介
  10. Quartus破解成功,但出现不支持某些设备的问题解决