Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
zizpo_hetxang

tính độ dốc bàng cách pích 2 điểm

Các bài được khuyến nghị

Nhờ các bác viết hộ giùm cái lip pích vào điểm đầu và điểm cuối thì cho ra được độ đôc(chênh cao / chiều dài). xin chân thành cảm ơn

Không biết lisp sau có đúng yêu cầu của anh không nữa :s_big:.

 

 

(defun c:dodoc

(setq P1 (getpoint "\n Specify start point :")

P2 (getpoint "\n Specify end point :")

)

(setq

X1 (car P1)

Y1 (cadr P1)

Z1 (cadr (cdr P1))

X2 (car P2)

Y2 (cadr P2)

Z2 (cadr (cdr P2))

dis (distance P1 P2 )

tag (/ (- Y1 Y2) dis)

)

(princ "\n Do doc cua doan thang :")

(princ tag)

(princ)

)

 

Em không biết làm cách nào để add được file lisp lên đây dưới dạng như mấy anh pro vẫn làm :cheers:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Không biết lisp sau có đúng yêu cầu của anh không nữa :s_big:.

(defun c:dodoc

(setq P1 (getpoint "\n Specify start point :")

P2 (getpoint "\n Specify end point :")

)

(setq

X1 (car P1)

Y1 (cadr P1)

Z1 (cadr (cdr P1))

X2 (car P2)

Y2 (cadr P2)

Z2 (cadr (cdr P2))

dis (distance P1 P2 )

tag (/ (- Y1 Y2) dis)

)

(princ "\n Do doc cua doan thang :")

(princ tag)

(princ)

)

 

Em không biết làm cách nào để add được file lisp lên đây dưới dạng như mấy anh pro vẫn làm :cheers:

-Cái dòng lấy giá trị z của điểm không cần thiết thì phải?

Bạn dùng cú pháp Z1 (cadr (cdr P1))

Theo mình dùng Z1 (caddr P1) thì gọn hơn.

-Chiều dài chiếu bằng chia chiều dài chiếu đứng chứ không phải chiều dài giữa 2 điểm.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bác nào sửa giùm cái lip này với minh xài không được. sửa lại giúp em với

Lâu rồi không có internet lên mạng, thấy có thể giúp bạn lsp ngắn này nhưng không biết bạn dùng cho loại mặt cắt nào.

Nếu là mặt bằng thì bạn tham khảo bài này mình giúp 1 bạn, còn mặt cắt dọc hoặc ngang thì để dần dần mình viết.

http://www.cadviet.com/forum/index.php?showtopic=19891

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Còn đây là phần mình viết xong, chúc bạn sức khoẻ!

(defun c:ddc (/ PT1 PT2 X1 Y1 X2 Y2 L1 H1 i)
(setvar "cmdecho" 0)
(setq PT1 (getpoint "\n Vi tri diem dau: "))
(setq PT2 (getpoint "\n Vi tri diem cuoi: "))
(setq X1 (car PT1) Y1 (cadr PT1))
(setq X2 (car PT2) Y2 (cadr PT2))
(setq L1 (abs (- X1 X2)))
(setq H1 (abs (- Y1 Y2)))
(setq i (rtos (* (/ H1 L1) 100) 2 2 ))
(alert (strcat "\n i=" i "%"))
(princ)
)

  • Vote tăng 3

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Còn đây là phần mình viết xong, chúc bạn sức khoẻ!

(defun c:ddc (/ PT1 PT2 X1 Y1 X2 Y2 L1 H1 i)
(setvar "cmdecho" 0)
(setq PT1 (getpoint "\n Vi tri diem dau: "))
(setq PT2 (getpoint "\n Vi tri diem cuoi: "))
(setq X1 (car PT1) Y1 (cadr PT1))
(setq X2 (car PT2) Y2 (cadr PT2))
(setq L1 (abs (- X1 X2)))
(setq H1 (abs (- Y1 Y2)))
(setq i (rtos (* (/ H1 L1) 100) 2 2 ))
(alert (strcat "\n i=" i "%"))
(princ)
)

 

Chào bạn

Mình có ý kiến thêm về lisp của bạn, nếu nhỏ hơn 1% (vd : 0.01 %) thi lisp của bạn không thể hiện được (theo mình bạn bổ sung thêm phần hỏi bao nhiêu số sau dấu phẩy), nếu thể hiện được thì lisp bạn hoàn thiện hơn. Cám ơn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào bạn

Mình có ý kiến thêm về lisp của bạn, nếu nhỏ hơn 1% (vd : 0.01 %) thi lisp của bạn không thể hiện được (theo mình bạn bổ sung thêm phần hỏi bao nhiêu số sau dấu phẩy), nếu thể hiện được thì lisp bạn hoàn thiện hơn. Cám ơn.

Cảm ơn ý kiến của bạn, từ khi mình làm đến giờ chưa bao giờ thiết kế độ dốc i<0.01% bao giờ, đến cống tiêu nước độ dốc cũng là i=0,0005 tức là i=0,05%. Còn nếu bạn muốn thêm phần đấy vào thì bạn thêm dòng

(setq thapphan (getint "\n Nhap so thap phan: "))

và thay dòng (setq i (rtos (* (/ H1 L1) 100) 2 2 )) bằng dòng (setq i (rtos (* (/ H1 L1) 100) 2 thapphan ))

  • Like 1
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×