AutoLisp tính diện tích trong AutoCad chia sẻ với các bạn

maihuong

Thành viên nhiều triển vọng
Tham gia
18/8/10
Bài viết
12
Điểm thành tích
3
Tuổi
28
Mình có cái AutoLisp tính diện tích trong AutoCad chia sẻ với các bạn rất nhanh. Bạn chỉ cần load rồi gõ DT và click chuột là có kết quả, mình up lên để các bạn tham khảo.
Chúc các bạn nhiều thành công trong công việc.
 

File đính kèm

  • Tinh dien tich.rar
    581 bytes · Đọc: 16.725

Layer

Thành viên sắp được phong Thành viên Năng động
Tham gia
1/11/13
Bài viết
49
Điểm thành tích
18
Tuổi
38
Lisp SS

Có cái lisp này, hay dùng để tính diện tích tại trắc ngang cho các công tác đào đắp, up lên đây bạn nào cần thì download nhé. Lệnh SS, chọn vùng kín để tính diện tích và click vào 1 đối tượng text bất kỳ, giá trị diện tích sẽ thay vào đối tượng text đó.

Cái này thì chắc khá phổ biến rồi.
 

File đính kèm

  • Lisp tinh dien tich.rar
    890 bytes · Đọc: 9.459

phamtien2411

Thành viên mới
Tham gia
22/11/12
Bài viết
2
Điểm thành tích
1
Tuổi
35
Website
www.internetvietnam.net
Có bạn nào hướng dẫn sử dụng kỹ hơn 1 tí được không? Mình làm mà thấy khó kiểm soát quá, vì k biết nó tính cho hình nào? Add lisp rồi nhưng gõ lệnh dt pick vao vùng cần tính diện tích nó hiện lên số 0.00m2 Em vừa mới học nên chưa biết nhiều.
Rất mong nhận được sự giúp đỡ.
 

bikili

Thành viên rất triển vọng
Tham gia
26/10/09
Bài viết
34
Điểm thành tích
18
Tuổi
41
Lisp tính diện tích hình kín - Load lisp và sử dụng lệnh "ae"

Mình sưu tầm được, gửi các bạn tham khảo: Lisp tính diện tích hình kín - Load lisp và sử dụng lệnh "ae".
 

File đính kèm

  • AREA_ae.rar
    495 bytes · Đọc: 4.969

thao.tongthi

Thành viên nhiều triển vọng
Tham gia
10/9/13
Bài viết
17
Điểm thành tích
3
dùng lisp này bạn có thể tính tổng diện tích các hình liên tục với tỉ lệ, làm tròn số bạn muốn, bạn kiểm soát được hình bạn đang tính vì có hatch luôn diện tích bạn tính. và tự xóa hatch khi bạn kết thúc lệnh (mỗi lần thao tác nhìn dòng comment rồi thực hiện theo là được)
1.tên lệnh: zza
enter (space)
2.nhập tỉ lệ bản vẽ: 1000 ( với bản vẽ thể hiện 1/1000)
enter (space)
3.click chuột phải vào vùng diện tích cần tính
enter (space)
vd: bạn muốn tính tổng diện tích 2 vùng thì bạn lặp lại bước 3 2 lần
4. sau khi pick xong những vùng cần tính? (dòng comment hiển thị : thay cho số), để có được tổng diện tích. bạn click chuột phải vào một text,mtext, số bất kỳ trong bản vẽ
đối tượng mà bạn chọn để hiển thị diện tích sẽ chuyển thành số và được chuyển thành màu đỏ
trong lisp này bao gồm nhiều lisp khác nữa. mình gộp lại cho tiện đỡ phải load nhiều lần.
nhiều tiện tích như tính độ dốc; nối line, pline; vẽ taluy; cắt dim; tính tổng các đoạn thẳng... nên trước khi dùng bạn kiểm tra lại tên các lisp của mình có bị trùng với tên lệnh cad hay lisp khác mà bạn cùng load một lúc không. nếu trùng thì sửa tên lệnh (ở dòng defun) rồi lưu lại trước khi dùng.

Thân ái!
 

lengruohan

Thành viên mới
Tham gia
10/1/14
Bài viết
3
Điểm thành tích
1
Mình chưa từng ngâm cứu qua lisp, mình muốn hỏi là theo lisp tính diện tích của bạn bây giờ mình muốn khi mình kết thúc lệnh (xuất kết quả diện tích ra) mình muốn giữ lại hatch thì làm thế nào bạn nhỉ?
tiện đây mình cũng muốn học về lisp, các bạn có thể giúp mình bắt đầu từ đâu không?

Xin cảm ơn các bạn nhiều ^^.

