Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
bowxman

Tính toán khối lượng san nền

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

bowxman    21

Mình đang cần 1 file lisp để tính toán khối lượng san nền, đề bài như sau:

Bình đồ hiện trạng là một lưới 3d mesh bao gồm các tọa độ điểm(theo đường đồng mức hiện trạng)

Bình đồ thiết kế cũng là lưới 3d mesh bao gồm các tọa độ điểm (theo đường đồng mức thiết kế)

Ranh đất là polyline khép kín

Giao của 3 cái này sẽ là khối lượng (thể tích).

Tuy nhiên có chỗ khó như sau:

Nếu giao của nó là 1 khối thì khối lượng (thể tích) là chỉ có kl đào (hoặc đắp)

Nếu giao của nó thành nhiều khối thì vừa đào, vừa đắp

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
Nguyen Hoanh    4.524

Có một phương pháp như sau:

Bước 1. Tạo 1 mặt mesh, là phần đất giao của 2 phần thiết kế và hiện trạng (khối C). Đây là phần không đào cũng không đắp.

Bước 2. Tính khối lượng đào bằng cách lấy hiệu của khối hiện trạng (khối A) trừ đi cho khối C.

Bước 3. Tính khối lượng đắp bằng cách lấy hiệu của khối thiết kế (khối B ) trừ đi cho khối C.

 

Diễn giải: C là giao của A và B. Nên phần dư của A-C là phần phải đào đi, phần dư của B-C là phần phải đắp vào. Nếu chỉ đào thì C=B. nếu chỉ đắp thì C=A.

 

Có thể sử dụng chức năng Create > Compound Object > boolean trong 3DSMax để tìm giao của các khối mesh (bao gồm cả giao của hình lăng trụ có tiết diện là biên khu đất). Sau đó, sử dụng hàm tính khối lượng: V = (h1+h2+h3)*S/3 để tính khối lượng của từng tam giác trên mesh rồi cộng lại để ra khối lượng của 3 khối A, B và C.

 

SanNen.txt

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
bowxman    21

Cách làm này thì ai đọc tựa đề cũng biết cả bác à, xin cảm ơn bác.

Cái em cần là một lisp nhập số liệu và tính toán bằng các số liệu đó, vì khi bảo vệ người ta chỉ nhìn vào số liệu, mong bác giúp em.

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
Nguyen Hoanh    4.524

Lisp làm toàn bộ rất khó vì phải mô hình hóa địa hình.

 

Có cách làm tay khá đơn giản tận dụng chức năng của 3DSMax:

Vào 3DSMax:

- Nhập đường đồng mức từ file DWG.

- Dùng lệnh Terrain để biến đường đồng mức thành mặt.

- Dùng lệnh Shell để biến mặt thành khối.

- Dùng lệnh Boolean để giao các khối (khối A, Khối B và khối trụ tạo bởi đường biên khu đất) để tạo thành khối C.

- Export khối A, Khối B, Khối C sang CAD.

 

Từ mặt mesh này trong AutoCAD chúng ta có thể tính được khối tích của nó (của 3 khối A, B, C). Bằng cách explode chúng ra thành 3Dface, dùng lisp để tính khối tích của các hình lăng trụ tạo bởi các 3DFace này với mặt phẳng x0y. Tổng của chúng chính là khối tích của miền giới hạn bởi địa hình và mặt phẳng xoy. Khối tích được tính theo công thức: V = S * (z1+z2+z3)/3.

 

Mã lisp như sau:

