luongthevinh 发表于 2022-7-5 17:03:23

帮助计算许多房室结

大家好。
我在计算cad中的许多属性时遇到了一个问题。
例子:
我有一个矩形导管,高度x重量x长度。
我想要一个lisp计数属性,包括:“身高x体重x长度”
在论坛中有一个Lisp程序,但它只计算个人有属性。
我想包括“身高x体重x长度”
非常感谢!

David Bethel 发表于 2022-7-5 17:18:04

你能发布一个样例DWG吗?

luongthevinh 发表于 2022-7-5 17:35:53

我的意思是如果使用lisphttp://www.lee-mac.com/countattributevalues.html,得到的结果表明函数属性的值,但我的意思是,但我的意见是获得每个“块”的两个术语。
cad文件示例https://drive.google.com/open?id=0BzeFfYduaZE3aG5wcHBveldmTzA包括矩形风管
 
在参数上,包括风管的长度、宽度和高度。
在每个单独的值上使用“仅剥部分”lisp时。
我需要把数字去掉
例子:
风管:“300x200 L=1120mm”数量1,如单个如此不似lisp的剥离每个值:300数量1
******************************200数量1
******************************1120数量1
 
我希望lisp这样做。
非常感谢。

BIGAL 发表于 2022-7-5 17:47:26

你试过数据提取吗?使用wblock并剪切dwg的样例部分,然后在此处发布链接无效。

David Bethel 发表于 2022-7-5 17:56:49

虽然我不太了解您的确切需求,但这将创建一个所有唯一标记名/属性值及其各自计数和和和值的列表
 

(defun c:att-sumc (/ ss i en an ad av ai tn as d q s x al)
(while (not ss)
      (princ "\nSelect ATTRIButed INSERTs:   ")
      (setq ss (ssget '((0 . "INSERT")(66 . 1)))))
(setq i 0)
(while (setq en (ssname ss i))
      (setq an (entnext en)
            ad (entget an))
      (while (= "ATTRIB" (cdr (assoc 0 ad)))
               (setq av (cdr (assoc 1 ad))
                     ai (atoi av)
                     tn (cdr (assoc 2 ad))
                     as (strcat tn av))
               (if (not (assoc as al))
                   (setq al (cons (list as 1 ai) al))
                   (progn
                     (setq d (assoc as al)
                           q (1+ (nth 1 d))
                           s (+ ai (nth 2 d))
                           x (list as q s)
                        al (subst x d al))))
               (setq an (entnext an)
                     ad (entget an)))
      (setq i (1+ i)))

(prin1 al)
(prin1))

 
 
这可能有助于找到一个起点
 
-大卫

luongthevinh 发表于 2022-7-5 18:15:00

怎么说你现在明白了。简而言之,我在绘制HVAC管道系统时计算体积时遇到问题。在图形中,我通过这个动态块将风管绘制为我发送的文件。问题是,我需要一个lisp来计算大小和长度不同的管道数量。
所以
所以我真的希望你能帮我写一个lisp来做到这一点。如果这样做,它提高了工作效率是非常高的。
我要再次感谢你们所有人对我的帮助。
页: [1]
查看完整版本: 帮助计算许多房室结