Cách Tính Diện Tích Mái Taluy, Mái Taluy Là Gì, Cách Tính Độ Dốc Mái Taluy

-Cho 2 số trên màn hình sau khi nhập lệnh thì chọn 2 số đó chương trình sẽ lấy giá trị trung bình của 2 số đó rùi lấy bình phương số trung bình đó rùi chia cho 2 sau đó nhân với khoảng cách được chọn trên màn hình rùi chọn vị trí điền kết quả.

Đang xem: Tính diện tích mái taluy

+ Nếu đánh lệnh trên màn hình sẽ hiện. chọn 2text để lấy gt trung bình,Enter pick khoảng cách để nhân vào, Enter chọn vị trí điền kết quả.

+ Lý do là em tính khối lượng taluy theo công thức tam giác vuông cân. lấy bình phương giá trị trung bình( tương đương với bình phương một cạnh tam giác vuông chia 2 thì ra diện tích, nhân với chiều dài thì ra thể tích.

Cảm ơn mọi người đã quan tâm

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

*

Doan Van Ha 3.020

Doan Van Ha 3.020

biết lệnh adcenterModerator 3.0205.791 bài viếtGiới tính:Male
Đã đăng Tháng 4 3, 2011

Em nhờ các anh viết dùm cho em cái lisp có tính năng cụ thể thế này.

-Cho 2 số trên màn hình sau khi nhập lệnh thì chọn 2 số đó chương trình sẽ lấy giá trị trung bình của 2 số đó rùi lấy bình phương số trung bình đó rùi chia cho 2 sau đó nhân với khoảng cách được chọn trên màn hình rùi chọn vị trí điền kết quả.

+ Nếu đánh lệnh trên màn hình sẽ hiện. chọn 2text để lấy gt trung bình,Enter pick khoảng cách để nhân vào, Enter chọn vị trí điền kết quả.

Xem thêm: Bài Tiểu Luận Về Quy Trình Sản Xuất Sữa Chua Chọn Lọc, Tiểu Luận Quy Trình Sản Xuất Sữa Chua

+ Lý do là em tính khối lượng taluy theo công thức tam giác vuông cân. lấy bình phương giá trị trung bình( tương đương với bình phương một cạnh tam giác vuông chia 2 thì ra diện tích, nhân với chiều dài thì ra thể tích.

Cảm ơn mọi người đã quan tâm

Dùng cái này xem sao:

(defun C:TTL()

(setq so1 (atof (cdr (assoc 1 (entget (car (entsel ”
Chon so thu 1: “)))))))

(setq so2 (atof (cdr (assoc 1 (entget (car (entsel ”
Chon so thu 2: “)))))))

(setq ln (entsel ”
Chon line de lay chieu dai: “))

(setq ddau (cdr (assoc 10 (entget (car ln)))))

(setq dcuoi (cdr (assoc 11 (entget (car ln)))))

(setq kcach (distance ddau dcuoi))

(setq kq (* (/ (expt (+ so1 so2) 2) 8) kcach))

(setq dien (entget (car (entsel ”
Chon text de dien ket qua: “))))

(setq dien (subst (cons 1 (rtos kq 2 2)) (assoc 1 dien) dien))

(entmod dien))

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

friendship293a 10

*

friendship293a 10

biết lệnh eraseThành viên 10102 bài viết
Đã đăng Tháng 4 3, 2011

Bạn làm gần đúng ý mình. ý mình là độ dài là khoảng cách 2 điểm được píck chọn tự do trên màn hình chứ không phải là chọn đoạn thẳng như lisp của bạn( khoảng cách này cũng không phải là khoảng cách giữa số thứ nhất và số thứ 2 của bạn đâu mà là khoảng cách bất kỳ do người chọn píck trực tiếp 2 diem trên màn hình)

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

Doan Van Ha 3.020

Doan Van Ha 3.020

biết lệnh adcenterModerator 3.0205.791 bài viếtGiới tính:Male
Đã đăng Tháng 4 3, 2011

Bạn làm gần đúng ý mình. ý mình là độ dài là khoảng cách 2 điểm được píck chọn tự do trên màn hình chứ không phải là chọn đoạn thẳng như lisp của bạn( khoảng cách này cũng không phải là khoảng cách giữa số thứ nhất và số thứ 2 của bạn đâu mà là khoảng cách bất kỳ do người chọn píck trực tiếp 2 diem trên màn hình)

Thế thì thế này:

(defun C:TTL(/ so1 so2 p1 p2 kc kq dien)

(setq so1 (atof (cdr (assoc 1 (entget (car (entsel ”
Chon so thu 1: “)))))))

(setq so2 (atof (cdr (assoc 1 (entget (car (entsel ”
Chon so thu 2: “)))))))

(setq p1 (getpoint ”
Chon diem thu 1: “))

(setq p2 (getpoint ”
Chon diem thu 2: “))

(setq kc (distance p1 p2))

(setq kq (* (/ (expt (+ so1 so2) 2) 8) kc))

(setq dien (entget (car (entsel ”
Chon text de dien ket qua: “))))

(setq dien (subst (cons 1 (rtos kq 2 2)) (assoc 1 dien) dien))

(entmod dien))

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

ketxu 2.891

*

ketxu 2.891

Copier – Paster – EditorModerator 2.8915.862 bài viếtGiới tính:Male
Đã đăng Tháng 4 3, 2011
friendship : mình không nghĩ bài toán này quá khó với bạn ?? Bạn nói dùng các lisp để ghép vào lisp của bạn ?? Vậy bạn có nên đọc 1 chút về nó để chủ động hơn chăng 🙂

https://lingocard.vn/forum/index.php?showtopic=34612&view=findpost&p=131297

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

friendship293a 10

friendship293a 10

biết lệnh eraseThành viên 10102 bài viết
Đã đăng Tháng 4 3, 2011

bạn Doan Van Ha oi sao lisp của bạn khi dùng cho 2 số âm kết quả ko hiển thị số âm nhỉ?

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

Doan Van Ha 3.020

Doan Van Ha 3.020

biết lệnh adcenterModerator 3.0205.791 bài viếtGiới tính:Male
Đã đăng Tháng 4 3, 2011

bạn Doan Van Ha oi sao lisp của bạn khi dùng cho 2 số âm kết quả ko hiển thị số âm nhỉ?

Do bạn đặt đề toán mà thôi. Trong công thức toán học tính thể tích thì không thể ra số âm. Còn nếu muốn có

thể tích âm (chẳng hạn đất phải đào đi) thì phải đặt điều kiện. Vậy bạn sửa dòng

(setq kq (* (/ (expt (+ so1 so2) 2) 8) kc))

thành 3 dòng sau:

(if (and (

(setq kq (- 0 (* (/ (expt (+ so1 so2) 2) 8) kc)))

(setq kq (* (/ (expt (+ so1 so2) 2) 8) kc)))

Và bạn có muốn tính cho trường hợp 1 âm 1 dương thì ra cái gì nữa hay không?

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

friendship293a 10

friendship293a 10

biết lệnh eraseThành viên 10102 bài viết
Đã đăng Tháng 4 3, 2011

Nó chạy rất tốt. nếu bạn mà làm nửa âm nửa dương mà ra cả khối lượng đào cả khối lượng đắp thì còn gì bằng hihi. cảm ơn bạn rất nhiều

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

Doan Van Ha 3.020

Doan Van Ha 3.020

biết lệnh adcenterModerator 3.0205.791 bài viếtGiới tính:Male
Đã đăng Tháng 4 3, 2011

Nó chạy rất tốt. nếu bạn mà làm nửa âm nửa dương mà ra cả khối lượng đào cả khối lượng đắp thì còn gì bằng hihi. cảm ơn bạn rất nhiều

Bạn post hình vẽ của tất cả trường hợp (cùng âm, cùng dương, 1 âm 1 dương) hoặc bạn nói rõ hơn ở chỗ 1 âm 1 dương, tôi sẽ

giúp cho. Nhưng, có công thức nào tính diện tích tam giác vuông cân như bạn nói mà kỳ vậy?

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

Tue_NV 3.899

Tue_NV 3.899

KS Võ Quang TuệModerator 3.8994.253 bài viếtGiới tính:MaleVị trí:Đà Nẵng
Đã đăng Tháng 4 4, 2011

Thế thì thế này:

(defun C:TTL(/ so1 so2 p1 p2 kc kq dien)

(setq so1 (atof (cdr (assoc 1 (entget (car (entsel ”
Chon so thu 1: “)))))))

(setq so2 (atof (cdr (assoc 1 (entget (car (entsel ”
Chon so thu 2: “)))))))

(setq p1 (getpoint ”
Chon diem thu 1: “))

(setq p2 (getpoint ”
Chon diem thu 2: “))

(setq kc (distance p1 p2))

(setq kq (* (/ (expt (+ so1 so2) 2) 8) kc))

(setq dien (entget (car (entsel ”
Chon text de dien ket qua: “))))

(setq dien (subst (cons 1 (rtos kq 2 2)) (assoc 1 dien) dien))

(entmod dien))

Trong cách viết của mình thì mình thường hạn chế đặt biến, bạn ạ. Mình đặt trong những trường hợp cần thiết thôi.

Cứ như code trên của bạn. Sao bạn không sử dụng hàm getdist để tìm khoảng cách. Việc đặt biến p1 p2 có lẽ là không cần thiết (để rồi phải giải phóng chúng nữa)

3 dòng của bạn :

(setq p1 (getpoint ”
Chon diem thu 1: “))

(setq p2 (getpoint ”
Chon diem thu 2: “))

(setq kc (distance p1 p2))

Có thể thay bằng 1 dòng này :

(setq kc (getdist (getpoint ”
Nhap diem thu nhat :”) ”
Vao khoang cach hoac Nhap diem thu hai :”))

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

Doan Van Ha 3.020

Doan Van Ha 3.020

biết lệnh adcenterModerator 3.0205.791 bài viếtGiới tính:Male
Đã đăng Tháng 4 4, 2011

Trong cách viết của mình thì mình thường hạn chế đặt biến, bạn ạ. Mình đặt trong những trường hợp cần thiết thôi.

Cứ như code trên của bạn. Sao bạn không sử dụng hàm getdist để tìm khoảng cách. Việc đặt biến p1 p2 có lẽ là không cần thiết (để rồi phải giải phóng chúng nữa)

3 dòng của bạn :

(setq p1 (getpoint ”
Chon diem thu 1: “))

(setq p2 (getpoint ”
Chon diem thu 2: “))

(setq kc (distance p1 p2))

Có thể thay bằng 1 dòng này :

(setq kc (getdist (getpoint ”
Nhap diem thu nhat :”) ”
Vao khoang cach hoac Nhap diem thu hai :”))

Cám ơn Bác đã có những góp ý hay. Tôi rất thích dòng code Bác viết. Tôi sẽ hạn chế dùng biến theo Bác chỉ.

*

11
Chia sẻ bài đăng nàyLiên kết tới bài đăngChia 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à.

Xem thêm: Diện Tích Ống Dây – Công Thức Tính Tiết Diện Ngang Của Ống Dây

Đă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
Người theo dõi0
Về Đầu TrangAutoLisp
Tính khối lượng Taluy

*

Theme Mặc định Mặc địnhlingocard.vn

Diễn đàn lingocard.vnPowered by Invision Community

Xem thêm bài viết thuộc chuyên mục: Diện tích