明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 567|回复: 5

[提问] 求助,ssget能不能按照填充图案名构件选择集

[复制链接]
发表于 2020-10-23 19:07 | 显示全部楼层 |阅读模式
假设有一堆填充图案不一样的封闭图形,我想统计所有solid填充的面积和


感觉是组码不对,附半成品:
(defun c:gg()
(setq ss (   ssget     '(   (-4 . "<and")(0 . "hatch") (2 . "solid") (-4 . "and>")   )          )   )
(if (= ss nil) (exit))
(setq len (sslength ss) i 0 k 0)
(while (< i len)
(progn
     (setq en (ssname ss i))
(command "._AREA" "O" en)
(setq en  (getvar "area"))
(setq en  (/ en 1000000.0))
(setq k  (+ en k))
(setq i (1+ i))
  )   ;end while progn
)  ;end while
(setq k  (rtos k 2 3))
(command "text" pause  2500 0  k )
(princ)
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-10-23 20:06 | 显示全部楼层
(if (setq ss (ssget '((2 . "SOLID"))))
(progn
  (setq Area 0)
  (while (setq name (ssname ss 0))
   (setq Area (+ Area (vla-get-Area (vlax-ename->vla-object name))))
   (ssdel name ss)
  )
  (/ Area 1000000)
)
)
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-10-24 14:24 | 显示全部楼层
taoyi0727 发表于 2020-10-23 20:06
(if (setq ss (ssget '((2 . "SOLID"))))
(progn
  (setq Area 0)

感谢,明白了,原来是大写小问题
发表于 2020-10-24 15:51 | 显示全部楼层
smile365408137 发表于 2020-10-24 14:24
感谢,明白了,原来是大写小问题

我范糊涂了,lisp 变量区分大小写吗?不会吧。
 楼主| 发表于 2020-10-24 17:12 | 显示全部楼层
mokson 发表于 2020-10-24 15:51
我范糊涂了,lisp 变量区分大小写吗?不会吧。

图案的名字区分的
发表于 2021-2-11 11:55 | 显示全部楼层
感谢源码,收藏学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 23:44 , Processed in 0.916291 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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