大家好,
我遇到了另一个我自己无法解决的挑战。
比如说我画了一幅画
-“B-LINELAYER”层上有20行
-“B-BLOCKLAYER”层上有6个块
-还有一个以“B”开头的图层。
现在我想运行我的命令。能够选择对象。(所有内容都允许删除锁定层)。然后键入“V”。
假设我在“B-LINELAYER”层上选择了10条线。我想把它们移到“V-LINELAYER”层。如果该层不存在,则需要使用原始层“B-LINELAYER”的精确属性进行制作。
这样,我可以给某些行/块一个特定的“状态”。Tho,它们在屏幕上显示相同。
到目前为止,我自己做到了:
-选择对象(除锁定层外的所有层)
-选择:B V或T(我使用的3种状态)
-如果没有选择,什么都不会发生。
-如果选择,则获取对象的数量并为每个对象运行循环。
但是现在。。。变化的部分。。。有什么想法吗?
- (defun C:ChangeStatus(/ objecten nieuwestatus n index)
- (setq objecten (ssget ":L"))
- (initget "B V T")
- (setq nieuwestatus (getkword "\nChange to status [bestaand Vervallen Tijdelijk]: "))
- (if (= nieuwestatus nil)
- (progn
- (princ "\nNothing changed.")
- )
- (progn
- (princ "\nChange status...")
- (setq n (sslength objecten))
- (setq index 0)
- (repeat n
- [color="red"] <something here>[/color]
- (setq index (1+ index))
- )
- )
- )
- (princ)
- )
|