找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: L12196

[求助] 求指导,求驱动

[复制链接]

已领礼包: 9815个

财富等级: 富甲天下

发表于 2014-11-22 07:46:32 | 显示全部楼层
本帖最后由 yularna 于 2014-12-31 22:24 编辑
L12196 发表于 2014-11-20 21:05
是我搞混了,是的就像你截图那样的,但是现在的日期是与名字对齐,如果要把日期放在名字下方正中间(居中) ...
[pcode=lisp,true]
;签名 晓东 zxq0220 2014.11.15 2014.11.22
(defun c:de ()
(setq txtlst '("张三" "李四" "陈胜" "吴广"))
(if (> (setq dcl_id (load_dialog "mypopup_list")) 0) (progn
  (if (new_dialog "mypopup_list" dcl_id) (progn
   (set_tile "dat" (rtos (fix(getvar "CDATE")) 2))
   (action_tile "cancel" "(done_dialog 0)")
   (action_tile "accept" "(readata) (done_dialog 1)")
   (setq re (start_dialog))
  ) (princ "\n无法显示对话框!"))
  (unload_dialog dcl_id)
) (princ "\n无法加载对话框!"))
(if (= re 1) (progn
(if (not(tblsearch "STYLE" "qm"))
  (command "_.STYLE" "qm" "STFANGSO.TTF" 0 1 "" "" "")
)
(initget 1)
(setq pt (getpoint "\n文字插入点: "))
(command "_.TEXT" "s" "qm" pt 30 0 ch1)
(command "_.TEXT" (polar pt 0 130) 30 0 ch2)
(command "_.TEXT" (polar pt 0 260) 30 0 ch3)
; (command "_.TEXT" "" dat)
(command "_.TEXT" "c" (mapcar '- pt '(-260 50)) 30 0 dat)
))
(princ)
)
(defun readata ()
(setq ch1 (nth (atoi(get_tile "ch1")) txtlst))
(setq ch2 (nth (atoi(get_tile "ch2")) txtlst))
(setq ch3 (nth (atoi(get_tile "ch3")) txtlst))
(setq dat (get_tile "dat"))
)
[/pcode]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-15 20:53:45 | 显示全部楼层
本帖最后由 L12196 于 2014-12-16 22:09 编辑

为使用方便现在想把那个插入点改动下,就是在按确定后,以两条红线交点为插入点,这样的话驱动需要怎么修改??求指导。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9815个

财富等级: 富甲天下

发表于 2014-12-16 08:53:44 | 显示全部楼层
  1. ...
  2. (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(550 517.5)) 300 0 ch1)
  3. (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(1617 517.5)) 300 0 ch2)
  4. (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(3234 517.5)) 300 0 ch3)
  5. ...

点评

