Jws41611 发表于 2022-7-5 15:59:05

Lisp文件有问题

嘿,我有一个lisp文件,我有麻烦。如果您还没有lisp文件,则lisp文件将更改为图层并将其装箱。我遇到的麻烦是用它自己的颜色和线型设置它。如果我设置lisp代码,有人能帮我解决这个问题吗。

BIGAL 发表于 2022-7-5 16:12:36

这是一个非常简单的层检查和设置。
 

(defun chklay (layname col lt / )
(if (= (tblsearch "layer" layname) T)
(setvar 'clayer layname)
(command "-layer" "M" layname "c" col layname "LT" lt layname "")
)
)

(CHKLAY "XXXX" 1 "CONTINUOUS")

Roy_043 发表于 2022-7-5 16:26:53

@比加尔:
你确定吗
(= (tblsearch "layer" (STRCASE layname)) T)

BIGAL 发表于 2022-7-5 16:33:18

是的,您是正确的,将更改代码,tblsearch进行案例检查aaaa=aaaa

Roy_043 发表于 2022-7-5 16:42:51

@比加尔:
你是对的。然而,我的观点不同。tblsearch函数可以返回list或nil,但不能返回T。
因此:
(= (tblsearch "layer" layname) T)应替换为:
(tblsearch "layer" layname)

Jws41611 发表于 2022-7-5 16:49:38

这是我想要为我想要的颜色和线型设置的代码
 
 
; 将选定对象更改为图层-WCFI-WALL
(定义c:swl()
(托莱耶)
(ssget“_:L”);;选择
“-WCFI-WALL”;;层
)
(普林斯)
)
(defun tolayer(ss lay/i e)
;;; ss-选取集
;;; 层-层名称
(重复(setq i(sslength ss))
(entmod)
(subst
(cons 8层)
(assoc 8(entget(setq e(ssname ss(setq i(1-i k)а)))))
(entget e)
)
)
)
)
)

Jws41611 发表于 2022-7-5 17:03:33

; 将选定对象更改为图层-WCFI-WALL
(定义c:swl()
(托莱耶)
(ssget“_:L”);;选择
“-WCFI-WALL”;;层
)
(普林斯)
)
(defun tolayer(ss lay/i e)
;;; ss-选取集
;;; 层-层名称
(重复(setq i(sslength ss))
(entmod)
(subst
(cons 8层)
(assoc 8(entget(setq e(ssname ss(setq i(1-i k)а)))))
(entget e)
)
)
)
)
)
页: [1]
查看完整版本: Lisp文件有问题