?? juliadclok5.lsp
字號:
;;;==========================
;;;用CAD畫Julia或Mandelbrot的
;;;主程序,采用逃逸算法
;;;highflybird 2007/03/05.KM.
;;;==========================
(prompt "\n請輸入命令JL")
(defun C:JL (/ *APP colboj listL2 allkey alllst c0 c1 col0 col1 icol ID ok option j
R1 R2 R3 S1 L2 X0 X1 X2 Y0 Y1 Y2 J1 J2 J3 G1 C2 t0 IX1 IY1 IX2 IY2 del
TX1 TY1 TX2 TY2 xx1 yy1 xx2 yy2 lxx lyy Dx1 Dy1 Dx2 Dy2 M1 M2 M3 M4)
(vl-load-com)
(setq *APP (vlax-get-acad-object))
(setq colObj (vla-getinterfaceobject *APP "AutoCAD.AcCmColor.16"))
(setq allkey (list "C2""R1""R3""S1""L1""L2""X0""X1""X2""Y0""Y1""Y2""J1""J2""J3""G1""M1""M2""M3""M4"))
(setq alllst (mapcar 'read allkey))
(setq c0 (rnd 0 (* 256 256 256)) ;顏色隨機
col0 (Number->RGB C0) ;轉化為RGB
col1 (mapcar 'itoa col0) ;轉化為字符串
icol (rgb->index colObj col0) ;轉化為索引號
)
(setq j 0)
(setq ok 2)
(setq ID (load_dialog "fractal5.dcl")) ;加載對話框
(if (new_dialog "fractal" ID) ;如果成功
(progn
(setq IX1 (dimx_tile "I1")) ;圖像1真實X尺寸
(setq IY1 (dimy_tile "I1")) ;圖像1真實Y尺寸
(setq IX2 (dimx_tile "I2")) ;圖像2真實X尺寸
(setq IY2 (dimy_tile "I2")) ;圖像2真實Y尺寸
(setq listL2 (get_attr "L2" "list")) ;推薦值列表
(setq listL2 (string->list listL2))
(setq R1 "T2") ;默認為JULIA
(setq C2 "")
(default) ;各默認值
(newDCL)
(get_value) ;取得各對話框值
(while (> ok 1)
(setq ok (start_dialog)) ;開始對話框
(cond
( (= ok 2) ;如果按下初始顏色
(pick_color) ;取得顏色
(new_dialog "fractal" ID)
(NewDCL) ;開新對話框
(get_value) ;取得其值
(setq option 2)
)
( (= ok 3) ;如果按下點取按鈕
(getlimits) ;取得上下左右界限
(get_value) ;取得其值
(setq option 3)
)
)
)
(cond
( (= option 0)
(princ "\n你已取消操作!")
)
( (and (= option 1) (check)) ;參數檢查
(setq t0 (getvar "TDUSRTIMER")) ;開始計時
(if (= R1 "T1") ;判斷類型
(Mandelbrot J1 J2 J3 X0 Y0 X1 Y1 X2 Y2 col0 G1 R2 R3 0 S1)
;畫曼氏圖
(Julia J1 J2 J3 X0 Y0 X1 Y1 X2 Y2 col0 G1 R2 R3 0 S1)
;畫朱氏圖
)
(princ "\n畫分形用時")
(princ (* (- (getvar "TDUSRTIMER") t0) 86400)) ;計時結束
(princ "秒\n")
(vla-zoomwindow *APP
(vlax-3d-point (list 0 0))
(vlax-3d-point J2)
)
(vla-zoomscaled *APP 0.9 acZoomScaledRelative) ;放大圖形
)
(t (alert "數據輸入有誤!"))
)
)
(alert "對話框加載錯誤!")
)
(unload_dialog ID) ;卸載對話框
(gc) ;清理內存
(princ) ;靜默退出
)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -