求dcl对话框、LISP编写

求dcl对话框、LISP编写,第1张

功能:演示 1、 toggle控件的使用。2、通过toggle修改text控件的值。3、通过控件设置系统变量

所需文件包括: toggle.lsp toggle.dcl

加载步骤:

1、加载lsp

2、命令行输入 test

(defun c:test( / continue curBtn dlgId )

(defun toggle_action ()

(setq text (strcat "正交:" orth "捕捉:" sna))

(set_tile "mytext" text)设置text控件

(setvar "orthomode" (atoi orth)) 设置环境变量

(setvar "snapmode" (atoi sna))

)

(setq dlgId (load_dialog "toggle.dcl"))

(if (not (new_dialog "a" dlgId))

(exit)

)

(setq orth (itoa (getvar "orthomode"))) 获取环境变量的值并赋值给orth

(set_tile "tog1" orth)

(setq sna (itoa (getvar "snapmode")))

(set_tile "tog2" sna)

(action_tile "tog1" "(setq orth $value)(toggle_action)") 为toggle控件设置处理程序

(action_tile "tog2" "(setq sna $value)(toggle_action)")

(toggle_action)

(start_dialog)

(cond ((= curBtn "btn1") (f1))

((= curBtn "cancel") (setq continue nil))

)

(unload_dialog dlgId)

)

toggle.dcl:

a:dialog{

label="slider"

:boxed_row { //define boxed row

:toggle { //define toggle

key = "tog1"//give it a name

label = "正交 开/关"//give it a label

} //end toggle

:toggle { //define toggle

key = "tog2"//give it a name

label = "捕捉 开/关"//give it a label

} //end definition

}

:text{

key="mytext"

}

:row{

:button{

key="okBtn"

label="确定"

}

:cancel_button{

label="关闭"

(princ "***打开当前文件所在目录里的其它dwg文件***。")

(setq path (getvar "dwgprefix"))

(setq dwg(getfiled "选择要打开的文件" path "" 0))

(IF dwg (vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) dwg))

(princ "\n没有指定dwg文件!!"))

第二行 getfiled 是得到对话框.

第三行是打开指定的文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11809051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存