hongoanh93 5 Báo cáo bài đăng Đã đăng Tháng 5 1, 2020 Chào các anh chị em diễn đàn, em đang làm một công việc hay tiếp xúc với các block attribute ạ, hay chỉnh sửa, thêm bớt ký hiệu, text vào trước và sau các block đó.Công việc lặp đi lặp lại sửa rất lâu ạ,mong anh chị em diễn đàn giúp đỡ với ạ, em chân thành cảm ơn P/s: Em có đăng hình ảnh và file cad đính kèm dưới ạ. BAN VE MAU.dwg 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
nikizi 9 Báo cáo bài đăng Đã đăng Tháng 5 1, 2020 Bạn dùng lisp đánh số thứ tự bản vẽ được mà :D 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
CadExTools 102 Báo cáo bài đăng Đã đăng Tháng 5 1, 2020 tham khảo bản này của mình xem có phù hợp ko nhé https://youtu.be/9Bn3o1ciIyM 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 5 1, 2020 Có thể không cần dùng lisp. Trong express menu có 2 lệnh attout và attin: attout : xuất các giá trị thuộc tính ra file txt. Mở file txt này trong excel chỉnh sửa các giá trị thuộc tính này cho nhanh. Lưu file đã chỉnh sửa với đuôi txt. attin: update các giá trị thuộc tính bằng file txt vừa chỉnh sửa ở trên. Còn nếu dùng lisp thì Thiep cũng có lisp này, nhưng yêu cầu người dùng lisp phải copy thêm các file doslib vào trong thư mục support của autoCad. Các file doslib là file thư viện hàm hỗ trợ thêm để viết lisp, chép miễn phí ở trang web: https://wiki.mcneel.com/doslib/home 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 Lisp ở đây, lệnh là TBATT: Lisp sẽ yêu cầu nhiều câu: 1) Pick 1 block để lisp lấy tên thuộc tính, nếu pick không đúng, không phải là block hay block không có thuộc tính sẽ yêu cầu pick lại. 2) Thêm hay bớt .... 3) Chọn các block có thuộc tính để thay đổi. 4) * Nếu là thêm (t): lisp sẽ có 2 lần xuất hiện hộp thoại: 1 lần hỏi thêm tiền tố vào giá trị ATT, 1 lần hỏi thêm hậu tố vào giá trị ATT * Nếu là bớt (b): lisp sẽ có 2 lần xuất hiện hộp thoại: 1 lần hỏi: Xoá bao nhiêu chữ ở trước giá trị ATT; 1 lần hỏi: Xoá bao nhiêu chữ ở sau giá trị ATT Yêu cầu người dùng lisp phải copy file doslib vào thư mục support của autoCad: free ở trang https://wiki.mcneel.com/doslib/home ;;; LISP thêm bot string vào ATT ;;; by TrânThiêp 05/2020 ;;; 09188411230 (Defun loadDL (/ CPUxBit Name fullname bitD_L) (setq CPUxBit (if (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64") "x64" "" ) ) (setq Name (strcat "doslib" (substr (getvar "acadver") 1 2) CPUxBit ".arx")) (foreach sup (acet-str-to-list ";" (getvar "acadprefix")) (and (vl-string-search "\\support" sup) (findfile (setq fullname (strcat sup "\\" Name))) (vl-catch-all-error-p (vl-catch-all-apply 'arxload '(fullname))) (setq bitD_L T) ) ) bitD_L ) (defun sysvar-set (lst_setvar / strN var var_oldname n) (setq n 0 lstvar_thiep nil lstValue_thiep nil ) (repeat (/ (length lst_setvar) 2) (setq var (nth n lst_setvar) var_oldname (strcat "oldvar_thiep" (itoa n)) ) (setq lstvar_thiep (append lstvar_thiep (list var))) (set (read var_oldname) (getvar var)) (setq lstValue_thiep (append lstValue_thiep (list (read var_oldname)))) (setvar var (nth (+ n 1) lst_setvar)) (setq n (+ 2 n)) ) ) (defun sysvar-restore () (mapcar '(lambda (var value) (setvar var (eval value))) lstvar_thiep lstValue_thiep ) ) (vl-load-com) (defun *error* (msg) (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*") (princ (strcat "\n** Error: " msg " **")) ) (acet-sysvar-restore) (command "undo" "en") (princ) ) ;;;=========================================================================== (defun c:tbatt (/ ss entlst entblk tag_lst TTnil bit TT_lst TH_lst tag_lst_new) (command "undo" "be") (sysvar-set '("cmdecho" 0 "osmode" 0)) (while (OR (NOT (setq entblk (car (entsel "\nPick 1 block \U+0111\U+1EC3 l\U+1EA5y thu\U+1ED9c tính c\U+1EE7a block" ) ) ) ) (NOT (eq (cdr (assoc 0 (entget entblk))) "INSERT")) (if (null (setq tag_lst (acet-insert-attrib-get entblk))) (progn (acet-ui-message "BLock này không có thu\U+1ED9c tính" "Prompt" 4144 ) ) ) ) (prompt "\nPick ch\U+01B0a \U+0111úng, vui lòng pick l\U+1EA1i") ) (setq TTnil nil) (mapcar '(lambda (x) (setq TTnil (append TTnil (list (list (car x) ""))))) tag_lst ) (initget "Them Bot") (if (eq (getvar "users1") "") (setvar "users1" "T") ) (if (= (setq bit (getstring (acet-str-format "\nThêm hay B\U+1EDBt t\U+1EEB vào giá tr\U+1ECB thu\U+1ED9c tính: ([T]hem / [B]ot) <%1> " (getvar "users1") ) ) ) "" ) (setq bit (getvar "users1")) ) (setvar "users1" bit) (acet-ui-status "Select Blockreferences" "Prompt") (setq ss (ssget '((0 . "INSERT")))) (setq entlst (acet-ss-to-list ss)) (acet-ui-status) (if (loadDL) (progn (cond ((= (strcase bit) "T") (setq TT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Thêm ti\U+1EC1n t\U+1ED1 vào các giá tr\U+1ECB thu\U+1ED9c tính (n\U+1EBFu có)" TTnil ) ) (setq HT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Thêm h\U+1EADu t\U+1ED1 vào các giá tr\U+1ECB thu\U+1ED9c tính (n\U+1EBFu có)" TTnil ) ) (mapcar '(lambda (e) (setq tag_lst_new nil) (mapcar '(lambda (x tt ht) (setq tag_lst_new (append tag_lst_new (list (list (car x) (strcat (cdr tt) (cadr x) (cdr ht) ) ) ) ) ) ) (acet-insert-attrib-get e) TT_lst HT_lst ) (acet-insert-attrib-set e tag_lst_new nil) ) entlst ) ) ((= (strcase bit) "B") (setq TT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Xoá b\U+1EDBt bao nhiêu ch\U+1EEF \U+1EDF tr\U+01B0\U+1EDBc giá tr\U+1ECB thu\U+1ED9c tính" TTnil ) ) (setq HT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Xoá b\U+1EDBt bao nhiêu ch\U+1EEF \U+1EDF sau giá tr\U+1ECB thu\U+1ED9c tính (n\U+1EBFu có)" TTnil ) ) (mapcar '(lambda (e) (setq tag_lst_new nil) (mapcar '(lambda (x tt ht) (setq tag_lst_new (append tag_lst_new (list (list (car x) (substr (if (>= (atof (cdr tt) ) 1 ) (setq str (substr (cadr x) (1+ (fix (atof (cdr tt))))) ) (setq str (cadr x) ) ) 1 (- (strlen str ) (fix (atof (cdr ht) ) ) ) ) ) ) ) ) ) (acet-insert-attrib-get e) TT_lst HT_lst ) (acet-insert-attrib-set e tag_lst_new nil) ) entlst ) ) ) ) ;_PROGN ) ;_IF (sysvar-restore) (command "undo" "en") (princ "\nOK") ) 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
hongoanh93 5 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 2 giờ trước, thiep đã nói: Lisp ở đây, lệnh là TBATT: Lisp sẽ yêu cầu nhiều câu: 1) Pick 1 block để lisp lấy tên thuộc tính, nếu pick không đúng, không phải là block hay block không có thuộc tính sẽ yêu cầu pick lại. 2) Thêm hay bớt .... 3) Chọn các block có thuộc tính để thay đổi. 4) * Nếu là thêm (t): lisp sẽ có 2 lần xuất hiện hộp thoại: 1 lần hỏi thêm tiền tố vào giá trị ATT, 1 lần hỏi thêm hậu tố vào giá trị ATT * Nếu là bớt (b): lisp sẽ có 2 lần xuất hiện hộp thoại: 1 lần hỏi: Xoá bao nhiêu chữ ở trước giá trị ATT; 1 lần hỏi: Xoá bao nhiêu chữ ở sau giá trị ATT Yêu cầu người dùng lisp phải copy file doslib vào thư mục support của autoCad: free ở trang https://wiki.mcneel.com/doslib/home tbatt.lsp [✎] ;;; LISP thêm bot string vào ATT ;; by TrânThiêp 05/2020 ;; 09188411230 (Defun loadDL (/ CPUxBit Name fullname bitD_L) (setq CPUxBit (if (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64") "x64" "" ) ) (setq Name (strcat "doslib" (substr (getvar "acadver") 1 2) CPUxBit ".arx")) (foreach sup (acet-str-to-list ";" (getvar "acadprefix")) (and (vl-string-search "\\support" sup) (findfile (setq fullname (strcat sup "\\" Name))) (vl-catch-all-error-p (vl-catch-all-apply 'arxload '(fullname))) (setq bitD_L T) ) ) bitD_L ) (defun sysvar-set (lst_setvar / strN var var_oldname n) (setq n 0 lstvar_thiep nil lstValue_thiep nil ) (repeat (/ (length lst_setvar) 2) (setq var (nth n lst_setvar) var_oldname (strcat "" (itoa n)) ) (setq lstvar_thiep (append lstvar_thiep (list var))) (set (read var_oldname) (getvar var)) (setq lstValue_thiep (append lstValue_thiep (list (read var_oldname)))) (setvar var (nth (+ n 1) lst_setvar)) (setq n (+ 2 n)) ) ) (defun sysvar-restore () (mapcar '(lambda (var value) (setvar var (eval value))) lstvar_thiep lstValue_thiep ) ) (vl-load-com) (defun *error* (msg) (or (wcmatch (strcase msg) "") (princ (strcat "\n** Error: " msg " ")) ) (acet-sysvar-restore) (command "" "") (princ) ) ;;;=========================================================================== (defun c:tbatt (/ ss entlst entblk tag_lst TTnil bit TT_lst TH_lst tag_lst_new) (command "" "") (sysvar-set '("" 0 "" 0)) (while (OR (NOT (setq entblk (car (entsel "\nPick 1 block \U+0111\U+1EC3 l\U+1EA5y thu\U+1ED9c tính c\U+1EE7a " ) ) ) ) (NOT (eq (cdr (assoc 0 (entget entblk))) "")) (if (null (setq tag_lst (acet-insert-attrib-get entblk))) (progn (acet-ui-message "BLock này không có thu\U+1ED9c " "" 4144 ) ) ) ) (prompt "\nPick ch\U+01B0a \U+0111úng, vui lòng pick ") ) (setq TTnil nil) (mapcar '(lambda (x) (setq TTnil (append TTnil (list (list (car x) ""))))) tag_lst ) (initget "Them Bot") (if (eq (getvar "users1") "") (setvar "users1" "T") ) (if (= (setq bit (getstring (acet-str-format "\nThêm hay B\U+1EDBt t\U+1EEB vào giá tr\U+1ECB thu\U+1ED9c tính: ([T]hem / [B]ot) <%1> " (getvar "users1") ) ) ) "" ) (setq bit (getvar "users1")) ) (setvar "users1" bit) (acet-ui-status "Select Blockreferences" "Prompt") (setq ss (ssget '((0 . "INSERT")))) (setq entlst (acet-ss-to-list ss)) (acet-ui-status) (if (loadDL) (progn (cond ((= (strcase bit) "T") (setq TT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Thêm ti\U+1EC1n t\U+1ED1 vào các giá tr\U+1ECB thu\U+1ED9c tính (n\U+1EBFu có)" TTnil ) ) (setq HT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Thêm h\U+1EADu t\U+1ED1 vào các giá tr\U+1ECB thu\U+1ED9c tính (n\U+1EBFu có)" TTnil ) ) (mapcar '(lambda (e) (setq tag_lst_new nil) (mapcar '(lambda (x tt ht) (setq tag_lst_new (append tag_lst_new (list (list (car x) (strcat (cdr tt) (cadr x) (cdr ht) ) ) ) ) ) ) (acet-insert-attrib-get e) TT_lst HT_lst ) (acet-insert-attrib-set e tag_lst_new nil) ) entlst ) ) ((= (strcase bit) "B") (setq TT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Xoá b\U+1EDBt bao nhiêu ch\U+1EEF \U+1EDF tr\U+01B0\U+1EDBc giá tr\U+1ECB thu\U+1ED9c tính" TTnil ) ) (setq HT_lst (dos_proplist "Change ATT value lisp by Trân Thiêp" "Xoá b\U+1EDBt bao nhiêu ch\U+1EEF \U+1EDF sau giá tr\U+1ECB thu\U+1ED9c tính (n\U+1EBFu có)" TTnil ) ) (mapcar '(lambda (e) (setq tag_lst_new nil) (mapcar '(lambda (x tt ht) (setq tag_lst_new (append tag_lst_new (list (list (car x) (substr (if (>= (atof (cdr tt) ) 1 ) (setq str (substr (cadr x) (1+ (fix (atof (cdr tt))))) ) (setq str (cadr x) ) ) 1 (- (strlen str ) (fix (atof (cdr ht) ) ) ) ) ) ) ) ) ) (acet-insert-attrib-get e) TT_lst HT_lst ) (acet-insert-attrib-set e tag_lst_new nil) ) entlst ) ) ) ) ;_PROGN ) ;_IF (sysvar-restore) (command "undo" "en") (princ "\nOK") ) Dạ, cháu cảm ơn chú nhiều ạ, cháu làm theo hướng dẫn của chú, đánh lệnh --> chọn đối tượng block att--> thêm hoặc bớt (T hoặc B)---> mà nó báo như thế này, cháu đợi lâu quá click vào block att thì không có hiện tượng gì nữa cả ạ, mong chú xem xét ạ 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
hongoanh93 5 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 Cháu lang thang vô tình gặp Lisp của anh này cũng rất hay nhưng nó lại không có bớt tiền tố/ hậu tố ạ, nhờ chú @thiep xem thử ạ 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 1 giờ trước, hongoanh93 đã nói: Dạ, cháu cảm ơn chú nhiều ạ, cháu làm theo hướng dẫn của chú, đánh lệnh --> chọn đối tượng block att--> thêm hoặc bớt (T hoặc B)---> mà nó báo như thế này, cháu đợi lâu quá click vào block att thì không có hiện tượng gì nữa cả ạ, mong chú xem xét ạ Ui trời, lisp tiếp tục nhắc chọn các block có thuộc tính thì cứ chọn đi, chọn theo kiểu window từ dưới lên trên đi. 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
quocmanh04tt 634 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 Link ở dưới video. 1 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
hongoanh93 5 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 6 giờ trước, thiep đã nói: Ui trời, lisp tiếp tục nhắc chọn các block có thuộc tính thì cứ chọn đi, chọn theo kiểu window từ dưới lên trên đi. Cháu thử lại rồi, không biết tại máy cháu hay phiên bản cad cháu sài (cháu sài cad 2020) mà nó lại không chạy nhỉ, nó hiện thông báo như hình bên dưới đó ạ, không xuất hiện thêm bảng để tùy chỉnh, nhưng cháu cảm ơn chú nhiều đã giúp đỡ ạ 3 giờ trước, quocmanh04tt đã nói: Link ở dưới video. Cảm ơn anh, lisp của anh rất hay , lại có thêm chức năng thay thế nữa chứ. 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 Lỗi là lisp chưa thấy bạn copy file doslib.arx phù hợp (miễn phí) vào thư mục support của autocad. Hiện doslib đã có hỗ trợ đến cad2019. Bạn dùng cad 2020, quá hớp. Dùng lisp của quocmanh cũng được nhưng nếu ở 1 blockRef có ATT nhiều hơn 4 thì Thiep nghĩ lisp sẽ không phù hợp nữa. 1 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
quocmanh04tt 634 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 13 phút trước, thiep đã nói: Dùng lisp của quocmanh cũng được nhưng nếu ở 1 blockRef có ATT nhiều hơn 4 thì Thiep nghĩ lisp sẽ không phù hợp nữa. Chắc bác chỉ mới xem hình hoặc video thì bác mới quả quyết vậy! P/s: Hiện doslib đã hỗ trợ đến cad 2021 rồi bác 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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 12 phút trước, quocmanh04tt đã nói: Chắc bác chỉ mới xem hình hoặc video thì bác mới quả quyết vậy! Bởi vì đâu có đọc được file vlx của quocmanh đâu. Chỉ thấy hộp thoại thô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
quocmanh04tt 634 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 9 phút trước, thiep đã nói: Bởi vì đâu có đọc được file vlx của quocmanh đâu. Chỉ thấy hộp thoại thôi. VLX thì đúng là bình thường không đọc được, nhưng vẫn có thể test. Nếu bác nói 40 ATT thì có thể, vì khi đó hộp thoại nó quá dà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
thiep 365 Báo cáo bài đăng Đã đăng Tháng 5 2, 2020 20 phút trước, quocmanh04tt đã nói: VLX thì đúng là bình thường không đọc được, nhưng vẫn có thể test. Nếu bác nói 40 ATT thì có thể, vì khi đó hộp thoại nó quá dài... Thì ra là bị lừa, hộp thoại được thiết kế trong file chạy luôn. Xin lỗi Quocmanh nhe. He he he. 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
hongoanh93 5 Báo cáo bài đăng Đã đăng Tháng 5 3, 2020 Dạ, em cảm ơn hai tiền bối nhiều, chúc 2 bác thật nhiều sức khỏe ạ 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
tranducanh 10 Báo cáo bài đăng Đã đăng Tháng 5 5, 2020 Vào lúc 1/5/2020 tại 11:37, hongoanh93 đã nói: Chào các anh chị em diễn đàn, em đang làm một công việc hay tiếp xúc với các block attribute ạ, hay chỉnh sửa, thêm bớt ký hiệu, text vào trước và sau các block đó.Công việc lặp đi lặp lại sửa rất lâu ạ,mong anh chị em diễn đàn giúp đỡ với ạ, em chân thành cảm ơn P/s: Em có đăng hình ảnh và file cad đính kèm dưới ạ. BAN VE MAU.dwg ko biết bạn đã tìm được đúng ý bạn chưa vì mình tìm trên diễn đàn thấy có lisp đơn giản mà hiệu quả. 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
hongoanh93 5 Báo cáo bài đăng Đã đăng Tháng 5 5, 2020 15 giờ trước, tranducanh đã nói: ko biết bạn đã tìm được đúng ý bạn chưa vì mình tìm trên diễn đàn thấy có lisp đơn giản mà hiệu quả. ok đúng ý rồi bạn ạ, còn lisp trên diễn đàn như thế nào nhỉ, mình tìm hoài không thấy 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
tranducanh 10 Báo cáo bài đăng Đã đăng Tháng 5 6, 2020 4 giờ trước, hongoanh93 đã nói: ok đúng ý rồi bạn ạ, còn lisp trên diễn đàn như thế nào nhỉ, mình tìm hoài không thấy Attribute Numbering.LSP Bạn thử dùng cái này nhé, mình thấy nó rất đơn giản mà hiệu quả. 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
hongoanh93 5 Báo cáo bài đăng Đã đăng Tháng 5 6, 2020 5 giờ trước, tranducanh đã nói: Attribute Numbering.LSP Bạn thử dùng cái này nhé, mình thấy nó rất đơn giản mà hiệu quả. ok, cảm ơn bạn, vì chia sẻ lisp 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
đặng phụng 5 Báo cáo bài đăng Đã đăng Tháng 10 5, 2021 Thân chào các sư huynh. e có 1 vấn đề nhỏ xin huynh nào giúp đỡ . e có 1 lisp chèn giá trị nội dung text vào 1 thuộc tính trong block ATT tuy nhiên lisp chỉ cho phép chèn text đã có trong bản vẽ. Giờ e muốn lisp làm được cả 2 nguồn là nhập nội dung vào với chọn text đã có trên bản vẽ. nhờ các a giúp ạ. CHEN NOI DUNG TEXT VAO BLOCK THUOC TINH (DB).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
đặng phụng 5 Báo cáo bài đăng Đã đăng Tháng 10 6, 2021 nhờ các huynh giúp 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
alisp 72 Báo cáo bài đăng Đã đăng Tháng 10 6, 2021 4 giờ trước, đặng phụng đã nói: nhờ các huynh giúp với. Lisp này có ghi tên rõ rõ ràng ràng : ;Doan Van Ha - CADViet.com (03-12-2011) Bác ấy không giúp thì chẳng ai giúp đâ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
Namvanvo 44 Báo cáo bài đăng Đã đăng Tháng 10 11, 2021 Vào lúc 5/10/2021 tại 16:25, đặng phụng đã nói: Thân chào các sư huynh. e có 1 vấn đề nhỏ xin huynh nào giúp đỡ . e có 1 lisp chèn giá trị nội dung text vào 1 thuộc tính trong block ATT tuy nhiên lisp chỉ cho phép chèn text đã có trong bản vẽ. Giờ e muốn lisp làm được cả 2 nguồn là nhập nội dung vào với chọn text đã có trên bản vẽ. nhờ các a giúp ạ. CHEN NOI DUNG TEXT VAO BLOCK THUOC TINH (DB).lsp Bác thử file em gửi xem được không ạ. CHEN NOI DUNG TEXT VAO BLOCK THUOC TINH (DB1).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
Lean 0 Báo cáo bài đăng Đã đăng Tháng 10 11, 2021 Các sư Huynh trong lĩnh vực xây dựng ơi. Hãy nắm lấy thời cơ này: Thời cơ để doanh nghiệp ngành xây dựng Việt Nam thay thế Trung Quố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