乐筑天下

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

[编程交流] 总和属性

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:10:55 | 显示全部楼层 |阅读模式
有谁能给我推荐一个lisp例程,我可以用它添加块的属性,我可以通过窗口多边形或close plygon进行选择,
谢谢
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 16:27:19 | 显示全部楼层
虽然确实可行,但满足您需求的计划可能必须相当具体。
 
所有属性都是十进制、英制、科学等格式的吗
您想使用所有属性还是只使用证书标记名
显示或输出结果的位置和方式。
通过ssget选择插入接受各种输入:
 
需要多少错误检查
 
许多小事情使程序真正有用-大卫
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 16:31:41 | 显示全部楼层
下面是一个添加属性值的通用例程-大卫
 
  1. ;;;ADD NUMERIC VALUES OF AN ATTRIB TAG IN SELECTED INSERTS
  2. (defun c:combav (/ tm ss i en an ad at av vl)
  3. (setq tm (strcase (getstring "\nATTRIB Tag To Add:   ")))
  4. (and (setq ss (ssget (list (cons 0 "INSERT")
  5.                             (cons 66 1)
  6.                             (cons 67 (if (= (getvar "TILEMODE") 1) 0 1)))))
  7.        (setq i (sslength ss))
  8.        (while (not (minusp (setq i (1- i))))
  9.               (setq en (ssname ss i)
  10.                     an (entnext en))
  11.               (while (= "ATTRIB" (cdr (assoc 0 (entget an))))
  12.                      (setq ad (entget an)
  13.                            at (strcase (cdr (assoc 2 ad)))
  14.                            av (atof (cdr (assoc 1 ad))))
  15.                      (if (= at tm)
  16.                          (setq vl (cons (if (= (fix av) av)
  17.                                             (fix av) av) vl)))
  18.                      (setq an (entnext an)))))
  19. (apply '+ vl))
回复

使用道具 举报

0

主题

26

帖子

26

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 16:42:53 | 显示全部楼层
你好这个lisp如何将结果和放入其他块的其他属性中,而不是打印ito命令行??
当lisp已经汇总了所需的属性值时,是否可以将字段公式插入到另一个选定块的选定属性中?(或插入选定块的预定义标记)。向你们所有人致意!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:46:18 | 显示全部楼层
我和David一样,这是一个开放式问题,对所有块属性求和是最简单的,我会看一个通用方法,但不是要求使用属性的顺序来命名标记。我想要1,2和5的总和。使用VL get属性只意味着对请求的属性进行交叉检查。
 
Msanddune结果如何?
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
262
发表于 2022-7-5 16:57:39 | 显示全部楼层
其中一个应该符合你的需要
 
http://lee-mac.com/sumattributes.html
http://lee-mac.com/macatt.html
http://lee-mac.com/countattributevalues.html
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:02:21 | 显示全部楼层
现在测试一些东西。
 
这样做有点粗糙,但显示了一种一个代码适合所有人的方法。它需要一些If,所以不正确的对象不要使其崩溃。它确实需要属性作为可以检查的字符串。如果你两次输入一个职位,它会将其添加到总数中。顺序是创建顺序,而不是视觉顺序,同样,Ntsel会有所帮助。
 
属性从1开始为0,而不是1,因此条目上的-1,但从用户的角度来看,1更容易识别。
 
它一次只做1个,但原始帖子在所需内容方面有点夸张。
 
  1. 2
回复

使用道具 举报

0

主题

26

帖子

26

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 17:18:43 | 显示全部楼层
 
你好我很欣赏李的套路,我用了很多,谢谢李!我对sumattributes有问题。虽然是lsp,但表格通常会在一段时间后显示#####。实际上,我不知道原因是什么,因为属性定义不会更改,只有属性的内容可能会更新,因为这些是链接到对象多段线区域的字段。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-20 21:22 , Processed in 2.134565 second(s), 68 queries .

© 2020-2025 乐筑天下

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