DCL调用子函数
请教下大神:dcl按确定按钮后, 分别执行几个函数,其中一个子函数是选取坐标点(getpoint)+插入文字(command“text”。。。。),经过测试有两个地方解决不了,求教这是为什么。
1、子函数带(command“text”)的时候会蹦出“VEVAL-STR+ARX对话框,提示错误”
2、子函数注释掉(command“text”),只留下(getpoint)的时候,不提示错误,不提示选取点。
3、为测试是否调用函数,注释掉(getpoint)和(command“text”),增加 (alert "8888") 语句,可弹出alert 提示框。
(defun dcl_jl ()
(setq dcl_id (load_dialog "jl"))
(new_dialog "jl" dcl_id)
(def_jl)
(action_tile "jilu""(setq neirong $value)")
(action_tile "accept" "(done_dialog 1)(get_zigao)(xieru_cad)(xieru_txt)");关闭对话框,写到txt,写到cad
(start_dialog)
)
(defun xieru_txt ( )
***
)
(defun xieru_cad ( )
(alert "8888")
;;; (setq pt1 (getpoint "记录插入点:"))
;;;
;;; (command "text"
;;; "m"
;;; pt1
;;; zigao
;;; 0
;;; (strcat date-time neirong)
;;; )
)
输入多个数据时,DCL可视化一次多数据输入很方便,或者是多个按钮,单个按钮触发指定小程序,dcl代码有特定的结构组成,想实现你的功能,可以把文字直接用输入框,点击确认按钮后触发“拾取指定点”代码就可以,论坛有自动生成对话框的小程序,可以看一下。
[不死猫原创] 利用文字排列实现可视化DCL开发(开源)
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=81777&fromuid=363233
(出处: 明经CAD社区)
hhh454 发表于 2024-1-10 10:40
输入多个数据时,DCL可视化一次多数据输入很方便,或者是多个按钮,单个按钮触发指定小程序,dcl代码有特定 ...
感谢,现在还有个问题解决不了。我这个程序平常输入命令用,并且我是做了个dwg反应器,在关闭dwg的时候弹出面板,输入文字插入到dwg。现在关闭dwg的时候能弹出面板,但是在插入的时候程序就执行关闭dwg了,没法插入。有什么好的办法吗? wzg356 发表于 2024-1-11 11:21
done_dialog表示结束对话框了,这类取点,command等需要退出来执行,如要获取对话框的数据或计算则放在done ...
感觉结束对话框跟执行其他函数,是并列的关系吧。如果不需要知道done_dialog的值,就无所谓前后了吧,先关闭对话框就先关闭呗。不知道我理解的对不对。
但是你说的是标准的写法,以后我改正。;P 对话框使用时,是不能调用command命令的。这时你应该给他一个结束的值。done_dialog,然后通过调用对话框函数返回来才行。可以在论坛搜搜对话框的程序,看看它的组成结构。 tigcat 发表于 2024-1-9 17:35
对话框使用时,是不能调用command命令的。这时你应该给他一个结束的值。done_dialog,然后通过调用对话框函 ...
感谢,明早看看,再请教。 tigcat 发表于 2024-1-9 17:35
对话框使用时,是不能调用command命令的。这时你应该给他一个结束的值。done_dialog,然后通过调用对话框函 ...
麻烦看看我给其他人留言的新问题,看看会不会解决:P- liuxinkai 发表于 2024-1-10 16:39
感谢,现在还有个问题解决不了。我这个程序平常输入命令用,并且我是做了个dwg反应器,在关闭dwg的时候弹 ...
检查一下是不是把exit放到插入前面了 hhh454 发表于 2024-1-10 21:50
检查一下是不是把exit放到插入前面了
本来就是监测到执行关闭动作才反应的,我们按了关闭按钮然后反应器动作,才进行写入。
做这个的本意就是在关闭dwg的时候提醒作图人员做记录。
有没有好的方法?
liuxinkai 发表于 2024-1-10 16:39
感谢,现在还有个问题解决不了。我这个程序平常输入命令用,并且我是做了个dwg反应器,在关闭dwg的时候弹 ...
大神,方便分享一下关闭dwg的反应器吗?谢谢 努.力 发表于 2024-1-11 09:17
大神,方便分享一下关闭dwg的反应器吗?谢谢
(vlr-dwg-reactor nil '((:vlr-beginClose . zdjl)));关闭的时候自动记录
(defun zdjl(a b);必须带两个参数,可以不用,但是必须写进去
(C:jl)
)
页:
[1]
2