明经CAD社区

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 170|回复: 7

[提问] entmake创建问题

[复制链接]
发表于 2018-7-12 14:34 | 显示全部楼层 |阅读模式
本帖最后由 张大锤 于 2018-7-12 14:36 编辑


(entmake (list '(0 . "TEXT") '(10 29080.2 30.1374 0.0) '(7 . "MSP明朝") '(62 . 3) '(40 . 150.0) (cons 1 (ITOA (SSLENGTH ss)))))
这么读取数量 创建文字OK

但是我想把座标写出来 读取10 是错误的
(entmake (list '(0 . "TEXT") '(10 20925.0 -4478.22 0.0) '(7 . "MSP明朝") '(62 . 3) '(40 . 150.0)
(cons 1 (cdr (assoc 10 (entget (ssname ss 0)))))))

(cons 1 (cdr (assoc 10 (entget (ssname ss 0)))))))这里要怎么写额 这么读出来的10 用不了
有朋友知道用什么函数(19920.4 -4142.92 0.0)变换成"19920.4 -4142.92 0.0 "吗?





 楼主| 发表于 2018-7-12 16:51 | 显示全部楼层
這麼尷尬嗎....
发表于 2018-7-12 16:52 来自手机 | 显示全部楼层
strcat  rtos
发表于 2018-7-12 17:02 | 显示全部楼层
(cdr (assoc 10 (entget (ssname ss 0)))这个出来的结构还是一个表吧,这肯定不行啦,你得把表的坐标变成string才能创建得了吧。
发表于 2018-7-12 17:03 | 显示全部楼层
(setq str (vl-princ-to-string '(19920.4 -4142.92 0.0)))
(substr str 2 (- (strlen str) 2))
 楼主| 发表于 2018-7-13 08:54 | 显示全部楼层
evayleung 发表于 2018-7-12 17:02
(cdr (assoc 10 (entget (ssname ss 0)))这个出来的结构还是一个表吧,这肯定不行啦,你得把表的坐标变成s ...

对啊 说的就是怎么变啊
 楼主| 发表于 2018-7-13 11:05 | 显示全部楼层
pzweng 发表于 2018-7-12 17:03
(setq str (vl-princ-to-string '(19920.4 -4142.92 0.0)))
(substr str 2 (- (strlen str) 2))

谢谢版主 可以使用
发表于 2018-7-17 08:57 | 显示全部楼层
(setq lst (mapcar 'vl-princ-to-string '(1.0 2.0 3.0)))
;方法1
(setq str (strcat (car lst) " " (cadr lst) " " (caddr lst)))
;方法2
(setq str (strcat (car lst) " " (cadr lst) " " (last lst)))
;方法3
(setq str (strcat (nth 0 lst) " " (nth 1 lst) " " (nth 2 lst)))
;方法4
(setq str (apply 'strcat (mapcar 'strcat lst '(" " " " ""))))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2018-7-19 17:39 , Processed in 0.241361 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

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