tranlaogia 16 Báo cáo bài đăng Đã đăng Tháng 1 7, 2010 http://www.cadviet.com/upfiles/2/dien_tichqq.lsp lisp này của em khi tính diện tích chỉ chọn được tỷ lệ bản vẽ lần đầu và sau đó cứ tính diện tích theo tỷ lệ cũ. Trong bản vẽ của em có nhiều tỷ lệ bản vẽ nên khi sử dụng lisp này để tính diện tích thì phải tắt bản vẽ và bật lại bvẽ rồi mới load lisp tính diện tích này rồi mới nhập tỷ lệ bản vẽ mới, làm như vậy thì bất tiện quá. em mong các bác sửa giùm em để khi em tính diện tích các tỷ lệ khác nhau thì nhập lại được tỷ lệ bản vẽ đó. 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
thonghoang1 9 Báo cáo bài đăng Đã đăng Tháng 1 7, 2010 tặng bạn lisp tính diện tích này nè,dùng thử xe, lênh la dt hoặc dt0. có thể lần đầu nó sẽ yêu cầu bạn cho chiều cao chữ đấy nha,dùng thử và cho y kiế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
thonghoang1 9 Báo cáo bài đăng Đã đăng Tháng 1 7, 2010 quên gởi file(http://www.cadviet.com/upfiles/2/progam05_1.rar) 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
xuandao0708 9 Báo cáo bài đăng Đã đăng Tháng 1 7, 2010 Không biết bạn có phải bên nghành trắc địa không? Nếu phải thì bạn có thể dùng lisp này cũng được vì khi tính diện tích thì mình phải nhập tỷ lệ bản vẽ. Tên lệnh là: dt2, nếu bạn không muốn là dt2 thì bạn có thể sữa lại theo ý bạn ngay tại dòng (defun c:dt2 thì dt2 thay bằng 1 tên khác). Lisp này mình cũng sưu tầm được trên Cadviet.com ;Tinh Dt co mien khoe rong ben trong va lap bang (defun c:dt2() (setvar "cmdecho" 0) (command "undo" "begin") (setq lacol (getvar "CEColor")) (setq ladin (getvar "dimzin")) (setq laos (getvar "osmode")) (if (not tl) (setq tl 1)) (if (not h) (setq h 1)) (setq tl1 (getreal (strcat "\nty le ban ve < 1/" (rtos tl 2 0) " >: 1/")) caot1 (getreal (strcat "\nCao text < " (rtos h 2 2) " >: "))) (if tl1 (setq tl tl1)) (if caot1 (setq h caot1)) (setq k 0 tdt 0) (setvar "dimzin" 0) (setvar "OSMODE" 0) (setq PT (getpoint "\nChon diem xuat bang thong ke dien tich (mep trai):")) (setq P1 (list (+ (car PT)(* 6 h)) (cadr PT)) P2 (list (+ (car PT)(* 22 h)) (cadr PT)) P3 (list (car PT) (- (cadr PT)(* 3 h))) P4 (list (car P1) (cadr P3)) P5 (list (car P2) (cadr P3)) P6 (list (+ (car PT)(* 11 h)) (+ (cadr PT)(* 2 h))) P7 (list (+ (car PT)(* 3 h)) (- (cadr PT)(* 1.5 h))) P8 (list (+ (car PT)(* 14 h)) (- (cadr PT)(* 1.5 h))) );setq (command "pline" PT P2 P5 P3 "C" "pline" P1 P4 "" "text" "m" P6 (* 1.2 h) 0 "Bang Thong Ke DT" "text" "m" P7 h 0 "STT" "text" "m" P8 h 0 "Dien tich (m2)" );command (setq pt1 (getpoint "\n Chon mien tinh dien tich : ")) (while (/= pt1 nil) (command "erase" ss "") (setq k (+ 1 k)) (command "TEXT" "m" pt1 (* 3 h) 0 (rtos k 2 0)) (setq PT (list (car P3) (cadr P3)) P1 (list (+ (car PT)(* 6 h)) (cadr PT)) P2 (list (+ (car PT)(* 22 h)) (cadr PT)) P3 (list (car PT) (- (cadr PT)(* 3 h))) P4 (list (car P1) (cadr P3)) P5 (list (car P2) (cadr P3)) P7 (list (+ (car PT)(* 3 h)) (- (cadr PT)(* 1.5 h))) P8 (list (+ (car PT)(* 14 h)) (- (cadr PT)(* 1.5 h))) P9 (list (car PT) (- (cadr P3)(* 3 h))) P10 (list (car P1) (cadr P9)) P11 (list (car P2) (cadr P9)) P12 (list (car P7) (- (cadr P3)(* 1.5 h))) P13 (list (car P8) (cadr P12)) );setq (setq frome (entlast));; chon doi tuong cuoi cung truoc khi boundary (command "cecolor"4 "-boundary" pt1 "");; boundary (setq toe (entlast));; chon doi tuong cuoi cung sau khi boundary (setq cur frome ss (ssadd) S 0) (while (not (eq cur toe));; chon cac doi tuong tu frome den toe (setq cur (entnext cur) ss (ssadd cur ss)) (command "area" "S" "O" ss "" "") (setq dt (getvar "area") S (+ S dt)) );while (command "area" "A" "O" "L" "" "") (setq dt (getvar "area")) (setq S (* (+ S (* dt 2)) tl (/ tl 500 500)) tdt (+ s tdt)) (setvar "CEColor" lacol) (command "pline" PT P2 P5 P3 "C" "pline" P1 P4 "" "text" "m" P7 h 0 (rtos k 2 0) "text" "m" P8 h 0 (rtos s 2 2)) (setq pt1 (getpoint (strcat "\nTong dien tich = " (rtos tdt 2 3) "m2. chon mien do tiep theo..."))) );while (command "erase" ss "") (setq ss nil) (setvar "DIMZIN" ladin) (command "pline" P3 P9 P11 P5 "C" "pline" P10 P4 "" "text" "m" P12 h 0 "Tong" "text" "m" P13 h 0 (rtos tdt 2 2) );command (setvar "OSMODE" laos) (command "undo" "end") (setvar "cmdecho" 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
phamthanhbinh 3.146 Báo cáo bài đăng Đã đăng Tháng 1 7, 2010 http://www.cadviet.com/upfiles/2/dien_tichqq.lsplisp này của em khi tính diện tích chỉ chọn được tỷ lệ bản vẽ lần đầu và sau đó cứ tính diện tích theo tỷ lệ cũ. Trong bản vẽ của em có nhiều tỷ lệ bản vẽ nên khi sử dụng lisp này để tính diện tích thì phải tắt bản vẽ và bật lại bvẽ rồi mới load lisp tính diện tích này rồi mới nhập tỷ lệ bản vẽ mới, làm như vậy thì bất tiện quá. em mong các bác sửa giùm em để khi em tính diện tích các tỷ lệ khác nhau thì nhập lại được tỷ lệ bản vẽ đó. Chào bác Trần lão gia, Hề hề hề, sở dĩ như vậy là do cái hàm (if (= tyle nil) ..... mà ra bác ạ, bác cứ bỏ béng cái dòng code đó đi, đống thời bỏ luôn cả cái hàm (progn.....) là OK. Nhớ là phải bỏ cả các dấu ngoặc kết thúc của hai hàm này nhé. Nếu không khi load sẽ bị báo lỗi đó và lisp sẽ hổng chịu chạy. Hề hề hề, chúc bác luôn vui vẻ, mạnh khỏe và ....... 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
tranlaogia 16 Báo cáo bài đăng Đã đăng Tháng 1 8, 2010 Chào bác Trần lão gia,Hề hề hề, sở dĩ như vậy là do cái hàm (if (= tyle nil) ..... mà ra bác ạ, bác cứ bỏ béng cái dòng code đó đi, đống thời bỏ luôn cả cái hàm (progn.....) là OK. Nhớ là phải bỏ cả các dấu ngoặc kết thúc của hai hàm này nhé. Nếu không khi load sẽ bị báo lỗi đó và lisp sẽ hổng chịu chạy. Hề hề hề, chúc bác luôn vui vẻ, mạnh khỏe và ....... cám ơn bác. quả đúng là tuyệt vời, chúc bác luôn mạnh khoẻ và hạnh phú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