YZ 发表于 2022-7-6 23:43:07

存储计数的变量

我只是想知道是否有方法返回选择集中对象的数量?
 
例如,我希望使用Diesel来解释IF语句,该语句在选择等于零时执行特定操作。
 
无法使用Lisp,只能使用带有Diesel的宏和脚本。谢谢。

YZ 发表于 2022-7-7 00:15:50

换句话说,另一种方法是返回给定层上的对象数。我也可以用同样的方式解释这些数据。

BIGAL 发表于 2022-7-7 00:35:14

如果为零而不是零,或者检查T是否为真,则可能意味着选择存在。
 
了解LT,但了解lisp示例

(setq ans (entsel))
(if (/= ans nil) ; or (if ans this checks for TRUE
(alert "object picked")
(alert "blank space picked")
)

YZ 发表于 2022-7-7 00:45:38

谢谢比格尔,你总是有很多选择。
 
我认为entsel对LT不起作用,尽管它看起来几乎完美。
 
我可以运行List命令,该命令将以下内容放入命令行:
 
LIST
Select objects: Last
1 found

Select objects:

                   LWPOLYLINELayer: "0"
                           Space: Model space
                  Handle = 9355
             Closed
   Constant width   0.000
               area   3705.718
          perimeter   215.795

         at pointX=305.429Y=   34.592Z=    0.000
            bulge    -0.986
             centerX=321.636Y=   64.872Z=    0.000
             radius    34.345
      start angle 208d9'27.7"
          end angle 26d31'17.0"
         at pointX=336.972Y=   95.603Z=    0.000
            bulge    -1.014
             centerX=321.636Y=   64.872Z=    0.000
             radius    34.345
      start angle 26d31'17.0"
          end angle 208d9'27.7"

 
数字“1 found”正是我需要的,我绞尽脑汁试图将其写入一个临时变量。
 
我没有发现任何变量可以存储这些信息,以便在特定时间返回。我现在想知道对我来说最好的办法是将var UserR1设置为零,然后尝试Move命令,然后将var UserR1设置为1。
 
然后我可以在第二个按钮宏中解释UserR1(如果有数据要移动,那么它将一直移动到宏的末尾并更改UserR1,但是如果没有选择,那么它将挂起,期望用户ti输入选择集)。
 
类似于:
 
如果我的简化示例不正确,请使用英语-如果为true,则将所选内容上移8个单位,如果为false,则不执行任何操作。
 
它不完全是防弹的,但它可以工作,并且是迄今为止我能想到的最好的。
页: [1]
查看完整版本: 存储计数的变量