buithengan1 1 Báo cáo bài đăng Đã đăng Tháng 7 13, 2017 Mình có lisp này nhưng ko biết vì sao sử dụng trên cad 2018 bị lỗi. ai biết sửa lỗi giúp mình với cảm ơn nhiều cad nó báo lỗi này (defun C:tg (/ tot_len ss e_name e_record e_type Tkq obn obd) (while (setq tot_len 0.0) (setq ss (ssget)) (if (null ss) (exit) ) (while (> (sslength ss) 0) (setq e_name (ssname ss 0)) (setq e_record (entget e_name)) (setq e_type (cdr (assoc '0 e_record))) (cond ((wcmatch e_type "LINE,ARC,CIRCLE,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE") (command "lengthen" e_name "") (setq tot_len (+ tot_len (getvar "PERIMETER"))) (ssdel e_name ss) ) ((wcmatch e_type "MLINE") (add_mline)) (e_type (ssdel e_name ss)) ) ) (prompt (strcat "\nTotal length is: " (rtos tot_len 2 2))) (setq en (car (entsel "Thay cho so : "))) (while (= en nil) (setq en (car (entsel "Thay cho so : "))) ) (setq elst (entget en)) (setq elstold (assoc 1 elst)) (setq elstnew (cons 1 (rtos tot_len 2 2))) (setq elst (subst elstnew elstold elst)) (entmod elst) (setq elst nil) (setq dtl nil) (command "_change" en "" "p" "c" "1" "") ;(START_PG) ;(setq obd (vlax-ename->vla-object (car (nentsel "\nChon text ghi chieu dai")))) ;(vla-put-textstring obd (rtos tot_len 2 2)) ;(END_PG) ;(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
Danh Cong 422 Báo cáo bài đăng Đã đăng Tháng 7 13, 2017 Bạn tìm trong lisp, thay thế đoạn mã Lisp: (command "lengthen" e_name "") (setq tot_len (+ tot_len (getvar "PERIMETER"))) Bằng: ;(command "lengthen" e_name "") ; (setq tot_len (+ tot_len (getvar "PERIMETER"))) (vl-load-com) (setq tot_len (+ tot_len (vla-get-Length (vlax-ename->vla-object e_name)))) Rồi thử lại xem thế nào. 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
buithengan1 1 Báo cáo bài đăng Đã đăng Tháng 7 18, 2017 Bạn tìm trong lisp, thay thế đoạn mã Lisp: (command "lengthen" e_name "") (setq tot_len (+ tot_len (getvar "PERIMETER"))) Bằng: ;(command "lengthen" e_name "") ; (setq tot_len (+ tot_len (getvar "PERIMETER"))) (vl-load-com) (setq tot_len (+ tot_len (vla-get-Length (vlax-ename->vla-object e_name)))) Rồi thử lại xem thế nào. Mình thử rồi mà vẫn ko dc bạn ơ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
Danh Cong 422 Báo cáo bài đăng Đã đăng Tháng 7 18, 2017 Bạn chụp cái ảnh màn hình. Khi thử với lisp thay thế câu lệnh vừa rồi, xem máy báo lỗi gì. Không thì lấy bản lệnh sửa này coi sao: Test http://www.cadviet.com/upfiles/7/124641_test.lsp 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
buithengan1 1 Báo cáo bài đăng Đã đăng Tháng 7 18, 2017 ok mình chỉnh dc rồi. cảm ơn bạn nhiều nha 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