在不??  详情 回复 发表于 2014-12-31 20:43
我在原先的DCL文件中加了几句,去实现对三个控件的选择,就是打上勾的就不能进行选择并且在按确定后也不会驱动文字出来!! 这样的话驱动该如何去设计? :boxed_row {label="选择"; :toggle {key="key_toggle  详情 回复 发表于 2014-12-28 16:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-28 16:37:57 | 显示全部楼层
本帖最后由 yularna 于 2014-12-31 22:26 编辑

我在原先的DCL文件中加了几句,去实现对三个控件的选择,就是打上勾的就不能进行选择并且在按确定后也不会驱动文字出来!!
这样的话驱动该如何去设计?
[pcode=lisp,true]
:boxed_row
  {label="选择";
:toggle
{key="key_toggle1";
label="检查1";
value=1;}
:toggle
{key="key_toggle2";
label="检查2";
value=0;}
:toggle
{key="key_toggle3";
label="检查3";
value=0;}}
[/pcode]
PS:我想让下拉菜单的控件同时具有编辑框的功能,这个在LISP程序上能实现吗?
(就是在有的基础上同时能在框内进行编辑内容),这样的话DCL和驱动该如何去修改!请指导!!!

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-31 20:43:34 | 显示全部楼层

{:soso_e100:}在不??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9815个

财富等级: 富甲天下

发表于 2015-1-1 08:20:35 | 显示全部楼层
  1. ;签名 晓东 zxq0220 2015.1.1
  2. (defun c:de ()
  3. (setq txtlst '("张三" "李四" "陈胜" "吴广"))
  4. (setq dat (rtos(fix(getvar "CDATE")) 2 0))
  5. (setq dat (strcat (substr dat 1 4) "," (substr dat 5 2) "," (substr dat 7)))
  6. (if (> (setq dcl_id (load_dialog "mypopup_list")) 0) (progn
  7.   (if (new_dialog "mypopup_list" dcl_id) (progn
  8.    (set_tile "dat" dat)
  9.    (mode_tile "ch1" (if(= (get_tile "key_toggle1") "1") 0 1))
  10.    (mode_tile "ch2" (if(= (get_tile "key_toggle2") "1") 0 1))
  11.    (mode_tile "ch3" (if(= (get_tile "key_toggle3") "1") 0 1))
  12.    (action_tile "key_toggle1" "(mode_tile "ch1" (if (= $$value "1") 0 1))")
  13.    (action_tile "key_toggle2" "(mode_tile "ch2" (if (= $$value "1") 0 1))")
  14.    (action_tile "key_toggle3" "(mode_tile "ch3" (if (= $$value "1") 0 1))")
  15.    (action_tile "cancel" "(done_dialog 0)")
  16.    (action_tile "accept" "(readata) (done_dialog 1)")
  17.    (setq re (start_dialog))
  18.   ) (princ "\n无法显示对话框!"))
  19.   (unload_dialog dcl_id)
  20. ) (princ "\n无法加载对话框!"))
  21. (if (= re 1) (progn
  22. (if (not(tblsearch "STYLE" "qm"))
  23.   (command "_.STYLE" "qm" "STFANGSO.TTF" 0 1 "" "" "")
  24. )
  25. (initget 1)
  26. (setq pt (getpoint "\n文字插入点: "))
  27. (if ch1 (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(550 517.5)) 300 0 ch1))
  28. (if ch2 (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(2167 517.5)) 300 0 ch2))
  29. (if ch3 (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(3784 517.5)) 300 0 ch3))
  30. (if (or ch1 ch2 ch3) (command "_.TEXT" "" dat))
  31. ))
  32. (princ)
  33. )
  34. (defun readata ()
  35. (setq ch1 (if(=(get_tile "key_toggle1") "1") (nth(atoi(get_tile "ch1")) txtlst) nil))
  36. (setq ch2 (if(=(get_tile "key_toggle2") "1") (nth(atoi(get_tile "ch2")) txtlst) nil))
  37. (setq ch3 (if(=(get_tile "key_toggle3") "1") (nth(atoi(get_tile "ch3")) txtlst) nil))
  38. (setq dat (get_tile "dat"))
  39. )
  1. mypopup_list:dialog{
  2. label="签名助手";
  3. spacer;
  4. :row{
  5.   :boxed_column{
  6.    label="图纸检查";
  7.    :popup_list{
  8.     key="ch1";
  9.     label="检查1:";
  10.     list="\n张三\n李四\n陈胜\n吴广\n";
  11.     value="0";
  12.     width=25;
  13.     fixed_width=true;
  14.    }
  15.    :popup_list{
  16.     key="ch2";
  17.     label="检查2:";
  18.     list="\n张三\n李四\n陈胜\n吴广\n";
  19.     value="1";
  20.     width=25;
  21.     fixed_width=true;
  22.    }
  23.    :popup_list{
  24.     key="ch3";
  25.     label="检查3:";
  26.     list="\n张三\n李四\n陈胜\n吴广\n";
  27.     value="2";
  28.     width=25;
  29.     fixed_width=true;
  30.    }
  31.   }
  32.   :boxed_column{
  33.    label="选择";
  34.    :toggle{key="key_toggle1";label="检查1";value=1;}
  35.    :toggle{key="key_toggle2";label="检查2";value=0;}
  36.    :toggle{key="key_toggle3";label="检查3";value=0;}
  37.   }
  38. }
  39. :edit_box{key="dat";label="审核日期:";width=25;fixed_width=true;}
  40. ok_cancel;
  41. }

点评

很谢谢Z版一直耐心指导!我再请教个问题是我再最原始的DCL文件中加了一个A按钮,想实现的功能是一按A就批量的签名,请Z版指导指导! PS:就在最原始的加了这句 :button{ key="button"; label  详情 回复 发表于 2015-1-6 20:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-6 20:37:49 | 显示全部楼层

{:soso_e100:}很谢谢Z版一直耐心指导!我再请教个问题是我再最原始的DCL文件中加了一个A按钮,想实现的功能是一按A就批量的签名,请Z版指导指导!



PS:就在最原始的加了这句
:button{
key="button";
label = "A";}

点评

mypopup_list:dialog{ label="签名助手"; spacer; :row{ :boxed_column{ label="图纸检查"; :popup_list{ key="ch1"; label="检查1:"; list="\n张三\n李四\n陈胜\n吴广\n"; va  详情 回复 发表于 2015-1-7 22:19
加哪了?怎么批量签?  发表于 2015-1-7 07:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-7 22:19:57 | 显示全部楼层
本帖最后由 yularna 于 2015-1-12 13:33 编辑
L12196 发表于 2015-1-6 20:37
很谢谢Z版一直耐心指导!我再请教个问题是我再最原始的DCL文件中加了一个A按钮,想实现的功 ...

  1. mypopup_list:dialog{
  2. label="签名助手";
  3. spacer;
  4. :row{
  5.   :boxed_column{
  6.    label="图纸检查";
  7.    :popup_list{
  8.     key="ch1";
  9.     label="检查1:";
  10.     list="\n张三\n李四\n陈胜\n吴广\n";
  11.     value="0";
  12.     width=25;
  13.     fixed_width=true;
  14.    }
  15.    :popup_list{
  16.     key="ch2";
  17.     label="检查2:";
  18.     list="\n张三\n李四\n陈胜\n吴广\n";
  19.     value="1";
  20.     width=25;
  21.     fixed_width=true;
  22.    }
  23.    :popup_list{
  24.     key="ch3";
  25.     label="检查3:";
  26.     list="\n张三\n李四\n陈胜\n吴广\n";
  27.     value="2";
  28.     width=25;
  29.     fixed_width=true;}
  30.   }

  31. }
  32. :edit_box{key="dat";label="审核日期:";width=25;fixed_width=true;}
  33. :button{
  34. key="button";
  35. label = "A";}
  36. ok_cancel;
  37. }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-7 22:24:58 | 显示全部楼层
本帖最后由 L12196 于 2015-1-9 21:03 编辑

文字的插入点为一个固定的坐标(例如100,200),在选好检查人后点A按钮,CAD自动对所打开的图纸都插入所选的内容!!请大虾指导!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9815个

财富等级: 富甲天下

发表于 2015-1-10 08:33:04 | 显示全部楼层
本帖最后由 zxq0220 于 2015-2-5 10:36 编辑

  1. ;签名 晓东 zxq0220 2015.1.1 2015.1.10 2015.1.31 2015.2.3 2015.2.5
  2. (defun c:de ()
  3. (setq txtlst '("张三" "李四" "陈胜" "吴广"))
  4. (setq dat (rtos(fix(getvar "CDATE")) 2 0))
  5. (setq dat (strcat (substr dat 1 4) "," (substr dat 5 2) "," (substr dat 7)))
  6. (if (> (setq dcl_id (load_dialog "mypopup_list")) 0) (progn
  7.   (if (new_dialog "mypopup_list" dcl_id) (progn
  8.    (set_tile "dat" dat)
  9.    (mode_tile "ch1" (if(= (get_tile "key_toggle1") "1") 0 1))
  10.    (mode_tile "ch2" (if(= (get_tile "key_toggle2") "1") 0 1))
  11.    (mode_tile "ch3" (if(= (get_tile "key_toggle3") "1") 0 1))
  12.    (action_tile "key_toggle1" "(mode_tile "ch1" (if (= $$$$value "1") 0 1))")
  13.    (action_tile "key_toggle2" "(mode_tile "ch2" (if (= $$$$value "1") 0 1))")
  14.    (action_tile "key_toggle3" "(mode_tile "ch3" (if (= $$$$value "1") 0 1))")
  15.    (action_tile "cancel" "(done_dialog 0)")
  16.    (action_tile "accept" "(readata) (done_dialog 1)")
  17.    (action_tile "button" "(readata) (done_dialog 1)")
  18.    (setq re (start_dialog))
  19.   ) (princ "\n无法显示对话框!"))
  20.   (unload_dialog dcl_id)
  21. ) (princ "\n无法加载对话框!"))
  22. (if (= re 1) (progn
  23. (if (not(tblsearch "STYLE" "qm"))
  24.   (command "_.STYLE" "qm" "STFANGSO.TTF" 0 1 "" "" "")
  25. )
  26. (initget 1)
  27. ; (setq pt (getpoint "\n文字插入点: "))
  28. ; (setq pt (list 100 200))
  29. (if (setq ss (ssget "X" '((0 . "*TEXT") (1 . "*设计*"))))
  30.   (repeat (setq i (sslength ss))
  31.    (setq pt (cdr(assoc 10 (entget(ssname ss (setq i (1- i)))))))
  32.    (if ch1 (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(550 517.5)) 300 0 ch1))
  33.    (if ch2 (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(2167 517.5)) 300 0 ch2))
  34.    (if ch3 (command "_.TEXT" "s" "qm" "M" (mapcar '+ pt '(3784 517.5)) 300 0 ch3))
  35.    (if (or ch1 ch2 ch3) (command "_.TEXT" "" dat))
  36.   )
  37.   (alert "未找到字串“设计”。")
  38. )
  39. ))
  40. (princ)
  41. )
  42. (defun readata ()
  43. (setq ch1 (if(=(get_tile "key_toggle1") "1") (nth(atoi(get_tile "ch1")) txtlst) nil))
  44. (setq ch2 (if(=(get_tile "key_toggle2") "1") (nth(atoi(get_tile "ch2")) txtlst) nil))
  45. (setq ch3 (if(=(get_tile "key_toggle3") "1") (nth(atoi(get_tile "ch3")) txtlst) nil))
  46. (setq dat (get_tile "dat"))
  47. )

点评

Z版,请教你一下,要让程序自动寻找DWG图纸内的某个文字(例如设计)并读该文字的坐标作为PT(插入点),这样的话该怎样去修改程序,求指导!  详情 回复 发表于 2015-1-30 21:28
Z版晚上好!我看你的回复实现不了批量的功能哦,想实现的功能是,我CAD打开多张图纸后,用这个插件按A按钮后就对多张图纸插入所选的内容,这样就不用一张张去签名!  详情 回复 发表于 2015-1-10 21:55
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-10 21:55:23 | 显示全部楼层
本帖最后由 L12196 于 2015-1-10 22:27 编辑

Z版晚上好!我看你的回复实现不了批量的功能哦,想实现的功能是,在CAD打开多张图纸后,用这个插件按A按钮后就对多张图纸在同一坐标点插入所选的内容,这样就不用一张张去签名!并且签好名名后自动保存并关闭图纸!{:soso_e100:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2015-1-10 22:38:11 | 显示全部楼层
本帖最后由 lichunlin 于 2015-1-10 22:41 编辑

必须支持一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-13 22:54:48 | 显示全部楼层
本帖最后由 L12196 于 2015-1-13 23:00 编辑

在CAD打开多张图纸后,对多张图纸的实行相同的命令,这样就不用一张张去处理!并且处理后自动保存并关闭图纸!如何编写该段LISP驱动,求指导!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-30 21:28:53 | 显示全部楼层

Z版,请教你一下,要让程序自动寻找DWG图纸内的某个文字(例如设计)并读该文字的坐标作为PT(插入点),这样的话该怎样去修改程序,求指导!

点评

Z版,我用了你修改的驱动,结果不行,由于是要让程序自动找设计的字并读取坐标作为插入点的,但是我看到你修改的有; (setq pt (list 100 200))这句程序,这样是否矛盾了?输入DE命令后连对话框都没有弹出来,我删了  详情 回复 发表于 2015-2-2 21:32
25楼已改  发表于 2015-1-31 07:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-2-2 21:32:11 | 显示全部楼层
本帖最后由 L12196 于 2015-2-2 21:54 编辑
L12196 发表于 2015-1-30 21:28
Z版,请教你一下,要让程序自动寻找DWG图纸内的某个文字(例如设计)并读该文字的坐标作为PT(插入点), ...

Z版,我用了你修改的驱动,结果不行,由于是要让程序自动找"设计"这个字词并读取其坐标作为插入点的,但是我看到你修改的有; (setq pt (list 100 200))这句程序,这样是否矛盾了?输入DE命令后连对话框都没有弹出来,我删了这句,程序还是运行不了,
还有那个之前你写的切换开关运行后调出来的对话框中的控件都被锁定了!不能选择名字,还有不能进行有效的切换,麻烦Z版帮忙看看这两个问题!


点评

25楼改了。 不知道是怎么回事,论坛转码将单个的$变成4个了。请下载后自行改成一个。  详情 回复 发表于 2015-2-3 08:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-28 11:19 , Processed in 0.222590 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表