📄 用做的lsp分形程序.txt
字号:
用做的lsp分形程序
(DEFUN C:fx()
(SETQ grow 0.618)(SETQ angle 40)(SETQ fat 10) ;grow 生长率 angel 生长角度 fat 生长宽度
(setvar "CMDECHO" 0) ;改变上三个值会得到不同的图形
(command "color" "bylayer")
(SETQ ss (SSGET))
(SETQ NO (SSLENGTH SS))
(SETQ grow (+ 1 grow))
(SETQ I 0)
(WHILE (< I NO)
;--------------------------------------------------------------
(PROGN
(setq entname (ssname ss i))
(SETQ entlist (ENTGET entname))
(SETQ ptB (cdr (assoc 11 entlist)))
(SETQ ptA (cdr (assoc 10 entlist)))
(if (= "LINE" (cdr (assoc 0 entlist)))
(PROGN
(setq bx (car ptb) by (cadr ptb))
(setq ax (car pta) ay (cadr pta))
(setq cx (+ ax (* grow (- bx ax))))
(setq cy (+ ay (* grow (- by ay))))
(setq ptC (list cx cy ))
(setq la (rtos (+ 1 (rem i 255))))(setq co (rtos (+ 1 (rem i 255))))
(command "layer" "m" la "c" co la "")
;--------------
(setq width (/ (sqrt (+ (expt (- cy by) 2) (expt (- cx bx) 2))) fat))
(command "line" ptb ptc "" )
(command "copy" "l" "" "0,0" "0,0" "")
(command "ROTATE" "p" "" ptb angle)
(command "mirror" "p" "" pta ptb "n" "")
(command "fill" "off")
(command "pedit" entname "y" "w" width "x")
;---------------
)
)
;--------------------------------------------------------------
(SETQ I (+ 1 I))
)
)
)
;===================================
程序中有三个参数,改变数
值就可以改变生长的节奏
具体操作如下:
1。用文本编辑建立一个上面的
fx.lsp的文件
2。在autocad中键入"appload"
会出现一个对话框,选择"file"
找到"fx.lsp",选择"打开"然
后"load".程序就加载了。
3。在autocad中随便画一条线
然后键入"fx".选择线段后回车
线段就会生长一次。回车再选
择所有线段,就会再生长一次
,重复操做。...
若想改变生长规律操作如下:
1。双击fx.lsp用纪事本打开。
2。改变下面三个值就行了。
(SETQ grow 0.618)(SETQ angle 40)(SETQ fat 10)
===== == ==
grow 生长率 angel 生长角度 fat 生长宽度
3。存盘。
4。从新加载
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -