乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 76|回复: 4

[综合讨论] 将数据从autocad导入ex

[复制链接]

3

主题

17

帖子

14

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-8 06:28:31 | 显示全部楼层 |阅读模式
尊敬的各位:,
 
我有一个auto cad绘图。其中有几条线(使用pline命令绘制-不使用line命令)。
我想把它的长度输入excel
 
此外,我想选择当前drg中的所有行。长度相同。如果我能将所有带有编号的行及其长度分别导出到excel表中,那将更好。
我在这里面临的另一个问题如下:
我知道我的画有6140.0000mm。长度至少为3行。但当我在pline>length>等于6140.0000的情况下运行“快速选择”选项时,它不会选择任何线
pl.帮帮我
回复

使用道具 举报

3

主题

17

帖子

14

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-8 06:55:06 | 显示全部楼层
我确实随身携带了这段代码,但它不适用于未关闭的pline。
;|    导出圆弧、圆和直线图元属性的程序
到CSV文件中
mfuccaro@hotmail.com
在使用此lisp之前,应使用UNIT命令
---------------------------2004年8月
|;
 
;修订日期:2004年9月
;    - 将圆添加到列表中
;    - 所有记录实体的长度计算
;    - 如果未选择任何内容,请处理错误
;
;2010年1月
;   - 实体编号
 
(德芬·普特诺(NP)
(setq TXT高度200)
(entmake(list’(0。“TEXT”)(cons 1(rtos n))(cons 10 p)(cons 40 txtheight)'(50.0.785398)))
(评估n)
)
 
(定义c:LST(/名称文件ss ssi enl ln ar ci c2s)
 
;----------------------------
(defun ln(l f n/p);在文件f中记录一行l
(写入行(strcat“line,”
(c2s(cdr(assoc 10 l)))
(c2s(cdr(assoc 11 l)))
(rtos(距离
(cdr(assoc 10 l))
(cdr(assoc 11 l ϨϨϨ)f)
(setq p(mapcar’*(mapcar’+(cdr(assoc 10 l))(cdr(assoc 11 l)))'(0.5 0.5 0.5)))
(putno n p)
)
 
;----------------------------
(defun ar(l f n/c r u1 u2);记录弧
(setq c(cdr(assoc 10 l));居中
r(cdr(assoc 40 l));半径
u1(cdr(assoc 50 l));开始
u2(cdr(assoc 51 l));。。。和端角
)
(写入行(strcat“ARC,”
(c2s(极性c u1 r))
(c2s(极性c u2 r))
(rtos(*r(abs(-u2 u1)))”
(c2s c)(rtos r))f)
(putno n c)
)
 
;-----------------------------
(defun ci(l f n/r);记录圆
(setq r(cdr(assoc 40 l));半径
(写入行(strcat“CIRCLE,,,,,,,,”
(rtos(*2 PI r))“,”
(c2s(cdr(assoc 10 l)))
(rtos(cdr(assoc 40 l)))f)
(putno n(cdr(assoc 10 l)))
)
 
;----------------------------
(defun c2s(x);用于转换字符串中的坐标
(strcat(rtos(car x))“,”(rtos(cadr x))“,”(rtos(caddr x))“,”)
)
 
;----------------------------
 
(setq名称(getvar“dwgname”))
(如果(=“)(子字符串名称(-strlen name)3)1)
(setq名称(substr名称1(-strlen名称)4)))
(setq文件(打开)(GetField“输出文件…”名称“CSV”1“w”)
ss(ssget)ssi-1)
(写入行
“类型,开始X,开始Y,开始Z,结束X,结束Y,结束Z,长度,中心X,中心Y,中心Z,半径”
文件)
(setq n 1)
(如果ss
(程序
(重复(sslength ss)
(setq enl(entget(ssname ss(setq ssi(1+ssi)Ю))))
(条件
(=“LINE”(cdr(assoc 0 enl)))(ln enl文件(setq n(1+n)))
((=“ARC”(cdr(assoc 0 enl)))(ar enl文件(setq n(1+n)))
(=“CIRCLE”(cdr(assoc 0 enl)))(ci enl文件(setq n(1+n)))
)
)))    ;如果SS结束
(关闭文件)
(普林斯)
)
回复

使用道具 举报

3

主题

17

帖子

14

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-8 07:12:53 | 显示全部楼层
我的画就像附件一样。我需要这个pline的总长度,并将其导出到excel
072836pvctvspwdoyfjsic.jpg
回复

使用道具 举报

0

主题

85

帖子

87

银币

限制会员

铜币
-2
发表于 2022-7-8 07:27:25 | 显示全部楼层
这个问题应该在LISP区域,而不是AutoCAD初学者,但是。。
 
我可以试试快速选择失败。如果多段线绕过一个角,则长度将包括整个多段线的总长度(该多段线每个部分的总和),而不仅仅是其一条边。
 
如果单击多段线,整个多段线将同时高亮显示。
回复

使用道具 举报

3

主题

17

帖子

14

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-8 07:32:49 | 显示全部楼层
是的,我只需要完整长度的多段线-不是部分。
pl.也为我的其他问题提供解决方案,即。
 
2) 无法选择(通过快速选择)长度为6140的多段线,即使它在drg中。
 
3) 我遇到的另一个问题是(我试图打开“工具”>“快速选择”>“对象类型为多段线”>“属性”>“长度”),我无法操作此宏
 
Sub-quick()
发送键(“%T”)
发送键(“k”)
发送键(“{TAB}”)
发送键(“p”)
发送键(“{TAB}”)
发送键(“{l 5}”)
发送键(“{TAB}”)
发送键(“{TAB}”)
 
末端接头
 
这个宏有什么问题?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 22:20 , Processed in 0.588305 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表