DCL通用函数(仿院长版)
本帖最后由 微笑去爱 于 2023-11-30 15:56 编辑[*](setq int1 nil
int2 nil
tog1 nil
n1 nil
n2 nil
)
(defun main ()
(princ (list n1 n2 int1 int2 tog1 txt1))attach://130979.vlx
)
(setq allfile '("1" "2"))
;(if (null n1) (setq n1 "1"))
;(if (null n2) (setq n2 "2"))
(setq dlst '(
("row" "")
("ima1""ima" "40" "排管断面图.sld");;ima1参数,40宽度
("boxed_column" "参数")
("n1" "参数0" "poplist" allfile "15")
("n2""参数1" "list" allfile "15" "10")
("int1" "参数2" "int" "200" "15") ;;200默认值,10宽度
("int2" "参数3" "int" "300" "15") ;;300默认值,10宽度
("tog1" "开启" "tog" 1)
("开关" (mapcar 'mode_tile '("int1" "int2") (list tog1 tog1));;关闭int1 int2输入
(action_tile "tog1" "(mode_tile \"int1\" (atoi $value))(mode_tile \"int2\" (atoi $value))");;点击tog1开关,开启int1、int2输入
)
("txt1" "作者lea QQ:170272854" "text")
("}") ;;boxed_column结束
("}");;row结束
("row" "")
("spacer_1") ;;空一行
("bu1" "确定" "but" "1" "(main)" T);;button按钮 "2"代表动作(0是取消,1是确定),"main"可以输入子函数如(lea-mkline),t获取数据 nil不获取数据
("cancel" "取消" "but");("accept" "确定" "but" )
("}") ;;row结束
)
)
(if (= (lea-dcl-int0 "排管断面图2023.11.30" dlst) T)
(progn
(princ "成功")
)
)
[*]
仿院长版直接将DCL用lsp来表示。
(defun c:tt (/ Dlst ll1 ll2 lst1)
(defun main-pro () (princ "ok"))
(setq ll1'(po1 li1 d1 d2 bo1)
ll2'("0" "0" 200. 300. "1")
lst1 '("1" "2")
)
(xyp-initSet ll1 ll2)
(setq Dlst '(":row{"
("k0" "" "ib" "-2" "36" "排管断面图.sld" "(princ)")
("" "参数" ":boxed_column{")
"spacer;"
("po1" "类型" "poplist" "lst1" "8")
("li1" "方式" "list" "lst1" "8" "6")
("d1" "行间距" "real" "8")
("d2" "列间距" "real" "8")
("bo1" "标注" "bool")
"spacer}"
"}"
)
)
(if (= (xyp-Dcl-Init Dlst "【排管DCL】" t) 1)
(main-pro)
)
(princ)
)
微笑去爱 发表于 2024-2-1 11:52
院长你那个tog 开关放在哪?
("bo1" "全选" "tog") czb203 发表于 2023-12-1 09:00
大哥,要怎么操作呀,看起很厉害的样子
直接按照我这个格式就可以了啊 太高级了吧 magicheno 发表于 2023-11-30 16:09
太高级了吧
{:1_1:}也是模仿。可能还不完善。 谢谢分享! 怎么执行呢?
大哥,要怎么操作呀,看起很厉害的样子 xyp1964 发表于 2023-12-1 09:09
院长竟然过来了。:lol 微笑去爱 发表于 2023-12-1 11:06
院长竟然过来了。
给院长投票
页:
[1]
2