各位大神,求一个画矩形的功能,输入tt,然后在图纸上画矩形,要求图层为templayerName
各位大神,求一个画矩形的功能,输入tt,然后在图纸上画矩形,要求图层为templayerName,颜色为黄色,线宽100你让AI写就好了啊,这种基础的还是写得出来的 本帖最后由 tranque 于 2025-5-30 19:02 编辑
(defun c:TT (/ pt1 pt2 layer-name)
;; 设置图层信息
(setq layer-name "templayerName")
;; 创建或设置图层
(if (not (tblsearch "LAYER" layer-name))
(progn
(command "_.-LAYER"
"_M" layer-name
"_C" "2" "" ; 黄色
"_LW" "0.1" "" ; 0.1毫米线宽
""
)
)
(command "_.-LAYER" "_S" layer-name "")
)
;; 获取用户输入
(setq pt1 (getpoint "\n指定矩形第一角点: "))
(if (not pt1) (exit)) ; 如果取消则退出
(setq pt2 (getcorner pt1 "\n指定对角点: "))
(if (not pt2) (exit)) ; 如果取消则退出
;; 绘制带宽度矩形
(command "_.PLINE"
"_non" pt1 ; 使用非捕捉模式
"_W" "100" "100" ; 设置线宽
"_non" (list (car pt1) (cadr pt2)) ; 左上角点
"_non" pt2 ; 右上角点
"_non" (list (car pt2) (cadr pt1)) ; 左下角点
"_C" ; 闭合
)
(princ)
)
tranque 发表于 2025-5-30 17:18
谢谢兄弟,非常感谢。 tranque 发表于 2025-5-30 17:18
Error: 输入的列表有缺陷 664571221 发表于 2025-5-30 17:49
Error: 输入的列表有缺陷
存的ANSI格式吗 画矩形TT,tx元宝生成 哈哈11111111111111 本帖最后由 嘒彼小星 于 2025-6-2 11:56 编辑
之前不是给弄过的吗(defun c:t1(/ la co)
(setq la(getvar "CLAYER"));当前图层
(setq co(getvar "CECOLOR"))
(if (= (tblsearch "layer" "templayerName") nil)(entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord") '(70 . 0) '(6 . "Continuous")(cons 2 "templayerName"))))
(setvar "CLAYER" "templayerName")
(setvar "CECOLOR" "2")
(vl-cmdf "_.RECTANG" "w" "100" pause pause)
(setvar "CLAYER" la)
(setvar "CECOLOR" co)
)
页:
[1]