这时有一段代码,可供参考(写的时间太久了)

;;==================================================================== ;;

;将选择的多义线以每行一个坐标点对的形式输出到文件中

;;====================================================================

(defun c:OPL (/ Ss Ts n i Os Ns ent Fh sp Os0 Os1)        ;        08:35 2000-10-13

(prompt"\n ***** Output Pline(s) *****  08:35 2000-10-13") ;;

(prompt "\n************* 以填加形式打开文件 ************")

(setq i (getString "\n 为保存数据,请输入一个文件名(如:D:/TTTT.Dat)===>"))

(if (= "" i) (setq i "D:/TTTT.Dat"))

(setq sp (getString "\n 输入一个字符作为数据间的分隔符(如逗号或空格等)"))

(if (= "" sp) (setq sp " "))

;;        ( print i )                ; 文件名

(setq Fh( open i "a"))

(setq ss (ssget))                                ; 选择对象

(setvar "CMDECHO" 0)                        ; 执行过程没有回应

(setvar "LUPREC" 8)                        ; 设置小数位

(setq n (sslength ss))

(setq i 0)

;---------------------------------------------------------------

(repeat n

(setq    ent (entget(ssname ss i ))    i (+ i 1))

;;                ( print ent )                ; 显示当前表

(if (= "LWPOLYLINE" (cdr (assoc 0 ent))) ; 取对象名,判断该对象是否是 LWPOLYLINE

(Progn

;;--------------------------------------------------------

( setq Ns (cdr (assoc 90 ent )))                ; 取每条线的总点数

( princ "\n This Line Total Point is ===>")

( princ Ns )                ; 显示当前线的总点数

;;--------------------------------------------------------

( setq Os (cdr (assoc 70 ent )))        ; 取每条线的闭合状态(0不闭合,1闭合)

(setq Clo 0)                ; 设置非闭合线标致0

(if (Or (= OS 1) (= OS 129))                 ; 当前线是封闭线

(Progn

(setq Clo 1)        ; 设置闭合线标致1

(setq Ns (+ Ns 1))        ; 当前线的总点数加1

(princ "  ") (Princ Ns)                ; 显示当前线的总点数

)                                ; 用于在线尾增加线的首点,人为进行闭合。

)        ;当前线是封闭线,线节点数加1。

;;--------------------------------------------------------

( setq Os ( assoc 10 ent ))                ; 取第一点子表

( setq Ts 5        Os1 0)

(while (/= Os  ( nth Ts ent ))  (setq Ts( + Ts 1))    ); 确定第一点子表位置

(princ "\n" Fh)                ;;每条线空一行

;;----------------------------------------

(princ Ns Fh)                ;;每条线的总点数

(princ "\n" Fh)

;;----------------------------------------

;;----------------------------------------

(while  Os                 ;;是否是空子表

( setq Os ( nth Ts ent ))        ; 取每一点的子表

( setq Ts (+ Ts 4))

(if (= (car Os) 10)

(Progn

(setq Os0 (strcat (rtos(cadr Os)) "," (rtos(caddr Os))) )

(if (/= Os0 Os1) (princ (strcat Os0 "\n") fh ) )  ; 非重复点

(setq Os1 Os0)

);;;; Progn

);;;;  If

(If (= Clo 1)                        ; 是闭合线

(setq Clo 2    XY0 Os0)        ; 设置闭合线标致2,保存第一点坐标

;;(princ XY0)        ; 显示闭合点坐标

);;;; if

) ; while

(If (= Clo 2)                ; 是闭合线

(princ (Strcat XY0 "\n") fh ) ; 输出第一点

)                ; 在线尾增加线的首点,人为进行闭合。

) ; Progn

) ; end if

) ; repeat

(setvar "CMDECHO" 1)

(close fh)

)

