Nguyên Khải 0 Báo cáo bài đăng Đã đăng Tháng 8 16, 2019 Em có 1 bài toán được đặt ra như sau: "Có một Mtext/Text/Dtext ở 1 vị trí bất kì trong bản vẽ (cùng model/layout) và một đường dim kích thước, tạo 1 lisp lệnh biến Mtext/Text/Dtext đã có trở thành Text Override của đường dim mà không làm thay đổi vị trí ban đầu của đoạn text hay đường dim đó". (Xem hình minh họa bên dưới) Các pro giúp em giải quyết nó vớ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
Doan Nguyen Van 491 Báo cáo bài đăng Đã đăng Tháng 8 16, 2019 31 phút trước, Nguyên Khải đã nói: Em có 1 bài toán được đặt ra như sau: "Có một Mtext/Text/Dtext ở 1 vị trí bất kì trong bản vẽ (cùng model/layout) và một đường dim kích thước, tạo 1 lisp lệnh biến Mtext/Text/Dtext đã có trở thành Text Override của đường dim mà không làm thay đổi vị trí ban đầu của đoạn text hay đường dim đó". (Xem hình minh họa bên dưới) Các pro giúp em giải quyết nó với. Nếu dim giống bài toán trước của bác thì có thể dùng lisp này. (defun c:te (/ ndt ent1 ent2 dxf) (setq ent1 (ent_pick '("TEXT" "MTEXT" "DTEXT") "Pick TEXT")) (setq ent2 (ent_pick '("DIMENSION" ) "Pick DIMENSION")) (if (and ent1 ent2) (progn (setq ndt (Cdr (assoc 1 (entget ent1)))) (setq dxf (entget ent2)) (setq dxf (subst (cons 1 (strcat "<>" "\\X" ndt)) (assoc 1 dxf) dxf)) (entmod dxf) )) (princ)) (defun ent_pick (typ promp / ent) (if (not (listp typ)) (setq typ (list typ))) (setq typ (mapcar 'list typ)) (while (not ent) (while (not (setq ent (car (entsel (strcat "\n" promp)))))) (if (not (assoc (cdr (assoc 0 (entget ent))) typ)) (setq ent nil)) ) ent ) 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
Nguyên Khải 0 Báo cáo bài đăng Đã đăng Tháng 8 16, 2019 Hi bác Đoàn, sử dụng code của bác thì đáp ứng được 50% bài toán của em. 50% còn lại là phải đáp ứng đoạn text ở vị trí cũ (không xuất hiện thêm nội dung giống vậy 1 lần nữa) và gắn kết để trở thành "text override" của đường dim đã chọ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
Doan Nguyen Van 491 Báo cáo bài đăng Đã đăng Tháng 8 16, 2019 13 phút trước, Nguyên Khải đã nói: Hi bác Đoàn, sử dụng code của bác thì đáp ứng được 50% bài toán của em. 50% còn lại là phải đáp ứng đoạn text ở vị trí cũ (không xuất hiện thêm nội dung giống vậy 1 lần nữa) và gắn kết để trở thành "text override" của đường dim đã chọn. Không hiểu ý bạn lắm, bạn nên show 2 hình, 1 hình ban đầu, 1 hình kết quả có vẻ dễ hiểu hơ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
Nguyên Khải 0 Báo cáo bài đăng Đã đăng Tháng 8 16, 2019 57 phút trước, Doan Nguyen Van đã nói: Không hiểu ý bạn lắm, bạn nên show 2 hình, 1 hình ban đầu, 1 hình kết quả có vẻ dễ hiểu hơn Em xin giải thích rõ hơn nhé: Ban đầu: - Text ở vị trí ban đầu như hình. - Đường dim ở vị trí ban đầu như hình. Kết quả sau khi sử dụng lisp: -Text vẫn giữ nguyên vị trí như ban đầu, và trở thành "Text override" của đường dim - Đường dim vẫn giữ nguyên vị trí ban đầu. 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
Doan Nguyen Van 491 Báo cáo bài đăng Đã đăng Tháng 8 16, 2019 9 phút trước, Nguyên Khải đã nói: Kết quả sau khi sử dụng lisp: -Text vẫn giữ nguyên vị trí như ban đầu, và trở thành "Text override" của đường dim Bạn chỉ cách làm thủ công phần này cho mình thì mình mới viết vào lisp được, chứ mình chỉ biết cách tạo "text override" ở trong dim thôi, ở ngoài dim mình không biết 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