lisp提取长方形坐标_如何利用lisp程序一次性提取CAD中点的坐标(不要点击每个点,太多了麻烦)...
(DEFUN C:TT ( / ss ff ss1 en pt x y)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setvar "dimzin" 0)
(vl-load-com);;加载vlax扩展函数
(setq ss (ssget '((0 . "point"))) n 0);;请选择点
(if (/= ss nil)
(progn
(setq ff (open "d://文字到TXT.txt" "w") ss1 '());;在D盘建立记事本《文字到TXT》这里可以查看内容
(repeat (sslength ss);;循环选择
(setq en (ssname ss n) n (+ n 1);;提取图元
pt (cdr (assoc 10 (entget en)));;取得点坐标
ss1 (cons pt ss1);;加入表
)
)
(setq ss1 (vl-sort ss1 (function (lambda (x y)(
(setq ss1 (vl-sort ss1 (function (lambda (x y)(> (cadr x) (cadr y))))));;Y排序从上到下
(foreach en ss1;;函数遍历表,将其中每一个元素依次赋给变量,并对每一个表达式求值
(setq x (rtos (car en) 2 5))
(setq y (rtos (cadr en)2 5));;取得Y坐标精确到小数点后5位
(princ x ff)
(princ "," ff)
(princ y ff)
(princ "\n" ff)
)
(close ff)
)
)
(princ)
)
这个TT命令修改了一下,可以对点坐标排序,保存到D盘《文字到TXT》记事本里面;实际上坐标需要X=;Y=这个标记的,这个标记表示大地坐标;大地坐标X=cad里面的y坐标,同样的Y=cad里面的x坐标,所以不能够随便修改文字格式。
更多追问追答
追问
利用原来那个TT命令流,不用选择对象输入“tt"后自动出来点坐标,不过那些坐标值与实际CAD中坐标值不一样,不太懂。还有就是输出坐标点数与实际不一样,而且输出的很乱。您的命令应该就是图元集吧,从网上看过。。下面的CAD图就是小弟要提取点坐标的dwg图,就是提取网格点坐标,横向从左向右编号,竖向从下往上编号,就是加载您的命令选择对象为0个。不知道怎么回事,还望大神指教。。
追答
提取的对象必须是(点),交点或块里面的点都不能够提取。
要得到交点的话,需要别的方法,如这条多段线里面有多少个点提取出来,就可以了。
(setq ss (ssget '((0 . "point"))) n 0);以下修改为:
(setq ss (ssget '((0 . "point,LWPOLYLINE"))) n 0)
(if (/= ss nil)
(progn
(setq ff (open "d://文字到TXT.txt" "w") ss1 '())
(repeat (sslength ss)
(setq en (ssname ss n) n (+ n 1)
pt (mapcar 'cdr (vl-remove-if '(lambda (X) (/= 10 (car x))) (entget en)))
i (length pt)
L 0
)
(repeat i
(setq pt1 (nth L pt)
L (+ L 1)
ss1 (cons pt1 ss1);;加入表
)
)
)
(setq ss1 (reverse ss1) ss (cdr (assoc 0 (entget (ssname ss 0)))));;取得第一个图元
(if (/= ss "LWPOLYLINE");不是多段线的话排序
(setq ss1 (vl-sort ss1 (function (lambda (x y)(< (car x) (car y)))))
ss1 (vl-sort ss1 (function (lambda (x y)(> (cadr x) (cadr y)))))
)
)
(foreach en ss1
(setq x (rtos (car en) 2 5))
(setq y (rtos (cadr en)2 5))
(princ x ff)
(princ "," ff)
(princ y ff)
(princ "\n" ff)
)
(close ff)
)
)
(princ)
)
追问
(我是框选的,然后就出来对象为0个)非常感谢您,这么细心解答。。那照您说的,图中的线必须是多段线才能够提取每个点,要是网格线用的是普通的line命令可以么。。不过我刚刚试了,怎么提取点的坐标与实际的不一样呢,我的图中线不是多段线画的。还有好像提取的比较乱,X、Y值我在excel中导入数据在同一列了,我想分在A、B两列这种,这样好处理数据。谢谢
lisp提取长方形坐标_如何利用lisp程序一次性提取CAD中点的坐标(不要点击每个点,太多了麻烦)...相关推荐
- lisp提取长方形坐标_求修改lisp程序,如何提取CAD中多个点的坐标,(本人想提取UCS坐标系)另外只需要提取X,Y值,不要Z...
(defun c:tqzb (/) (setq cm (getvar "cmdecho")) (setvar "cmdecho" 0) (if (setq wj ...
- 根据程序流程图化程序流图_如何利用小程序将零售本质较大化?
小程序是为线下情景为之的,它是线下商户的福利.线下零售业一直以来扩展比较有限,一直困于线下的模式,而没法精准推送网上的大量用户.小程序出示了连接网上线下的安全通道,强有力推动用户引流方法,数据流量变现 ...
- LISP excel 冻结拆分_[转载]Visual LISP与Excel电子表格
Microsoft Excel 在当今世界上的电子表格应用软件产品中占有绝对的统治地位.我们经常可以看到财会部门或人事部门利用它来处理日常的一些数据.虽然说 Access 在数据处理方面会比Excel ...
- lisp 吴永进_采用Visual Lisp软件提高长输管道施工图设计效率
摘 要 利用AutoCAD内嵌的Visual Lisp进行二次开发,编写了长输管道管沟开挖土石方量的计算程序,取得了预期的效果.本文提出了读取施工图数据,逐段计算土石方量.回填细土量的方法,介绍了关键 ...
- python提取视频字幕_荐利用Python提取视频中的字幕(文字识别)
学了好久机器学习的内容有些许枯燥,今天我们来做一个Python的小项目来玩耍吧! 项目背景 通过获取百度API实现视频文字识别. 需求阐述 将.MP4格式视频裁剪成一帧一帧的图片再将图片中的字幕摘取出 ...
- cad lisp程序大集_超经典CAD_lisp程序集锦、CAD快捷键大全
超经典CAD lisp程序集锦 如果您使用 AutoCAD,下面的内容对您一定有帮助.在某些方面能大大提高 您的工作效率.下面的程序均以源程序方式给出,您可以使用.参考.修改它. bg.lsp --- ...
- ctab法提取dna流程图_【分子】DNA的提取与检测(下)——质粒DNA
文章来自GongZH:[植为一生] [分子]DNA的提取与检测(下)--质粒DNAmp.weixin.qq.com 爱米娜桑,大家好我们的分子生物学实验又回来聊.我们继续DNA的提取故事,就很舒服. ...
- python提取文件名数字_在Python中从文件名提取扩展名
是否有从文件名中提取扩展名的功能? #1楼 一种选择可能是与点分开: >>> filename = "example.jpeg" >>> fil ...
- arcgiss如何在空白点图层加入坐标_连载 | 21 QGIS工程文件属性设置(2)——坐标参照系、变换、默认样式、数据源、关系和变量...
今天继续分享工程文件属性的设置,包括工程坐标参照系.变换.默认样式.数据源.关系和变量六个部分. 01 坐标参照系 工程坐标参照系定义了当前地图窗口所使用的坐标系,决定了如何将数据从其底层原始坐标 ...
最新文章
- 一个java高级工程师的进阶之路【转】
- make_ext4fs 失败
- 在eclipse中使用Lombok
- CK11N对物料进行价格标记时,系统提示物料递归错误;物料的BOM里面勾选了“递归允许”。
- 机器学习算法总结--SVM
- 【转】Windows消息投递流程:WM_COMMAND消息流程
- C++_类和对象_对象特性_拷贝构造函数调用时机---C++语言工作笔记042
- Myeclipse里出现两个tomcat,一个是默认的,一个是我增加的,应该用哪个呢?
- Python入门--闭包,工程函数
- java中的正则操作总结
- Bootstrap validation
- 短信炸弹jmeter验证方法
- 【论文笔记】SimplE Embedding for Link Prediction in Knowledge Graphs
- 伊利诺伊大学厄本那 香槟分校计算机科学,美国伊利诺伊大学厄本那香槟分校专业设置...
- gif透明背景动画_常用的设计文件格式——jpg、png、gif、psd、ai、cdr、tiff
- 人工智能未来十大趋势,22年最新
- updateByPrimaryKeySelective和updateByPrimaryKey区别
- Python对百亿条(100GB)数据进行查重
- 浅谈单元测试之(一):单元测试的意义
- 让Octave支持中文