组层过滤器lisp?
大家好,CAD大师在外面!我目前在创建Lisp程序方面有困难,急需有经验的指导。我试图发出命令,例如(defun C:lo ()
(command "layer" "on" "*" "t" "*" ""))
这将打开所有层,但是我需要电路-1到电路-12层保持不变。例如,如果我将电路5到12关闭、冻结,则它们可能处于的任何状态都不需要受到打开所有层的命令的影响。
基本上,我想发出一个命令,打开所有层,除了层Circuit-1到Circuit-12
我开始编写基于层组的代码,我认为这可能是完成这项任务的方法。一、 E.将排除或删除回路1-12的所有图层组成一个图层组,然后解冻或打开该图层组的所有图层。我无法使用代码解冻“新层过滤器”。(不过,我可以右键单击该组并将其可见性更改为“解冻”,这样就可以了。)
(defun c:TESTER (/)
(COMMAND "-LAYER" "FILTER" "NEW" "GROUP" "" "*" "NEW LAYER FILTER" "")
(COMMAND "-LAYER" "FILTER" "EDIT" "NEW LAYER FILTER" "DELETE" "CIRCUIT-1" "DELETE" "CIRCUIT-2" "DELETE" "CIRCUIT-3" "DELETE" "CIRCUIT-4" "DELETE" "CIRCUIT-5" "DELETE" "CIRCUIT-6" "DELETE" "CIRCUIT-7" "DELETE" "CIRCUIT-8" "DELETE" "CIRCUIT-9" "DELETE" "CIRCUIT-10" "DELETE" "CIRCUIT-11" "DELETE" "CIRCUIT-12" "")
(command "-layer" "t" "new layer filter" ""))
我哪里出错了? (命令“layer”“on”“!*circuit”)
这行得通吗。不知道你能不能用!这样地。
使用Tapatalk从我的SM-G920T发送 不完全是这样,但谢谢你的快速回复!它告诉我没有找到匹配的层名称。 我拿出了!在代码中
(命令“layer”“thaw”“*circuit*”“”)
现在它似乎正在工作,但它正在做与我需要它做的相反的事情。它只是打开电路层,而不是让它们保持不变,并打开所有其他层。 对不起,接线员不是!。。。
(command "layer" "thaw" "~*circuit*" "")
我认为所有这些运算符都适用。
AutoCAD 2017帮助:在图层特性管理器中使用图层列表的步骤
#(磅)匹配任何数字
@(at)匹配任何字母字符
. (句点)匹配任何非字母数字字符
*(星号)匹配任何字符串,可以在搜索字符串中的任何位置使用
? (问号)匹配任何单个字符;例如BC与ABC、3BC等匹配
~(tilde)匹配除模式之外的任何内容;例如,~*AB*匹配所有不包含AB的字符串
[]匹配随附的任何一个字符;例如,C匹配AC和BC
[~]匹配任何未包含的字符;例如,[~AB]C与XC匹配,但与AC不匹配
[-]指定单个字符的范围;例如,C匹配AC、BC到GC,但不匹配HC
`(反引号)逐字读取下一个字符;例如,`~AB匹配~AB 对非常感谢!!!这正是我想要的!你刚刚挽救了这一天! 很高兴能够帮助并欢迎来到论坛。
使用Tapatalk从我的SM-G920T发送
页:
[1]