- UID
- 3697
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-4-8
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
;;; ;
;;; PANEL.LSP ;
;;;--------------------------------------------------------------------;
;;; Function: panel ;
;;; ;
;;; Arguments: none ;
;;; ;
;;; Returned Value: none ;
;;; ;
;;; Usage: (panel) ;
;;;--------------------------------------------------------------------;
(defun c:panel (/ pt0 pt1 pt2 pt3 pt4 pt10) ;; local variables pt0,pt1,pt2,pt3 and pt4 are declared
(setq plen (getreal "\nPlease Input Panel Length(450,910,or 802.5 etc.): "))
(setq pt1 (getpoint "\nEnter the start point for the line: "))
(setq pt0 (list (+ (car pt1) plen) (- (cadr pt1) 12.5)))
(princ )
(command "_.layer" "new" "001-panel" "s" "001-panel" "c" "4" "" "")
(command "_.rectang" pt1 pt0)
(command "_.change" "l" "" "p" "la" "001-panel" "")
(command "_.copy" "l" "" pt1 "@0,-52.5,0")
(setq pt2 (list (car pt1) (- (cadr pt1) 52.5)))
(command "_.pline" pt2 "@0,40" "@24,0" "@0,-40" "@-24,0" "@24,40" "")
(command "_.change" "l" "" "p" "la" "001-panel" "")
(if (> plen 450.0)
(progn
(setq pt3 (list (+ (car pt1) (/ plen 2)) (- (cadr pt1) 52.5)))
;; (princ pt3)
(setq pt10 (list (- (car pt3) 12) (cadr pt3)))
;; (princ pt10)
(command "_.pline" pt10 "@0,40" "@24,0" "@0,-40" "@-24,0" "@24,40" "")
(command "_.change" "l" "" "p" "la" "001-panel" "")
)
)
(setq pt4 (list (+ (car pt1) (- plen 24)) (- (cadr pt1) 52.5)))
(command "_.pline" pt4 "@0,40" "@24,0" "@0,-40" "@-24,0" "@24,40" "")
(command "_.change" "l" "" "p" "la" "001-panel" "")
)
---------------------------------------------------------------------------------
上面是代码,运行后发现很不稳定,中间的龙骨位置总是向左偏12,偶尔运行正常,具体出现的情况见附带的文件,请斑竹及各位高手指点! |
|