LosGirk 发表于 2022-7-5 23:50:54

与DD4X3一起使用的Autolisp代码

你好
2012年3月14日,一位名叫Big Al的成员发布了一个名为DD4X3的程序的dcl代码。有人有与dcl文件一起使用的lisp代码吗?这是一个很好的对话框,有图像空间,但我不知道如何让图像显示出来。提前谢谢。

ReMark 发表于 2022-7-6 00:10:43

这会不会恰好是你所指的帖子#28中显示的内容?

BIGAL 发表于 2022-7-6 00:18:07

这是你刚才应该问我的Lisp程序的问题。
 
 
 
 

used to set up dimension variables
;;;               Uses dd4x3.dcl for the dialogue definition.The
;;;               slide images are in list ai_pts_lst.
(setvar "CMDECHO" 0)
(setq ai_pts_lst '("CTONE(DSE1ON)" "CTONE(DSE1OF)" "CTONE(DSE2ON)" "CTONE(DSE2OF)"
                  "CTONE(DTADON)" "CTONE(DTADOF)" "CTONE(DIMTOLP)" "CTONE(DIMTOLM)"
                  "CTONE(DTOLON)" "CTONE(DTOLOF)" "CTONE(DTIHON)" "CTONE(DTIHOF)")
)
(setq ai_pts_lst2 '("43sq1" "43sq2" "43sq3" "43sq4" "43sq5" "43sq6""43sq7" "43sq8" "43sq9" "43sq10" "43sq11" "43sq12"))

(defun subdlg ()
(setq dcl_id (load_dialog"ddval"))
(if (not (new_dialog "ddval" dcl_id))
(exit))
(action_tile "sizze" "(setq dimval (atof $value))(done_dialog)")
(mode_tile "sizze" 3)
(start_dialog)
)
(defun alan2 ()
   (setq ans $key)
   (cond
   ((= ans "43sq1")(setvar "dimse1" 1)(princ "On"))
   ((= ans "43sq2")(setvar "dimse1" 0)(princ "Off"))
   ((= ans "43sq3")(setvar "dimse2" 1)(princ "On"))
   ((= ans "43sq4")(setvar "dimse2" 0)(princ "Off"))
   ((= ans "43sq5")(setvar "dimtad" 1)(princ "On"))
   ((= ans "43sq6")(setvar "dimtad" 0)(princ "Off"))
   ((= ans "43sq7")
;call popup dialog
   (subdlg)
;(princ dimval)
   (setvar "dimtp" dimval)
   )
   ((= ans "43sq8")
   (subdlg)
   (setvar "dimtm" dimval)
   )
   ((= ans "43sq9")(setvar "dimtol" 1)(princ "On"))
   ((= ans "43sq10")(setvar "dimtol" 0)(princ "Off"))
   ((= ans "43sq11")(setvar "dimtih" 1)(princ "On"))
   ((= ans "43sq12")(setvar "dimtih" 0)(princ "Off"))
)
)                                                   
; calculates next slide
(defun alan4 ()
(setq x (+ x 1))
(setq sldname (nth x ai_pts_lst))
)
; third step
; set up slide libraray
(defun ai_ptype_start ()
(setq x -1)
(foreach pts0 ai_pts_lst2
   (alan4)
   (start_image pts0)
   (slide_image 0 0 (- (dimx_tile pts0) 1) (- (dimy_tile pts0) 1) sldname)
   (end_image)
)
)
; this is second step
(defun ai_ptype_main (/ globals)
(ai_ptype_start)
;now check each sq if picked then run alan2
(foreach pd0 ai_pts_lst2
   (action_tilepd0"(alan2)")
)
(start_dialog)
)
; this is first step
(setq app "dd4x3.dcl")

(setq dcl_id (load_dialog app))
(if (not (new_dialog "dd4x3" dcl_id))
(exit))

(ai_ptype_main)
(setq *error* old_error old_error nil)
(done_dialog)
(princ)


ReMark 发表于 2022-7-6 00:29:25

比格尔:OP可能不知道怎么问你,因为他刚刚成为论坛的一员。

LosGirk 发表于 2022-7-6 00:48:33

谢谢你,大艾尔-
我是新手,当我搜索你的名字时,什么都没有出现。。。我正在更好地学习我在网站周围的方式,谢谢你对我的耐心,谢谢你的代码!

BIGAL 发表于 2022-7-6 01:00:07

不用担心,这些例程是用2x3 3x3等完成的,因此它们可以用于任何代码。
页: [1]
查看完整版本: 与DD4X3一起使用的Autolisp代码