Mình làm được rồi : xóa dòng (command "erase" ss "") đi là được.
Có bạn có tài liệu học về lisp thì cho mình xin nhé, cho mình hỏi luôn là khi xuất text ra mình muốn text là màu đỏ thì làm thế nào nhỉ?mình đọc trong file lisp mà không biết dòng đó quy định ở đâu T^T...
Mình muốn dòng lệnh bất kỳ nào đó không được thực thi thì mình dùng dấu gì nhỉ (là kiểu dòng ghi chú ấy)
và giả sử mình muốn những câu thông báo có dấu tiếng việt thì phải dùng font nào các bạn nhỉ? (thông cảm cho mình vì không chịu khó tìm kiếm trên diễn đàn T^T...) mình chỉ có thể học theo lối chộp giật thôi vì thời gian này rất bận...
 

lengruohan

Thành viên mới
Tham gia
10/1/14
Bài viết
3
Điểm thành tích
1
Như trong đoạn code này:

(defun suatext ()

(setq ddd (entsel "\nChon text viet ket qua"))
(while
(or
(null ddd)
(and (/= "TEXT" (cdr (assoc 0 (entget (car ddd))))) (/= "MTEXT" (cdr (assoc 0 (entget (car ddd)))))
)
)
(setq ddd (entsel "\nDoi tuong phai la TEXT hoac MTEXT! Chon lai"))
)

(setq DT (car ddd))
(setq DTM (entget DT))
(setq noidung noidungm)
(setq DTM (subst (cons 1 NOIDUNG) (assoc 1 DTM) DTM))
(entmod DTM)
(Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun DXF (code elist)
(cdr (assoc code elist))
);dxf

(defun c:QQ(/ dtl dtcon pt1 pt2 ss et oslast vsize)
(if (= tl nil) (progn
(setq tl (getreal "\n Nhap Ti le ban ve?: "))
; (setq ntl (/ 1000 tl))
; (setq tl2 (* ntl ntl))
)
)
(setq dtl 0)
(setq ss (ssadd))
(setq oslast (getvar "OSMODE"))
(command "osnap" "")
(setq ntl (/ 1000 tl))
(setq tl2 (* ntl ntl))

(print)
(print)
(setq pt1 (getpoint "\nPick diem bat ky trong vung can tinh: "))
(while (/= pt1 nil)
(command "-boundary" pt1 "")
(setq et (entlast))
(ssadd et ss)
(command "area" "e" "last")
(setq vsize ( /(getvar "VIEWSIZE") 90))
(command "hatch" "ANSI31" vsize "0" "last" "")
(setq et (entlast))
(ssadd et ss)
(setq dtcon (/ (getvar "AREA") tl2))
(setq dtl (+ dtcon dtl))
(prompt (strcat "\nTong dien tich cac vung da chon: " (rtos dtcon 2 2)))
(print)
(print)
(setq pt1 (getpoint "\nChon tiep vung nao khong ?: "))
)
(command "setvar" "OSMODE" oslast)

(setq ss nil)
(command "redraw")
; (setq dtl (/ (/ dtl tl2) 2))
; (setq dtl (/ dtl 2))
(print)
(prompt (strcat "\nTong dien tich cac vung da chon : " (rtos dtl 2 2)))
(print)
;(setq pt2 (getpoint "\nVi tri dat text dien tich: "))
;(if (/= 0 (DXF 40 (tblsearch "STYLE" (getvar "TEXTSTYLE"))))
;;;;;;;;;;;;;
(setq noidungm (rtos dtl 2 2))
(suatext)
;(command "text" pt2 "0" (rtos dtl 2 2))
;(command "text" pt2 "0.4" "0" (rtos dtl 2 2))
;);if
(princ)
);defun QQ


Như trong đoạn lisp này, mình muốn khi pick vào text thì text chuyển thành màu đỏ thì phải làm thế nào vậy các bạn?
 

hung_xd1987

Thành viên mới
Tham gia
27/11/13
Bài viết
2
Điểm thành tích
1
ai có lisp tính diện tích mà tích bao nhiêu hình thì đưa ra được hết diện tích các hình đó không (vd: tích 3 hình dưa tích ra được được cả ba diện tích của hình đó mà không phải là tính tổng 3 hình đó
0
 

doquocquyen

Thành viên mới
Tham gia
31/10/12
Bài viết
1
Điểm thành tích
1
Cảm ơn bạn. Lisp dùng rất hay nếu có cái nào tiện dụng hơn nữa nhớp up cho anh em nhé. chúc bạn thành công hơp nữa trong công việc và hạnh phúc trong cuộc sống
 

Tải bộ cài phần mềm Dự toán GXD, Đấu thầu GXD, Thanh Quyết toán GXD, Quản lý chất lượng GXD. Dành cho người mua bản quyền
Kích để xem khóa học Dự toán công trình
Kích để xem khóa học Dự toán công trình
Phần mềm quản lý chất lượng công trình QLCL GXD
Tìm hiểu khóa học Thanh Quyết toán GXD

Các bài viết mới

Top