[灌水]来个难度大点的模拟直升飞机起飞
没有优化,根据 dispbbs.asp?BoardID=2&ID=24802 改编。模拟直升飞机起飞。
;;;C:qf2 起飞
;;;ESC 停止
(defun c:qf2 ( / ss e0 e1 e2 sj a i ii iii s0 s1 s2 k)
(vl-cmdf ".undo" "be")
(setq ss (ssadd))
(setq e0 (ssname(ssget "X"(list(cons 0 "insert")(cons 2 "lxj")))0))
(setq e1 (ssname(ssget "X"(list(cons 0 "insert")(cons 2 "lxj-wy")))0))
(setq e2 (ssname(ssget "X"(list(cons 0 "insert")(cons 2 "js")))0))
(mapcar '(lambda(x)(ssadd x ss))(list e0 e1 e2))
(SETQ sj 0 a 0 i 0 )
(while T
(setq s0(entget e0)
s1(entget e1)
s2(entget e2))
(setq i (+ i 5)
SJ (if k 0 (+ sj (/ i PI 50)))
del (if (>= i 300) 0 (- 300 i)))
(if (= ii 1000)
(if (not iii)
(setq iii 2)
(setq iii (* iii 1.1))
)
)
(mapcar
'(lambda (x)
(setq e10 (cdr (assoc 10 x)))
(cond
((
怎么用啊?是不是LSP程序啊?存为什么格式的程序? 哗!! !!!
爽耶..... 够狠的啦,
下面附件为改进版本,和上面提供的程序对比,主要处理了加速提升和加速前进的平滑过渡问题。
;| qf2 = 模拟直升飞机起飞过程 -------------------------梁雄啸.2004.5
1.先是螺旋桨逐渐加速旋转
2.螺旋桨加速到一定速度,飞机逐渐加速提升。
3.提升到一定高度,飞机减速提升,并开始加速前进。
4.提升到一定高度,飞机不再提升,继续加速前进。(本程序前进距离10000,可改大)
方法:
先打开 qf3.dwg(下面附件的dwg只是改了停机坪的颜色,让飞机更醒目,其他没变).不用转动视角。再加载 qf2.lsp 或qf2.fas.输入以下命令:
C:qf2 ;起飞
ESC ;停止
c:reqf ;恢复.
|;
确实爽,做到这个程度着实不简单,向你们学习 对编程我是白痴一个,但也很想学一下。以前学过半年TC,不过学到指针后就没再坚持下去。
请问“人挡杀人、佛挡杀佛”学CAD二次编程难不难?
不要对我说“难者不会,会者不难”啊,说点切实的。先谢了。 不简单呀,我是主要搞二维的,大家都说cad是二维软件吗!!所以对cad的三维功能不屑一顾,不过看来还是挺有意思的,以后研究研究 无痕兄太强了吧你也
页:
[1]