永发信息网

如何用lisp程序提取选择的属性块中的length属性,并加合,最后给出结果

答案:1  悬赏:60  手机版
解决时间 2021-03-19 14:29
如何用lisp程序提取选择的属性块中的length属性,并加合,最后给出结果
最佳答案
一般有两个方案
第一个方案:用AutoLisp方案,首先用 取得图块这个图元,然后用 entnext 逐一找到属性块来找到其中length的属性,然后将它的值给找出来,然后进行运算,注意 entnext 的运用。这个很简单,你自己应该写吧。
第二个方案:用VisualLisp方案,注意vla-getattributes,vlax-variant-value,vlax-safeArray->list这几个函数的运用,以下为 VisualLisp的例子
(Defun C:Test ()
(setq en0 (car (entsel)))
;;此处请选有属性定义的图块
(setq vn0 (vlax-ename->vla-object en0))
(setq lstVar (vla-getattributes vn0))
(setq lstAttrs (vlax-safeArray->list (vlax-variant-value lstVar)))
(setq TextString nil)
(foreach attr lstAttrs
(setq TagString (vla-get-TagString attr))
(if (equal TagString "length") ;此处为你想要的元素
(setq TextString (vla-get-TextString attr))
)
)
(if TextString
(princ (strcat "The content of length = " TextString))
(princ "没有找到length ")
)
(prin1)
)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦幻西游85剧情拿高兽决卖钱的数学期望大概是
微信界面时,为什么屏幕常亮
按电脑键盘上下左右键下键为什么不跳到下面一
怎么样看轿车跑的实际公里数?
宇飞汽车油改气地址在什么地方,想过去办事
现在到桂林旅游安全吗
未满18岁的民事案件,需要赔偿的,是需要监督
新生儿保险可以报多少
即将发布的YotaPhone3值得买吗
抚松县河北街道办这个地址在什么地方,我要处
为什么增值税发票上面写的是17%的税率,算下来
提问提答问题不提问提总问提提了问题解问提。
Do you know that with wise men improves y
每个月交社保是怎么交费
草字头加个吕念什么
推荐资讯
热值的公式中v表示什么,各个字母表示什么
光的偏旁是什么字
果蔬减肥药怎么样
几何画板怎么画曲线
我2009年在重庆市黔江民族职教中心滴,现在去
vivox5pro的蓝牙耳机能和oppor7手机链接吗
清朝赵翼说:“李杜诗篇万口传,至今已觉不新
1, 3 ,5 ,7 ,9, 11 ,13, 15中,其中三
jarno是什么意思
2000年左右穿的老式连裤和长筒袜,现在在拿能
色盲和色弱有什么区别
喜欢相近的词有什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?