Lisp获取偏置后对象的坐标点_晓东CAD家园-论坛-A/VLISP-[LISP程序]:求助:用lsp提取lwpline的点坐标-有现成的吗?谢谢! - Powered by Discuz!...相关推荐

  1. 如何用lisp画蔓叶线_晓东CAD家园-论坛-晓东工具箱、编程申请-求帮忙,编写一个,快速填充图案的 LISP程序 - Powered by Discuz!...

    这是我根据从网络上收集到的填充LISP插件,加以修改的的结果.虽然不完美,但还是能达到,60%的期望.发出来,大家帮忙修改一下. ;填充图案的 LISP插件 (defun c:HH(/ kw lay ...

  2. LISP 圆孔标记_晓东CAD家园-论坛-A/VLISP-获取当前标注样式-;;希望大家来完善它 - Powered by Discuz!...

    (defun C:get_current_dimStyle (/ L LST Y) (setq        Lst (list "blipmode"                ...

  3. lisp把选集转成表_晓东CAD家园-论坛-LISP/VLISP程序库-[LISP程序]:把text转为属性图块 - Powered by Discuz!...

    ;;把text转为属性图块 ;;By LUCAS (defun C:C_DEF (/ HOLDECHO HOLDBLIP HOLDREQ SS SSS N A AA A1 A73 HH LST_210 ...

  4. lisp点位提取_晓东CAD家园-论坛-A/VLISP-[LISP函数]:计算到指定点指定距离的点的点位 - Powered by Discuz!...

    ;;;================================================================= ;;;计算到指定点指定距离的点的点位 ;;;参数:lst -- ...

  5. lisp画垫圈_晓东CAD家园-论坛-LISP/VLISP程序库-[LISP程序]:俺的画内六角圆柱头螺钉的LISP程序-见附件 - Powered by Discuz!...

    b_screw_column.dcl /*;这是一个基于AutoCad 14.0下画螺钉的程序 ;本程序作者b.w ;本程序无偿使用 ;如有更好建议,请联系b.w ;版本:2.0.01 ;日期:14/ ...

  6. lisp将图元追加选择_晓东CAD家园-论坛-A/VLISP-向块添加新图元,添加图元到块内 - Powered by Discuz!...

    (defun $add-ents>block$ (ents block / copy-zt dxf mat mxm mxv objs ref->def trp B-O) ;块外图元复制到块 ...

  7. lisp 多段线转面域_晓东CAD家园-论坛-晓东工具箱、编程申请-[编程申请]:批量面域转成闭合多段线!!!!-批量面域转成闭合多段线!!!! - Powered by Discuz!...

    '将多个直线连成一条轻质多段线 Public Sub joinpoly(reg As AcadRegion) reg.Explode On Error Resume Next Dim sset As ...

  8. lisp 天正标高_天正lisp文件夹_晓东CAD家园-论坛-A/VLISP-[求助]:怎样设置这个lisp里的读取文件...

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 这时一个别人很久以前的lisp文件,可能是cadR12版就有了.文件语句如下: (se ...

  9. Lisp获取偏置后对象的坐标点_三坐标测量基础知识2020

    三坐标学习的几点忠告 RationalDMIS7.0实战从入门到精通 2019(新书售卖) 一.测头的选择 1.在测量方案的设计中,尽量选用最少的测头个数,对于MH20I,PH10T,PH10M,RE ...

最新文章

  1. 写程序过程中写程序的注意事项
  2. 项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
  3. 本地计算机所安装的网络组件,3.2 在本地计算机中安装和配置IIS
  4. linux 运行 级别(转)
  5. 什么情况下不应该使用深度学习?
  6. fir.im Weekly - 2016 开年技术干货分享
  7. 将对象转成 json 以及 将字符串 hash(SHA1) 加密
  8. nova.api.openstack.auth解析(ocata版本)
  9. Spring tool suite修改主题
  10. Linux 系统字体安装
  11. request.getParameterValues()
  12. 最新狂雨小说CmsV1.5.2漂亮的小说网站源码
  13. bad interpreter: No such file or directory解决办法
  14. cmd pc如何开多个微信_电脑微信多开怎么弄的?
  15. 易车上面可以买车吗?
  16. 配置 七牛云cdn 加速
  17. 【python知识】win10下如何用python将网页转成pdf文件
  18. vue3+echart5 遇到的报错:Cannot read properties of undefined (reading ‘type‘)
  19. JS实现鼠标经过和离开图片放大缩小效果
  20. 软件版本号讲解:什么是Alpha,Beta,RC,Release

热门文章

  1. 阿里云OCR:(一)身份证识别
  2. 通过ItemDataBound事件操作数据控件中嵌套的其他控件
  3. java毕业设计水果购物网站mybatis+源码+调试部署+系统+数据库+lw
  4. esp8266监听服务器端口信息,esp8266连接远程服务器收信息
  5. Python pip 源设置成国内源,阿里云源,清华大学源,最方便的方式,都在这里了
  6. Error: Failure while executing; git clone https://github.com/Homebrew/homebrew-core
  7. K8S入门练习,最简单搭建k8s,适合初学,无需连google
  8. 腾讯游戏和区块链平台合作,它能让“区块链+游戏”真正落地吗?
  9. iOS开发屏幕自动旋转与调整大小
  10. 图新地球CAD精准导入影像图,有无坐标系投影信息均适用