乐筑天下

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

[编程交流] Dimstyle数据检索?

[复制链接]

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 09:49:35 | 显示全部楼层 |阅读模式
我试图从单个DIMIE中检索所有测量数据;为单个dimstyle的每个标注添加所有测量值。我希望在LISP中执行此操作,然后将结果用作单个变量。有什么想法吗?
 
提前感谢您提供的所有帮助。
 
布鲁斯
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 10:02:02 | 显示全部楼层
oLst变量中的所有测量值。
 
  1. (defun c:test(/ sDim dSet dLst dSty oLst)
  2. (if(and
  3.       (setq sDim(entsel "\nPick sample dimension > "))
  4.       (equal '(0 . "DIMENSION")(assoc 0(entget(car sDim))))
  5.       (setq dSty(assoc 3(entget(car sDim))))
  6.       ); end and
  7.    (progn
  8.      (setq dSet(ssget "_X" (list '(0 . "DIMENSION") dSty))
  9.     dLst(vl-remove-if 'listp(mapcar 'cadr(ssnamex dSet)))
  10.     ); end setq
  11.      (foreach d dLst
  12. (setq oLst(append oLst(list(cdr(assoc 42(entget d))))))
  13. ); end foreach
  14.      ); end progn
  15.    (progn "\n<!> This isn't dimension <!> ")
  16.    ); end if
  17. (princ "\n")(textscr)
  18. oLst
  19. ); end of c:test
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 10:09:22 | 显示全部楼层
 
Ок. 所选dimstyle的所有尺寸的总和长度。
 
  1. (defun c:test(/ sDim dSet dLst dSty oLst)
  2. (if(and
  3.       (setq sDim(entsel "\nPick sample dimension > "))
  4.       (equal '(0 . "DIMENSION")(assoc 0(entget(car sDim))))
  5.       (setq dSty(assoc 3(entget(car sDim))))
  6.       ); end and
  7.    (progn
  8.      (setq dSet(ssget "_X" (list '(0 . "DIMENSION") dSty))
  9.     dLst(vl-remove-if 'listp(mapcar 'cadr(ssnamex dSet)))
  10.     ); end setq
  11.      (foreach d dLst
  12. (setq oLst(append oLst(list(cdr(assoc 42(entget d))))))
  13. ); end foreach
  14.      ); end progn
  15.    (progn "\n<!> This isn't dimension <!> ")
  16.    ); end if
  17. (princ(strcat "\nSum length for '"
  18.         (cdr dSty)
  19.         "' dimstyle: "
  20.         (rtos(apply '+ oLst))
  21.    ); end strcat
  22. ); end princ
  23. (princ)
  24. ); end of c:test
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:20:09 | 显示全部楼层
Smirnoff,这很好用,但是我知道Dimstyle的名称,不想为此选择尺寸。我想输入dimstyle名称作为变量ie;(setq变量“TtoTSLine”),其中“TtoTSLine”是dimstyle的名称。我一直在玩弄你的代码,让它以这种方式运行,但没有成功。
 
谢谢你为她提供的一切。
 
布鲁斯
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 10:32:09 | 显示全部楼层
这就是你需要的?
 
  1. (defun c:test(/ dSet dLst dSty oLst)
  2. [color="#0000ff"](setq dSty "TtoTSLine")[/color]
  3. (if(setq dSet(ssget "_X" (list '(0 . "DIMENSION")(cons 3  dSty ))))
  4.    (progn
  5.      (setq dLst(vl-remove-if 'listp(mapcar 'cadr(ssnamex dSet)))
  6.     ); end setq
  7.      (foreach d dLst
  8. (setq oLst(append oLst(list(cdr(assoc 42(entget d))))))
  9. ); end foreach
  10.        (princ(strcat "\nSum length for '"
  11.         dSty
  12.         "' dimstyle: "
  13.         (rtos(apply '+ oLst))
  14.    ); end strcat
  15. ); end princ
  16.      ); end progn
  17.    (princ "\n<!> No dimensions found <!> ")
  18.    ); end if
  19. (princ)
  20. ); end of c:test
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:35:48 | 显示全部楼层
斯米尔诺夫,效果很好,非常感谢你的努力。
 
布鲁斯
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 10:41:51 | 显示全部楼层
没问题。这只是对大脑神经元的一个小练习。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:57:11 | 显示全部楼层
注意DimRadial和DimAngular。径向可能是可以接受的(取决于一个人的情况),但角度将返回以弧度为单位的角度。
 
这是我使用的。。。
 
  1. (defun c:DimSum (/ ss)
  2. ;; Alan J. Thompson
  3. (if (setq ss (ssget '((0 . "DIMENSION"))))
  4.    ((lambda (i total / e d)
  5.       (while (setq e (ssname ss (setq i (1+ i))))
  6.         (or (wcmatch (cdr (assoc 100 (reverse (setq d (entget e))))) "*Angular*,*Radial*")
  7.             (setq total (+ total (cdr (assoc 42 d))))
  8.         )
  9.       )
  10.       (or (zerop total) (alert (princ (strcat "\nTotal: " (rtos total)))))
  11.     )
  12.      -1
  13.      0.
  14.    )
  15. )
  16. (princ)
  17. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:15 , Processed in 0.549793 second(s), 68 queries .

© 2020-2025 乐筑天下

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