2021-10-08

;;;cad小插件lisp文件:读取面积输入到表格
(defun c:wwzz () ;

(setvar “cmdecho” 0) ;不提示执行的命令,在命令行中不显示以下执行的命令,1为显示
(setvar “osmode” 255) ;不捕捉任何对象,255为捕捉端点、中点、圆心、交点、象限点、垂足点。
(setvar “luprec” 2) ;设置系统变量,小数点后保留两位(2012-5-1补加)
(setvar “dimzin” 8) ;设置系统变量,1为不删除小数点后的0,8为取消小数点后的0(2012-5-1补加)
(setq dat_file (getfiled “请选择文件保存的位置”
“”
“xlsx” ;保存文件的格式类型,即扩展名
1 ;1为新建一个文件保存,2为打开已有的文件保存
)
)

(setq zz (entsel “\n 选择文字”)) ;(entsel)单选块对象
(setq zq 1)
(setq ff (open dat_file “a”)) ; 打开文件,"a"写出文件到打开的文件,并把新的资料加在原资料之后

(write-line ;写一行文字
(strcat “断面号”
“\t”
“面积”
)
ff
)
(close ff) ;关闭文件
(while zz ;开始循环:有选取对象的操作,就执行以下命令
(command “chprop” zz “” “c” 3 “”) ;chprop是修改对象属性特征函数。颜色索引号1红、2黄、3绿、4青、5蓝、6洋红、7黑、8灰
(setq gd (entget (car zz))) ;为对象,取得属性列表
(setq ty (cdr (assoc 1 gd))) ;获取列表中开头是1的点对的第二个元素 获取列表中开头是10的点对的第二个元素
(setq str2 (substr ty 6)) ;函数从字符串 string 中取出一个子字符串后返回,截取的子字符串的起点在第 start 个字符处
(setq x (strlen str2)) ;字符串的个数
(setq str2 (substr str2 1 (- x 2)))
(setq zs (distof str2 2)) ;字符串数据返回一个实数

(sub_write_data)			;调用子程序
(setq zz (entsel "\n 选择文字"))	;(entsel)单选块对象
(setq zq (1+ zq))

)
(setvar “osmode” 255)
(setq ff nil)
(princ)
)
(defun sub_write_data () ;子程序
(setq ff (open dat_file “a”)) ; 打开文件,"a"写出文件到打开的文件,并把新的资料加在原资料之后

(write-line ;写一行文字
(strcat (itoa zq)
“\t”
str2
)

ff

)
; 把本行写入到文件(用strcat函数连接n s1 s2 s3,itoa函数把整数转为字符串,rtos函数把实数转为字符串
(close ff) ;关闭文件
)
(prompt
"\n<<c:wwzz>>读取面积输入到表格作者: cuizhenguo "
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值