如何将两个命令合二为一,以选择实体并在数量计划表中添加属性集?

时间:2019-03-25 12:05:03

标签: autocad autolisp

我正在尝试将autocad命令合并为一个。这些命令用于选择计划表的实体并添加属性集。

第一个命令是:ScheduleSelectionAdd 第二个命令是:AecAddAllPropSets

到目前为止,我的代码:

(defun c:upDateSchedule()
    (command "ScheduleSelectionAdd")
    (command "AecAddAllPropSets")
(princ)
)

我也尝试过这个:

(defun c:upDateSchedule()
    (command "ScheduleSelectionAdd" "" "AecAddAllPropSets" "")
(princ)
)

每次它只会将我选择的实体添加到表中,而不更新我的属性集,因此在这里我被困住了。

TIA

1 个答案:

答案 0 :(得分:2)

首先使用ssget获取选择,然后将选择传递给每个命令,例如:

(defun c:updateschedule ( / sel )
    (if (setq sel (ssget "_:L"))
        (command 
            "_.scheduleselectionadd" sel "" 
            "_.aecaddallpropsets"    sel ""
        )
    )
    (princ)
)

在这里,:L模式字符串不包括锁定层上的对象。

请注意,以上假设这些命令仅具有一个提示,提示您选择对象。