- UID
- 17304
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-11-27
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
哪位大大能告诉我如何把梁高改成400(默认的是350)
经自己一改把板给改成150了 哈 尴尬了真是
现请高手指点迷津
谢谢了!
;****************************************************画双跑楼梯剖面
;=======本程序可任意拷贝使用,但必须保留以下说明,并不得修改说明和程序.=======
;本程序用来画双跑楼梯剖面,装载后键入tt即可.
;创建于1999.6.26
;1999.6.28 增加功能:1.在输入参数时,可修改踏步数和踏步高.
; 2.若是奇数级踏步,会提问第一跑是几步.
;1999.7.2 有较大改动:1.征求了方小军意见后,修改原程序的楼梯梁位置的不正确.
; 2.使剖到梯段,看到梯段,扶手分别画在wall,win,line图层上.
;2000.6.6 增加:1.一层楼的出错提示.
; 修改:1.原来顶层楼板的错误长度。
(setvar "cmdecho" 0)
(gc)
(defun c:tt(/ p1 elev elevn k x stn stn1 stn2 stw sth pd1 os i
d0 d1 d2 d3 d4 d5 d6 d7 d8 p2 p3 pd2 fd1 fd2 fd3 fd4
a1 a2 a3 a4 a5 a6 a7 )
(prompt "---双跑楼梯剖面---by Lu Yongle")
(setq elev (getdist "\n楼层高<2800>:"))
(if (null elev) (setq elev 2800.0))
(setq elevn (getint "\n楼层数<6>:"))
(if (= elevn 1) (progn
(alert "一层楼也用楼梯吗?傻瓜!必需二层以上:)")
(setq elevn (getint "\n楼层数<6>:"))
)
)
(if (null elevn) (setq elevn 6))
(setq k nil)
(while (null k)
(setq stn (getint "\n每层踏步数<18>:"))
(if (null stn) (setq stn 18))
(setq stw (getdist "\n踏步宽<280>:"))
(if (null stw)(setq stw 280))
(setq sth (/ elev stn))
(prompt "踏步尺寸为:") (prin1 stw) (prompt "宽 x ")(prin1 sth)(prompt "高,")
(initget 1 "Yes No")
(setq x (getkword "可以吗?(Yes or No)"))
(if (/= x "Yes")
(progn (setq k nill ) (setq stn nill)(setq stw nill))
(setq k 1)
)
);end while k
(if (= (rem stn 2) 1)
(progn (setq stn1 (getint "\n第一跑数:"))
(setq stn2 (- stn stn1))
)
(progn (setq stn1 (/ stn 2))
(setq stn2 (/ stn 2))
)
)
(graphscr)
(setq p1 (getpoint "\n起始点:"))
(setq d0 p1)
(setq pd1 (polar p1 (* pi 1.5) 100))
;设置绘图环境
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(command "layer" "m" "line" "C" 2 "line" "")
(command "layer" "m" "win" "C" 4 "win" "")
(command "layer" "m" "wall" "C" 7 "wall" "")
(repeat (- elevn 1);楼层数
;-----下面为画楼板准备点
(setq d1 (polar p1 pi 1320))
(setq d2 (polar d1 (* pi 1.5 ) 350 ))
(setq d3 (polar d2 0 240))
(setq d4 (polar d3 (/ pi 2) 250))
(setq d5 (polar d4 0 840))
(setq d6 (polar d5 (* pi 1.5) 250))
(setq d7 (polar d6 0 240))
(setq d8 (polar d0 (* pi 1.5) 100))
(setq i 1)
(repeat stn1
;(/ stn 2);开始画第一跑踏步
(setq p2 (polar p1 (/ pi 2) sth))
(setq p3 (polar p2 0 stw))
(entmake (list (cons 0 "line")(cons 8 "wall")(cons 10 p1)(cons 11 p2)))
(if (< i stn1)
(entmake (list (cons 0 "line")(cons 8 "wall")(cons 10 p2)(cons 11 p3)))
)
(setq i (+ i 1))
(setq pd2 (polar p1 (* pi 1.5) 100))
(setq p1 p3)
);end repeat stn
;下面画扶手
(setq fd1 (polar d0 pi (/ stw 2)))
(setq fd2 (polar fd1 (/ pi 2) 900))
(setq fd3 (polar p2 0 (/ stw 2)))
(setq fd4 (polar fd3 (/ pi 2) 900))
(entmake (list (cons 0 "line") (cons 8 "win")(cons 10 fd1)(cons 11 fd2)))
(entmake (list (cons 0 "line") (cons 8 "win")(cons 10 fd2)(cons 11 fd4)))
(entmake (list (cons 0 "line") (cons 8 "win")(cons 10 fd4)(cons 11 fd3)))
;-----下面为画平台板准备点
(setq a7 (polar pd2 (* pi 1.5 )(- 350 sth 100)))
(setq a6 (polar a7 0 240)) ;梁宽240
(setq a5 (polar a6 (/ pi 2) 250))
(setq a4 (polar a5 0 1080))
(setq a3 (polar a4 (* pi 1.5) 250));楼板为350-250=100厚
(setq a2 (polar a3 0 240))
(setq a1 (polar a2 (/ pi 2) 350)) ;梁高350
(command "layer" "s" "wall" "")
(command "pline" d0 "w" 0 "" d1 d2 d3 d4 d5 d6 d7 d8 pd2 a7 a6 a5 a4 a3 a2 a1 p2 "")
(setq pd1 (polar p2 (* pi 1.5) 100))
(setq p1 p2)
(repeat stn2
;(/ stn 2);开始画第二跑踏步
(setq p2 (polar p1 (/ pi 2) sth))
(setq p3 (polar p2 pi stw))
(if (< i stn)
(progn
(entmake (list (cons 0 "line")(cons 8 "line")(cons 10 p1)(cons 11 p2)))
(entmake (list (cons 0 "line")(cons 8 "line")(cons 10 p2)(cons 11 p3)))
)
)
(setq i (+ i 1))
(setq pd2 p1)
(setq p1 p3)
(setq d0 p2)
);end repeat stn
(setq pd2 (polar pd2 (* pi 1.5) 100))
(entmake (list (cons 0 "line")(cons 8 "line") (cons 10 pd1) (cons 11 pd2)));踏板底线
(setq fd2 fd4)
(setq fd3 (polar p2 pi (/ stw 2)))
(setq fd4 (polar fd3 (/ pi 2) 900))
(entmake (list (cons 0 "line")(cons 8 "win")(cons 10 fd2)(cons 11 fd4)));第二跑扶手
(setq pd1 (polar p1 (* pi 1.5) 100))
(setq p1 p2)
);end repeat elevn
(entmake (list (cons 0 "line")(cons 8 "win")(cons 10 fd3)(cons 11 fd4)));顶层扶手
;----下面画顶层楼板
(setq d1 (polar p2 pi 1320 ))
(setq d2 (polar d1 (* pi 1.5) 350))
(setq d3 (polar d2 0 240))
(setq d4 (polar d3 (/ pi 2) 250))
(setq d5 (polar d4 0 840))
(setq d6 (polar d5 (* pi 1.5) 250))
(setq d7 (polar d6 0 240))
(command "pline" p2 "w" 0 "" d1 d2 d3 d4 d5 d6 d7 "c")
(setvar "osmode" os)
(princ)
);end defun |
|