明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: hxh2901

如何把尺寸标注的值自动输入到txt文本中

  [复制链接]
 楼主| 发表于 2011-12-7 11:56:56 | 显示全部楼层
本帖最后由 hxh2901 于 2011-12-7 12:09 编辑

谢谢xujinhua,可以了.能否再改进一下:一次框选所有尺寸标注,然后按顺序获取各边长值(可按标注的时间来判定顺序,早标注的为先)
发表于 2011-12-7 14:55:26 来自手机 | 显示全部楼层
我再试试。。。
发表于 2011-12-7 23:23:14 | 显示全部楼层
(defun c:xu()
(setq fln-2 (getstring "\n文件名:"))
(if (= fln-2 "") (setq fln-2  "c:\\1"))
(setq fln-1 (strcat fln-2 ".txt"))
(setq file_id (open fln-1 "a"))
(setq a (ssget))
(setq n (sslength a))
(setq index 0)
(repeat n
(setq el (entget ( ssname a index)))
(setq index ( + index 1))
(setq e (assoc 0 el))
(if (= "DIMENSION" (cdr e))
(progn
(setq txt (cdr (assoc 42 el)))
(princ txt file_id)
(princ " " file_id)
)
)
)
(princ "\n" file_id)
(close file_id)
(prin1)
(prompt "\n共输出了")
(prin1)
)



这个可以选一个三角形三个标注一起输出
我试了你的图...前二个输出都是 C B A
                        可第三个去是 C A B

我也搞不清楚它输出的规律...........
只能到这里了
 楼主| 发表于 2011-12-8 08:24:48 | 显示全部楼层
你的程序输出是有默认规律的,就是从最后一个依次到第一个.但是我想要的是反过来的,把第一个标注的首先输出.如果能把选择的顺序反过来刚好.
 楼主| 发表于 2011-12-9 08:48:06 | 显示全部楼层
请版主把本贴移到"编程申请"版块,谢谢
发表于 2011-12-9 11:51:23 | 显示全部楼层
找我吧,可以连续输入到excel
发表于 2011-12-9 13:01:52 | 显示全部楼层
数据可以填到cad的表格再把表格 输出为.csv格式的就可以了吧
发表于 2011-12-17 19:13:07 来自手机 | 显示全部楼层
xujinhua 发表于 2011-12-7 23:23  (defun c:xu()  (setq fln-2 (getstring"\n文件名:"))  (if (= fln-2"") (setq fln-2"c:\\1"))

大哥,我觉得你这个程序很实用。看一下能不能在命令行增加一个提示:输入点选尺寸个数,输出数据自动指行。如,我输入点选尺寸数为5个,当我点选尺寸有5个时,就一行,超过5个时,输出数就自动换到下一行,当最后点选个数不是5的倍数时就自动退出,但之前符合规则已点选的都会顺利输出,免得再重新开始,看一下这样行不行。谢谢
发表于 2011-12-22 10:08:08 | 显示全部楼层
(defun c:xu()
(setq fln-2 (getstring "\n文件名:"))
(if (= fln-2 "") (setq fln-2  "c:\\1"))
(setq fln-1 (strcat fln-2 ".txt"))
(setq file_id (open fln-1 "a"))
(setq x (getreal "\n输入换行个数:"))
(setq a (ssget))
(setq n (sslength a))
(setq index 0)
(setq y 0)
(repeat n
(setq el (entget ( ssname a index)))
(setq index (+ index 1))
(setq e (cdr (assoc 0 el)))
(if (= "DIMENSION" e)
(progn
(setq y (+ y 1))
(setq txt (cdr (assoc 42 el)))
(princ txt file_id)
(princ " " file_id)
(if (= y x)
(progn
(princ "\n" file_id)
(setq y (- y x))
)
)
)
)
)
(close file_id)
(prin1)
(prompt "\n共输出了")
(prin1)
)

发表于 2011-12-22 10:12:46 | 显示全部楼层
这个勉强可以....不过你说的这句
"当最后点选个数不是5的倍数时就自动退出"
我不会...这个是你选输出换行个数 。。。
这就会按这个数设为一行...超过会变成下一行...
但最后那行如果没有五个也会跟着输出....
可能最后一行没有五个

你看行不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-9 12:11 , Processed in 0.167903 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表