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

[Nhờ Sửa Lisp]tính diện tích vùng hatch

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

http://www.cadviet.c.../152139_tkh.lsp

;; free lisp from cadviet.com

;;; this lisp was downloaded from http://www.cadviet.c...c=13203&st=3680

(defun c:tkh (/ lst msp pt ss lay ar txtsiz)

(vl-load-com)

(if (setq ss (ssget(list (cons 0 "HATCH"))))

(progn

(foreach e (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))

(setq lay (vla-get-layer e) ar (vla-get-area e))

(if (not (assoc lay lst))

(setq lst (cons (cons lay ar) lst))

(setq lst (subst (cons lay (+ ar (cdr (assoc lay lst))))

(assoc lay lst) lst))) )

(setq lst (vl-sort lst '(lambda (x y) (< (car x) (car y))))

tl 0.000001

pt (getpoint "\nDiem dat Bang :" )

txtsiz (* (getvar "dimtxt")(getvar "dimscale"))

msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))

(foreach e lst

(vla-addtext msp (car e) (vlax-3d-point pt) txtsiz )

(vla-addtext msp

(strcat (rtos (* (cdr e) tl) 2 2) " m2") (vlax-3d-point (polar pt 0 (* 10 txtsiz))) txtsiz )

(setq pt (polar pt (/ pi -2) (* 1.5 txtsiz))) ) )

(alert "Khong chon duoc Hatch.") )

(princ))

 

 

7e92b02502acb4434c18293e14f7fa46_45585704.12.jpg

lisp này của bạn KETXU

 

mình muốn bỏ layers trước kết quả tính và text xuất kết quả là tăng theo scan khi mình chọn và di chuột chứ không phải ra text mặc định..thank các bạn trướ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

Link bài này của bạn đâu ? bạn search Google từ C:tkh ketxu cadviet và post yêu cầu ở topic đó 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

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  

×