chien_lv 7 Báo cáo bài đăng Đã đăng Tháng 8 20, 2016 Đã gửi cho 2 bạn trangnhung chuotxd Bạn gửi cho mình vào địa chỉ email với nhé. Chienwre@gmail.com cảm ơn bạ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
huyenle 2 Báo cáo bài đăng Đã đăng Tháng 8 20, 2016 Sau mấy ngày mày mò cuối cùng cũng làm được đang mày mò tiếp để đưa thêm giao diện vào là ok https://youtu.be/7NInPky8G1M Anh có thể cho xem xin lisp đó được không ah, em cảm ơn: lethihuyen211190@mail.com 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
chien_lv 7 Báo cáo bài đăng Đã đăng Tháng 8 20, 2016 Đây là lisp mình viết đang còn hạn chế về tính tự động(chỉ tính từng hạng mục một).Bây giờ muốn phát triển thêm tính nhiều hạng mục chỉ 1 lần chạy: ý tưởng thì có nhưng viết lại không được mới khổ chứ: 1. Sẽ định nghĩa đối tượng tương ứng với hạng mục Hạng mục 1 1.1 chọn đối tượng 1.2 chọn text hạng mục có sẳn (nếu ghi thì tôt hơn) 1.3 chọn đơn vị m or m2 Hạng mục 2 1.1 chọn đối tượng 1.2 chọn text hạng mục có sẳn (nếu ghi thì tôt hơn) 1.3 chọn đơn vị m or m2 .......... Sau khi định nghĩa xong các hạng mục Enter thì lisp điền diện tích luôn. Và đây là lisp: (defun c:DTTN (/ NDTS dem1 lstkm point kcach point1 pointtim diemtam xuongdong kt diemtren1) (setvar "CMDECHO" 0) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq lop1 "entdauco") (prompt "\nChon Pline hoac Hatch mau tinh dien tich.") (setq fltr (ssx_fe)) (prompt "\nChon Text ghi dien tich.") (setq DTS (car (entsel))) (setq DTS (entget DTS)) (setq NDTS (cdr (assoc 1 DTS))) (command "-layer" "new" "Tinh dien tich TN" "color" "2" "Tinh dien tich TN" "") (command "-layer" "set" "Tinh dien tich TN" "") (if (null cdtxt) (caidat) ) (setq th (getvar "textsize")) (setq dentay (- dentay (* 1.5 th))) ;(prompt "\nChon trac ngang.") (setq danhsachkm (acet-ss-to-list (ssget "X" (list (cons 8 lop1) (cons 1 "K*"))))) (setq lstkm (mapcar '(lambda (e) (cons (cdr (assoc 11 (entget e))) (cdr (assoc 1 (entget e))))) danhsachkm)) (setq lstkm (vl-sort lstkm '(lambda(x y / tmx tmy) (setq tmx (timlt x) tmy (timlt y)) (or (< (car tmx) (car tmy)) (and (= (car tmx) (car tmy)) (< (last tmx) (last tmy))))))) (setq ss (acet-ss-to-list (ssget "X" '((0 . "LINE")(8 . "ENTTNTUNHIEN"))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq dem1 1) (setq sodt (length danhsachkm) ta (chr 8) stxoa (strcat ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta) stxuly "Xu ly duoc: " ptcu nil ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (foreach ent lstkm (setq point (car ent)) (setq kcach (distance point (cdr (assoc 11 (entget (nth 0 ss)))))) (foreach enxt ss (setq point1 (cdr (assoc 11 (entget enxt)))) (setq toay (cadr point1)) (if (and (< (distance point1 point) kcach) (< toay (cadr point)) (equal (car point1) (car point) 1)) (progn (setq pointtim (cdr (assoc 11 (entget enxt)))) (setq kcach (distance pointtim point)) ) ) ) (setq diemtam (polar pointtim (/ pi 2) (/ kcach 2))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (vla-ZoomCenter (vlax-get-acad-object) (vlax-3D-point diemtam) (+ kcach 50)) (setq dd (acet-ss-to-list (ssget "C" (polar pointtim 0 0.1 ) (polar pointtim 0 0.15 ) '((0 . "LINE")(8 . "ENTTNTUNHIEN"))))) (setq diemdau (cdr (assoc 10 (entget (car dd))))) (setq diemcuoi (cdr (assoc 11 (entget (car dd))))) (setq diemtren (polar point (/ pi 2) 10)) (setq diemtren1 (list (car diemcuoi) (cadr diemtren) 0)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq SSS (ssget "C" diemdau diemtren1 fltr)) (if (/= sss nil) (progn (setq i 0) (setq s 0) (setq N (sslength sss)) (setq data (ssget "C" diemdau diemtren1 '((0 . "INSERT") (8 . "entdauco")))) (while (< i N) ;(luuos) (setvar "osmode" 0) (setq DT (ssname sss i)) (setq j 0) (setq ent1 (ssname data 0)) (setq diemchuan (cdr (assoc 10 (entget ent1)))) (Command "area" "o" DT) (if (= (getvar "area") 0) (progn (setq s (+ s (getvar "PERIMETER"))) (setq i (1+ i)) (setq donvi "m") ) (progn (setq s (+ s (getvar "AREA"))) (setq i (1+ i)) (setq donvi "m2") ) )) (setq diemghi (polar diemchuan 0 dentax)) (setq diemghi (polar diemghi (/ pi 2) dentay)) (setq txt NDTS) (command "TEXT" diemghi th 0 txt) (setq pointt11 (polar diemghi 0 cdtxt)) (command "TEXT" pointt11 th 0 ":") (setq pointt1 (polar pointt11 0 cdsokl)) (command "TEXT" "J" "R" pointt1 th 0 (rtos s 2 2)) (setq point2 (polar pointt1 0 0.2)) (command "TEXT" point2 th 0 donvi) ;(traos) ) (progn (setq data (ssget "C" diemdau diemtren1 '((0 . "INSERT") (8 . "entdauco")))) (setq ent1 (ssname data 0)) ;(luuos) (setvar "osmode" 0) (setq diemchuan (cdr (assoc 10 (entget ent1)))) (setq diemghi (polar diemchuan 0 dentax)) (setq diemghi (polar diemghi (/ pi 2) dentay)) (setq txt NDTS) (command "TEXT" diemghi th 0 txt) (setq pointt11 (polar diemghi 0 cdtxt)) (command "TEXT" pointt11 th 0 ":") (setq pointt1 (polar pointt11 0 cdsokl)) (command "TEXT" "J" "R" pointt1 th 0 "0.00") (setq point2 (polar pointt1 0 0.2)) (command "TEXT" point2 th 0 donvi) ;(traos) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; xu ly phan tram chay o duoi (setq pt (* (/ (* dem1 1.0) sodt) 100.0) dem1 (+ dem1 1) ) (if (/= pt ptcu) (progn (princ (strcat stxoa stxuly (rtos pt 2 0) "%")) (setq ptcu pt) ) ) ;(princ "\nDang xu ly") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setvar "MODEMACRO" "DANG CHUYEN DU LIEU CHO TRONG GIAY LAT") ) (setvar "CMDECHO" 1) ;(thoi) ) (defun timlt (st / tm) (setq tm (vl-string->list (substr (strcase (cdr st)) (+ 3 (vl-string-search "KM" (strcase (cdr st))))))) (read (strcat "(" (vl-list->string (subst 32 43 (subst 32 58 tm))) ")")) ) (defun ssx_fe (/ data fltr ent) (setq ent (car (entsel "\nSelect object <None>: "))) (if ent (progn (setq data (entget ent)) (foreach x '(0 2 6 7 8 39 62 66 210) ; do not include 38 (if (assoc x data) (setq fltr (cons (assoc x data) fltr) ) ) ) (reverse fltr) ) ) ) (defun Caidat (/ htxt httxt ltxt lsokl) (if (null dentax) (progn (setq dentax 10) (setq dentay 10) )) (setq x (getstring (strcat "\nKhoang cach dien phuong x <"(rtos dentax)"> :"))) (setq y (getstring (strcat "\nKhoang cach dien phuong y <"(rtos dentay)"> :"))) (if (/= x "") (setq dentax (atof x))) (if (/= y "") (setq dentay (atof y))) (setq htxt 0.2) (setq httxt (getstring (strcat "\nNhap chieu cao chu <"(rtos htxt)"> :"))) (if (/= httxt "") (setq htxt (atof httxt))) (setvar "textsize" htxt) (setq cdtxt 4.5) (setq ltxt (getstring (strcat "\nNhap chieu dai chuoi <"(rtos cdtxt)"> :"))) (if (/= ltxt "") (setq cdtxt (atof ltxt))) (setq cdsokl 0.75) (setq lsokl (getstring (strcat "\nNhap chieu dai chu so khoi luong <"(rtos cdsokl)"> :"))) (if (/= lsokl "") (setq cdsokl (atof lsokl))) ) (defun C:Caidatlai (/ htxt httxt ltxt lsokl) (if (null dentax) (progn (setq dentax 10) (setq dentay 10) )) (setq x (getstring (strcat "\nKhoang cach dien phuong x <"(rtos dentax)"> :"))) (setq y (getstring (strcat "\nKhoang cach dien phuong y <"(rtos dentay)"> :"))) (if (/= x "") (setq dentax (atof x))) (if (/= y "") (setq dentay (atof y))) (setq htxt 0.2) (setq httxt (getstring (strcat "\nNhap chieu cao chu <"(rtos htxt)"> :"))) (if (/= httxt "") (setq htxt (atof httxt))) (setvar "textsize" htxt) (setq cdtxt 4.5) (setq ltxt (getstring (strcat "\nNhap chieu dai chuoi <"(rtos cdtxt)"> :"))) (if (/= ltxt "") (setq cdtxt (atof ltxt))) (setq cdsokl 0.75) (setq lsokl (getstring (strcat "\nNhap chieu dai chu so khoi luong <"(rtos cdsokl)"> :"))) (if (/= lsokl "") (setq cdsokl (atof lsokl))) ) Đây là file test: http://www.cadviet.com/upfiles/5/66960_vi_du.dwg cho mình hỏi là mình dùng trên file của bạn thì ok nhưng ứng dụng vào bản vẽ của mình thì nó báo Layer "Tinh dien tich TN" already exists. là sao bạn 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
huunhantvxdts 195 Báo cáo bài đăng Đã đăng Tháng 8 22, 2016 cho mình hỏi là mình dùng trên file của bạn thì ok nhưng ứng dụng vào bản vẽ của mình thì nó báo Layer "Tinh dien tich TN" already exists. là sao bạn nhỉ? Báo layer đã có không phải là lỗi. Chắc file của bạn không theo chuẩn của mình, để chạy được file phải xuất từ các phần mềm ra (nova hoặc TDT). Bạn gửi file lên mình kiểm tra cho. 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
chien_lv 7 Báo cáo bài đăng Đã đăng Tháng 8 22, 2016 Báo layer đã có không phải là lỗi. Chắc file của bạn không theo chuẩn của mình, để chạy được file phải xuất từ các phần mềm ra (nova hoặc TDT). Bạn gửi file lên mình kiểm tra cho. Anh kiểm tra giúp với ah, em up bản vẽ để anh xem, mà em muốn hỏi một chút nếu trong trường hợp địa hình của em xuất ra từ TOPO thì có cách nào chạy được không ạhttp://www.cadviet.com/upfiles/6/119043_drawing1.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
huunhantvxdts 195 Báo cáo bài đăng Đã đăng Tháng 8 23, 2016 Anh kiểm tra giúp với ah, em up bản vẽ để anh xem, mà em muốn hỏi một chút nếu trong trường hợp địa hình của em xuất ra từ TOPO thì có cách nào chạy được không ạhttp://www.cadviet.com/upfiles/6/119043_drawing1.dwg Chào bạn mình đã xem qua file bạn gửi. Do bạn đọc không kỹ lisp, lisp chỉ chạy được khi đối tượng là Hatch, Pline hoặc Line, Để file chạy được, file của bạn các Block phải phá ra. 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
huunhantvxdts 195 Báo cáo bài đăng Đã đăng Tháng 8 23, 2016 Anh có thể cho xem xin lisp đó được không ah, em cảm ơn: lethihuyen211190@mail.com Đã gửi cho bạn nhưng không gửi được(mail bạn chặn không cho mình gửi) bạn có địa chỉ mail khác không?? mail mình huunhantvxdts@gmail.com 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
tahuutrong0601 0 Báo cáo bài đăng Đã đăng Tháng 10 7, 2016 cho e xin lại với e thử ko đc.gmail của em: tahuutrong0601@gmail.com e cảm ơn nhiều 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
huunhantvxdts 195 Báo cáo bài đăng Đã đăng Tháng 10 8, 2016 cho e xin lại với e thử ko đc.gmail của em: tahuutrong0601@gmail.com e cảm ơn nhiều Đã gửi vào mail của bạ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
Trương Chí Thành 4 Báo cáo bài đăng Đã đăng Tháng 8 3, 2021 Vào lúc 20/10/2015 tại 17:42, huunhantvxdts đã nói: Sau mấy ngày mày mò cuối cùng cũng làm được đang mày mò tiếp để đưa thêm giao diện vào là ok https://youtu.be/7NInPky8G1M gửi cho minh dc hk bạn. chithanh28941989@gmail.com 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
vcdichoi 7 Báo cáo bài đăng Đã đăng Tháng 8 4, 2021 Vào lúc 21/10/2015 tại 15:53, buithengan1 đã nói: bạn cho mình xin cái lisp của bác hưng với cái phần mềm tô cái hatch với poly luôn nha. cảm ơn bạn nhiều. mail của mình là thengan1990@gmail.com Anh gửi cho em xin lisp với nhé! Mail em là "cugaytb@gmail.com" Em cảm ơn anh! 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