(defun c:V3DF ()
 (defun ttone (ent)
   (setq
     tt    (entget ent)
     p1    (cdr (assoc 10 tt))
     p2    (cdr (assoc 11 tt))
     p3    (cdr (assoc 12 tt))
     x1    (car p1)
     y1    (cadr p1)
     z1    (caddr p1)
     x2    (car p2)
     y2    (cadr p2)
     z2    (caddr p2)
     x3    (car p3)
     y3    (cadr p3)
     z3    (caddr p3)
     S	    (abs (/ (+
	      (* (+ y1 y2) (- x1 x2))
	      (* (+ y2 y3) (- x2 x3))
	      (* (+ y3 y1) (- x3 x1))
	    )
	    2.0
	 )
    )
     V	    (/ (* s (+ z1 z2 z3)) 3.0)
     VTong (+ VTong V)
   )
 )
 ;;;--------------------Main -----------------
 (setq	Vtong 0.0
ss3f  (ssget '((0 . "3DFACE")))
       sodt  (cond
	(ss (sslength ss))
	(t 0)
      )	
index 0
 )
 (repeat sodt
   (setq entdt	(ssname ss index)
  index	(1+ index)
   )
   (ttone entdt)    
 )
 (princ "\n*****************************")
 (princ "\nThe tich la: ")
 (princ Vtong)
 (princ "\n*****************************")
 (princ)
)

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
bowxman    21

Mặc dù không nhập được số liệu, nhưng cách làm của bác wá hay, mở cho em một hướng đi mới.

Không biết phải nói cám ơn bác thế nào cho phải, thành thật cảm ơn bác rất nhiều. Hậu tạ bác sau nhé!!

Nếu em làm thành công chương trình này thì công lớn là của bác, nếu em nhớ ko nhầm thì trong Cad có thể làm terrain từ các đường đồng mức, số liệu đầu vào chỉ cần nhập cho các đường đồng mức (đơn giản rồi).

Một lần nữa xin cảm ơn bác!

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
Mặc dù không nhập được số liệu, nhưng cách làm của bác wá hay, mở cho em một hướng đi mới.

Không biết phải nói cám ơn bác thế nào cho phải, thành thật cảm ơn bác rất nhiều. Hậu tạ bác sau nhé!!

Nếu em làm thành công chương trình này thì công lớn là của bác, nếu em nhớ ko nhầm thì trong Cad có thể làm terrain từ các đường đồng mức, số liệu đầu vào chỉ cần nhập cho các đường đồng mức (đơn giản rồi).

Một lần nữa xin cảm ơn bác!

vừa đọc lại bài này của bác ,,kéo lên cho anh em san nền ngâm cúu lại , thấy nó hay wá , ko nỡ để trôi mất

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
minhnghi    3
Lisp làm toàn bộ rất khó vì phải mô hình hóa địa hình.

 

Có cách làm tay khá đơn giản tận dụng chức năng của 3DSMax:

Vào 3DSMax:

- Nhập đường đồng mức từ file DWG.

- Dùng lệnh Terrain để biến đường đồng mức thành mặt.

- Dùng lệnh Shell để biến mặt thành khối.

- Dùng lệnh Boolean để giao các khối (khối A, Khối B và khối trụ tạo bởi đường biên khu đất) để tạo thành khối C.

- Export khối A, Khối B, Khối C sang CAD.

 

Từ mặt mesh này trong AutoCAD chúng ta có thể tính được khối tích của nó (của 3 khối A, B, C). Bằng cách explode chúng ra thành 3Dface, dùng lisp để tính khối tích của các hình lăng trụ tạo bởi các 3DFace này với mặt phẳng x0y. Tổng của chúng chính là khối tích của miền giới hạn bởi địa hình và mặt phẳng xoy. Khối tích được tính theo công thức: V = S * (z1+z2+z3)/3.

 

Mã lisp như sau:

(defun c:V3DF ()
 (defun ttone (ent)
   (setq
     tt    (entget ent)
     p1    (cdr (assoc 10 tt))
     p2    (cdr (assoc 11 tt))
     p3    (cdr (assoc 12 tt))
     x1    (car p1)
     y1    (cadr p1)
     z1    (caddr p1)
     x2    (car p2)
     y2    (cadr p2)
     z2    (caddr p2)
     x3    (car p3)
     y3    (cadr p3)
     z3    (caddr p3)
     S	    (abs (/ (+
	      (* (+ y1 y2) (- x1 x2))
	      (* (+ y2 y3) (- x2 x3))
	      (* (+ y3 y1) (- x3 x1))
	    )
	    2.0
	 )
    )
     V	    (/ (* s (+ z1 z2 z3)) 3.0)
     VTong (+ VTong V)
   )
 )
 ;;;--------------------Main -----------------
 (setq	Vtong 0.0
ss3f  (ssget '((0 . "3DFACE")))
       sodt  (cond
	(ss (sslength ss))
	(t 0)
      )	
index 0
 )
 (repeat sodt
   (setq entdt	(ssname ss index)
  index	(1+ index)
   )
   (ttone entdt)    
 )
 (princ "\n*****************************")
 (princ "\nThe tich la: ")
 (princ Vtong)
 (princ "\n*****************************")
 (princ)
)

Bác Hoành ạh, về Cad thì em phục bác, nhưng mà còn về nhiều cái .......khác thì....hehe, bác không bằng em đâu. Nhưng rất cảm ơn bác về bài viết này, chỉ giúp em sự liên hệ giữa các phần mềm :s_big:

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
kieumanh    140
Bác Hoành ạh, về Cad thì em phục bác, nhưng mà còn về nhiều cái .......khác thì....hehe, bác không bằng em đâu. Nhưng rất cảm ơn bác về bài viết này, chỉ giúp em sự liên hệ giữa các phần mềm :s_big:

Tôi cũng biết về san lấp và nạo vét, lại làm kiến trúc và xây dựng, biết dùng Cad còn 3d Max thì tàm tạm. Thấy bài viết này của bác Hoành rất hay, không phải nịnh bợ addmin nhưng để có được bài viết này, ngoài kiến thức sâu rộng về hai công cụ này còn phải có sự sáng tạo nữa đấy chứ. Nhưng có điều lúc làm hồ sơ thẩm định thì hơi khó giải trình cho nhà đầu tư. Cái này dùng để test kết quả tính "bo" bằng tay thôi. Tôi đi làm thấy công ty nào không chịu bỏ tiền ra mua phần mềm tự động đều phải làm tay hết. Học sử dụng phần mềm tính toán hồi còn đi học thấy thật là phí vì không sử dụng sợ để lâu quên mất.

Tài liệu hướng dẫn sử dụng này tôi lấy trong diễn đàn ĐHBKĐN:

Hướng dẫn sử dụng Soft Desk

http://www.cadviet.com/upfiles/huong_dan_s...ng_SoftDesk.rar

Các bác tìm hiểu xem có phù hợp mục đích sử dụng không nhé.

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
missone's    6
Bác Hoành ạh, về Cad thì em phục bác, nhưng mà còn về nhiều cái .......khác thì....hehe, bác không bằng em đâu. Nhưng rất cảm ơn bác về bài viết này, chỉ giúp em sự liên hệ giữa các phần mềm :s_big:

Thế điểm mạnh của bác là gì- lĩnh vực nào? - sao không chỉ ra vài chiêu cho anh em học hỏi với!

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
lavender    0
Bác Hoành ạh, về Cad thì em phục bác, nhưng mà còn về nhiều cái .......khác thì....hehe, bác không bằng em đâu. Nhưng rất cảm ơn bác về bài viết này, chỉ giúp em sự liên hệ giữa các phần mềm :cheers:

:cheers:). Chưa khảo mà đã xưng. Nghe vui tai các bác nhỉ!

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

em dùng lisp nội suy ra chiều dài độ dốc với khối lượng đào đắp

nhưng tại sao nó lại bị lỗi ntn ạ

mọi khi em vẫn dùng bộ lisp này bình thường ạ

 

ai từng gặp lỗi này chỉ dẫn em với ạ

  • 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

em dùng lisp nội suy ra chiều dài độ dốc với khối lượng đào đắp


nhưng tại sao nó lại bị lỗi ntn ạ ( toàn là 0.000)


mọi khi em vẫn dùng bộ lisp này bình thường ạ


 


ai từng gặp lỗi này chỉ dẫn em với ạ121241_untitled_3.jpg


  • 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
minhducdhxd    0

Mong các bạn ai có lisp tính khối lượng đào đắp san nền gửi lại lisp với ạ. Mình vào tải nhưng bị mất link không tải được cái nào cả ạ. (nếu có chỉ giúp mình cách luô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

Mong các bạn ai có lisp tính khối lượng đào đắp san nền gửi lại lisp với ạ. Mình vào tải nhưng bị mất link không tải được cái nào cả ạ. (nếu có chỉ giúp mình cách luôn ạ)

     Nói chung bài toán tính khối lượng san nền thuộc dạng vừa phải. Việc tính toán nó trước hết phụ thuộc vào bình đồ đồng mức mà Bạn đang sử dụng thuộc loại nào (do phần mềm nào chạy ra), tính toán xong nếu là thương phẩm thì cần minh họa sao cho bên A có thể kiểm tra lại được để công nhận kết quả của mình để trả công J .

 

     Mình cũng có viết 1 bộ phần mềm san nền như thế nhưng tất nhiên là cũng chỉ dùng cho bình đồ đồng mức do mình viết ra. Bạn có thể tham khảo và biết đâu có ý tưởng gì đó

 

 

  • 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
united    1

     Nói chung bài toán tính khối lượng san nền thuộc dạng vừa phải. Việc tính toán nó trước hết phụ thuộc vào bình đồ đồng mức mà Bạn đang sử dụng thuộc loại nào (do phần mềm nào chạy ra), tính toán xong nếu là thương phẩm thì cần minh họa sao cho bên A có thể kiểm tra lại được để công nhận kết quả của mình để trả công J .

 

     Mình cũng có viết 1 bộ phần mềm san nền như thế nhưng tất nhiên là cũng chỉ dùng cho bình đồ đồng mức do mình viết ra. Bạn có thể tham khảo và biết đâu có ý tưởng gì đó

 

Anh có thể chia sẻ file cài đặt và hướng dẫn sử dụng cho em và anh em trên 4r được không ạ?

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

Anh có thể chia sẻ file cài đặt và hướng dẫn sử dụng cho em và anh em trên 4r được không ạ?

Cũng có thể được, mình có thể hướng dẫn phần tối thiểu vì để hoàn chỉnh hơi mất thời gian. Bạn vào đây:

 

https://www.facebook.com/Thi%E1%BA%BFt-k%E1%BA%BF-c%C3%B4ng-tr%C3%ACnh-Th%E1%BB%A7y-l%E1%BB%A3i-391296781045460/

 

Nhưng trước hết Bạn up lên bình đồ Bạn vẫn thường dùng, để mình viết 1 đoạn Format về bình đồ chuẩn của mình đang lập nhé!

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
united    1

Cũng có thể được, mình có thể hướng dẫn phần tối thiểu vì để hoàn chỉnh hơi mất thời gian. Bạn vào đây:

 

https://www.facebook.com/Thi%E1%BA%BFt-k%E1%BA%BF-c%C3%B4ng-tr%C3%ACnh-Th%E1%BB%A7y-l%E1%BB%A3i-391296781045460/

 

Nhưng trước hết Bạn up lên bình đồ Bạn vẫn thường dùng, để mình viết 1 đoạn Format về bình đồ chuẩn của mình đang lập nhé!

 

Dạ của em như thế này thôi ạ. Nói thật là em hơi ngoài ngành 1 chút nên cũng số kết quả cũng không cần quá chính xác.

http://www.cadviet.com/upfiles/7/120472_san_nen.dwg

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

Dạ của em như thế này thôi ạ. Nói thật là em hơi ngoài ngành 1 chút nên cũng số kết quả cũng không cần quá chính xác.

http://www.cadviet.com/upfiles/7/120472_san_nen.dwg

Bản vẽ của Bạn với đường đồng mức đây.

Bạn muốn san phần đất trong vùng xuống cao độ bao nhiêu?

http://www.cadviet.com/upfiles/7/62601_google_drive_1.dwg

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


×