明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[讨论] 如何获取属性块内文字的长度?(已解决选取问题)

[复制链接]
 楼主| 发表于 2016-4-25 18:04:37 | 显示全部楼层
自贡黄明儒 发表于 2016-4-25 13:20

(defun c:test()
(setq e (entsel))
(setq p (cadr e))
(setq lenCH (car (apply 'mapcar (cons '- (reverse (textbox (entget(car(nentsel p)))))))))
(setq lenw (rtos lenCH));转换文字长度串值
  (setq dx_actdyn (vlax-ename->vla-object e))
  (LM:setdynpropvalue dx_actdyn "距离1" lenw);
;设置选择的动态属性块 ”距离1“ 长度为文字长度
    (princ)
  )


改为这样,然后执行就是这样:选择对象: ; 错误: 参数类型错误: stringp (1903.83 977.293 0.0)

点评

(setq dx_actdyn (vlax-ename->vla-object e))=>(setq dx_actdyn (vlax-ename->vla-object (car e)))  发表于 2016-4-26 16:54
 楼主| 发表于 2016-4-26 13:17:05 | 显示全部楼层
lisp我是半瓶水,黄大侠的代码放进去出现错误。我还是没明白啊,求救!!!
发表于 2016-4-26 13:55:49 | 显示全部楼层
(if (setq ent (car (nentsel "\n请选择文本:")))
(setq zf (cdr (assoc 1 (entget ent))); 提取文本得字符
        len (strlen zf);文本字符串的长度
)
)
 楼主| 发表于 2016-4-26 16:44:00 | 显示全部楼层
kozmosovia 发表于 2016-4-26 13:55
(if (setq ent (car (nentsel "\n请选择文本:")))
(setq zf (cdr (assoc 1 (entget ent))); 提取文本得字符 ...

我是想将两次选择改为一次选择
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 13:10 , Processed in 0.153527 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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