乐筑天下

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

[编程交流] 从属性获取字段文本?

[复制链接]

33

主题

73

帖子

40

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
165
发表于 2022-7-6 12:24:32 | 显示全部楼层 |阅读模式
我有值属性:
 
100平方米
 
其中“100”是字段值(多段线的面积),“m2”是普通字符串。
如果有字段,则属性字符串应如下所示:
 
“%%”)。面积\\f\%lu2%pr2\”>%m2”
 
但intead(vla put TextString Attr)正在返回普通的“100 m2”。
 
 
是否有返回“%1”的函数
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2022-7-6 14:16:09 | 显示全部楼层
你好
 
vla FieldCode返回字段代码,但不适用于属性。
 
下面是一个例程,它可以处理文本多行文字或属性,甚至可以处理嵌套字段(公式)
 
[code];;gc:字段代码(gile);;返回属性文本或多行文字计数字段代码的字符串;;;;参数:实体名称(ENAME)(defun gc:FieldCode(ent/foo elst xdict dict field str);-----------------------------------------------------------------;;(defun foo(field str/pos fldID objID)(setq pos 0)(if(setq pos(vl string search“\ \ \ u FldIdx”str pos))(while(setq pos(vl string search“\ \ u FldIdx”str pos))(setq fldID(entget(cdr(assoc 360 field)))field(vl remove(assoc 360 field)field)str(strcat(substr str 1 pos)(if(setq objID(cdr(assoc 331 fldId))(vl string subst(strcat“ObjId”(itoa(gc:EnameToObjectId ObjId)))“ObjIdx”(cdr(assoc 2 fldId)))(foo fldId(cdr(assoc 2 fldId))))(substr str(1+(vl string search“>%”str pos)))))str);;-----------------------------------------------------------------;;(setq elst(entget ent))(if(and(member(cdr(assoc 0 elst))(“ATTRIB”“MTEXT”“TEXT”))(setq xdict(cdr(assoc 360 elst))(setq dict(dictsearch xdict“ACAD_FIELD”))(setq FIELD(dictsearch(cdr(assoc-1 dict))“TEXT”))(setq str(foo FIELD(cdr(assoc 2 FIELD))));;=============================================================;;;;gc:EnameToObjectId(gile);;从名称;;;返回对象ID;;;;参数:一个ename(由enlast、entsel…返回)(defun gc:enametobjectid(ename)((lambda(str)(hex2dec(substr(vl string right trim“>”str)(+3(vl string search:“str))))))(vl princ to string ename));;================================================;;;;hex2dec(gile);;将十六进制转换为十进制;;;;参数:十六进制(字符串);;返回:整数(defun hex2dec(s/r l n)(setq r 0 l(vl string->list(strcase s))(while(setq n(car l))(setq l(cdr l)r(+(*r 16)(-n(if(
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 06:30 , Processed in 0.583719 second(s), 56 queries .

© 2020-2025 乐筑天下

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