📄 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 + -