action_tile参数问题请教
在下面的代码里面(action_tile "新建三角电杆引上管" "(setq ddtype 1) (ok_gan)")这行里面最后的(ok_gan)这个是什么意思,有什么用处,我查看了action_tile的参数没有发现具体什么意思。(setq dir_lisp "d:\\autolisp\\")这一句如何改为相对位置。也就是说我可以把autolisp这个文件夹拷贝到任何位置,程序都可以正常使用。
下面的程序里面如何调用幻灯片库里面的幻灯片,我现在是把幻灯片做成单个的,放到一个文件夹里面,我想把幻灯片放到一个库里面,可以就不知道如何调用了。
在画图的时候,下面的程序显示不出来图块,如何能改为显示出来图块的那种。
下面是源文件:
(defun c:3()
(setq cmdmode (getvar "cmdecho"))
(setvar "cmdecho" 0)
;(if (= dir_lisp nil)
;(command "insert" "d:\\autolisp\\lispblock" '(quit)))
(setq dir_lisp "d:\\autolisp\\")
(dcl_gan)
(prin1)
)
(defun dcl_gan()
(setq dcl_id (load_dialog (strcat dir_lisp "dcl\\gan")))
(new_dialog "gan" dcl_id)
(def_gan)
(action_tile "新建三角电杆引上管" "(setq ddtype 1) (ok_gan)")
(action_tile "原有三角电杆引上管" "(setq ddtype 2) (ok_gan)")
(action_tile "新建圆形电杆引上管" "(setq ddtype 3) (ok_gan)")
(action_tile "原有圆形电杆引上管" "(setq ddtype 4) (ok_gan)")
(action_tile "新设预留" "(setq ddtype 5) (ok_gan)")
(action_tile "accept" "(ok_gan)")
(setq dd (start_dialog))
(if (= dd 1) (draw_gan))
)
(defun def_gan()
(if (= bl_gan nil)
(set_tile "bili" "1")
(set_tile "bili" (rtos bl_gan)))
(setq sldkey_list '("新建三角电杆引上管" "原有三角电杆引上管" "新建圆形电杆引上管" "原有圆形电杆引上管" "新设预留"))
(setq sld_list '("新建三角电杆引上管" "原有三角电杆引上管" "新建圆形电杆引上管" "原有圆形电杆引上管" "新设预留"))
(mapcar 'show_sld sldkey_list sld_list)
(setq ddtype 1)
(mode_tile "xjsjys" 1)
)
(defun show_sld(key sld)
(setq x (dimx_tile key))
(setq y (dimy_tile key))
(start_image key)
(fill_image 0 0 x y -2)
(slide_image 0 0 x y (strcat dir_lisp "sld\\" sld))
(end_image)
)
(defun ok_gan()
(setq bl_gan (atof (get_tile "bili")))
(done_dialog 1)
)
(defun draw_gan()
(setvar "cmdecho" 0)
(command "layer" "s" "0" "")
(setq pt0 (getpoint "\n 请输入插入点:"))
(setq pt0 (list (car pt0) ( cadr pt0)))
(setq r0 (/ (* (getangle pt0 "\n 请输入旋转角度值:") 180) pi))
(cond ((= ddtype 1) (command "insert" "新建三角电杆引上管" "x" bl_gan "y" bl_gan "r" r0 pt0))
((= ddtype 2) (command "insert" "原有三角电杆引上管" "x" bl_gan "y" bl_gan "r" r0 pt0))
((= ddtype 3) (command "insert" "新建圆形电杆引上管" "x" bl_gan "y" bl_gan "r" r0 pt0))
((= ddtype 4) (command "insert" "原有圆形电杆引上管" "x" bl_gan "y" bl_gan "r" r0 pt0))
((= ddtype 5) (command "insert" "新设预留" "x" bl_gan "y" bl_gan "r" r0 pt0))
)
(draw_gan)
(setvar "CMDECHO" cmdmode)
(prin1)
)
本帖最后由 lxdz443 于 2014-3-8 16:21 编辑
我把 ((= ddtype 1) (command "insert" "新建三角电杆引上管" "x" bl_gan "y" bl_gan "r" r0 pt0))修改为
((= ddtype 1) (command "insert" "新建三角电杆引上管" "x" bl_gan "y" bl_gan "s" "1" )) 后画图的时候倒是能显示出来了,可是比例又不管用了。郁闷
我想把这几个引上管放到ganxin这个选择集里面,改如何操作,(这里的选择集不是lsp里面的选择集,是我自己定义的一个就是把相关类型的放到一个定义集里面,在别的程序里面就好定义判断,比如电杆分为水泥杆,木杆,铁杆等都划分到ganxin这个选择集里面)。具体改如何定义。
页:
[1]