ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 Em có lụm nhặt trên mạng được lisp autodim khá hay nhưng chỉ dùng được cho line, em chỉ lụm đc file VLX. Giờ em muốn nó dùng cho XLine thì phải làm ntn, mong anh chị giúp đỡ AUTO DIM.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
7o7 84 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 XLine mà cũng dim được sao? Bạn thử dim XLine bằng lệnh xem có được không. 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 4 phút trước, 7o7 đã nói: XLine mà cũng dim được sao? Bạn thử dim XLine bằng lệnh xem có được không. ý là khoảng cách giữa các XLine ấy 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 LISP KIA CHỌN LINE RỒI TỰ DIM, MÌNH MUỐN SỬA THÀNH XLINE MÀ K CÓ FILE 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 MÀ CÓ CŨNG CHƯA CHẮC BIETS SỬA EM MỚI TẬP TÀNH NÊN GÀ 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
NTHAHT 115 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 23 phút trước, ronaldo2002 đã nói: MÀ CÓ CŨNG CHƯA CHẮC BIETS SỬA EM MỚI TẬP TÀNH NÊN GÀ Thông thường, file .VLX thì không thể sửa được, chỉ có thể viết lại thôi bạn! 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 Vừa xong, NTHAHT đã nói: Thông thường, file .VLX thì không thể sửa được, chỉ có thể viết lại thôi bạn! VÂNG Ý EM LÀ NGUYÊN LÍ HOẠT ĐỘNG NÓ SẼ TƯƠNG TỰ LISP TRÊN, CHỨ CHO EM FILE LSP EM CŨNG K SỬA NỔI NÊN MỚI NHỜ MN Ạ 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
NTHAHT 115 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 Mình viết giúp bạn đây. X1_Y1.rar 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
Xuân Lộc 15 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 Autodim thì lên dùng bộ của Yqarch hoặc lệnh Qdim 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 2, 2024 14 giờ trước, NTHAHT đã nói: Mình viết giúp bạn đây. X1_Y1.rar tuyệt quá anh ạ, cảm ơn anh nhiều ạ. 1000 vote cho anh. Qua giờ em mới đăng nhập lại thấy đc mn giúp đỡ mà vui 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 21 giờ trước, NTHAHT đã nói: Mình viết giúp bạn đây. X1_Y1.rar Làm phiền a 1 chút ạ, em rất tôn trọng ng viết lisp như anh nma việc lúc load lisp có cái thông báo , mỗi khi vào cad có nhiều thông báo quá. Cả lisp của anh 3Duy cũng thế nên ấn thông báo 4 5 cái mong anh xóa bỏ giúp em cái thông báo đc ko anh. Nếu là file lsp em có thể tự xóa chứ vlx ko biết xóa sao a ạ. Cái này k phải là ko tôn trọng ng viết đâu e chỉ muốn tối ưu hóa thời gian thôi a ạ, mỗi lần mở lên 5 6 cái tab thông báo load lisp cũng hơi lâu. Nếu có gì k vừa ý mong anh bỏ qua cho em. 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
limfx 32 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 Mấy giây hiện thông báo có đáng gì với việc hữu ích rút ngắn thời gian mà lisp mang lại. Chúc bạn thành công! 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
NTHAHT 115 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 + Lisp ở dưới đây, để bạn có thể sửa thoả thích. + Ngoài ra mình còn làm thêm 3 lệnh khác là DX, DY, DXY. - Lệnh DX, DY tương tự lệnh X1, Y1 có khác chút là khi chọn điểm đặt dim, thì không phải kiểu pick điểm mà là rê chuột tương tự lệnh Dim của cad. - Lệnh DXY: tự động dò phương khi di chuột chọn điểm đặt dim. - Trước khi chọn điểm đặt chân dim có tuỳ chọn Dim tổng hay không [Yes/No], và có chuyển đổi kiểu dim theo phương X, Y hay tự động. (alert (apply 'strcat (list "AutoDIM kích th\U+01B0\U+1EDBc Line, Xline theo tr\U+1EE5c X & Y.\n" " + L\U+1EC7nh: X1 DIM theo tr\U+1EE5c X.\n" " + L\U+1EC7nh: Y1 DIM theo tr\U+1EE5c Y.\n" "\t- Ng\U+01B0\U+1EDDi vi\U+1EBFt: NTHAHT@CadViet.com-2024"))) (vl-load-com) (defun _Autodimxy_nthaht (dim / asp pcd pdd doc ent lsp rot ss) (setq asp (vlax-get (setq doc (vla-get-activedocument (vlax-get-acad-object))) (if (> (vla-get-activespace doc) 0) 'modelspace 'paperspace))) (while (and (princ (strcat "\nQuét ch\U+1ECDn Line, Ray, Xline \U+0111\U+1EC3 dim theo tr\U+1EE5c " dim "!")) (setq ss (ssget '((0 . "LINE,XLINE,RAY")))) (> (sslength ss) 1) (setq pcd (getpoint "\nV\U+1ECB trí chân Dim: ")) (setq pdd (getpoint "\nV\U+1ECB trí \U+0111\U+1EB7t Dim: " pcd))) (setq lsp nil) (while (and (setq ent (ssname ss 0)) (ssdel ent ss)) (setq lsp (cons (cdr (assoc 10 (entget ent))) lsp))) (cond ((eq dim "X") (setq lsp (vl-sort lsp '(lambda (x y) (< (car x) (car y)))) lsp (mapcar '(lambda (p) (list (cons (car p) (cdr pcd)) (cons (car p) (cdr pdd)))) lsp) rot 0)) ((eq dim "Y") (setq lsp (vl-sort lsp '(lambda (x y) (< (cadr x) (cadr y)))) lsp (mapcar '(lambda (p) (list (cons (car pcd) (cdr p)) (cons (car pdd) (cdr p)))) lsp) rot (* 0.5 pi)))) (mapcar '(lambda (x y / d) (if (> (distance (car x) (car y)) 1e-5) (progn (setq d (vlax-invoke asp 'AddDimRotated (car x) (car y) (cadr x) rot)) (entmod (list (cons -1 (vlax-vla-object->ename d)) (cons 8 "DIM")))))) lsp (cdr lsp))) (princ)) (defun C:X1 () (_Autodimxy_nthaht "X")) (defun C:Y1 () (_Autodimxy_nthaht "Y")) Dxy - Lisp này chỉ hiện lên bảng thông báo duy nhất lần load đầu tiên. 2 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 1 giờ} trướ}c, NTHAHT đã nói: + Lisp ở dưới đây, để bạn có thể sửa thoả thích. + Ngoài ra mình còn làm thêm 3 lệnh khác là DX, DY, DXY. - Lệnh DX, DY tương tự lệnh X1, Y1 có khác chút là khi chọn điểm đặt dim, thì không phải kiểu pick điểm mà là rê chuột tương tự lệnh Dim của cad. - Lệnh DXY: tự động dò phương khi di chuột chọn điểm đặt dim. - Trước khi chọn điểm đặt chân dim có tuỳ chọn Dim tổng hay không [Yes/No], và có chuyển đổi kiểu dim theo phương X, Y hay tự động. (alert (apply 'strcat (list "AutoDIM kích th\U+01B0\U+1EDBc Line, Xline theo tr\U+1EE5c X & Y.\n" " + L\U+1EC7nh: X1 DIM theo tr\U+1EE5c X.\n" " + L\U+1EC7nh: Y1 DIM theo tr\U+1EE5c Y.\n" "\t- Ng\U+01B0\U+1EDDi vi\U+1EBFt: NTHAHT@CadViet.com-2024"))) (vl-load-com) (defun _Autodimxy_nthaht (dim / asp pcd pdd doc ent lsp rot ss) (setq asp (vlax-get (setq doc (vla-get-activedocument (vlax-get-acad-object))) (if (> (vla-get-activespace doc) 0) 'modelspace 'paperspace))) (while (and (princ (strcat "\nQuét ch\U+1ECDn Line, Ray, Xline \U+0111\U+1EC3 dim theo tr\U+1EE5c " dim "!")) (setq ss (ssget '((0 . "LINE,XLINE,RAY")))) (> (sslength ss) 1) (setq pcd (getpoint "\nV\U+1ECB trí chân Dim: ")) (setq pdd (getpoint "\nV\U+1ECB trí \U+0111\U+1EB7t Dim: " pcd))) (setq lsp nil) (while (and (setq ent (ssname ss 0)) (ssdel ent ss)) (setq lsp (cons (cdr (assoc 10 (entget ent))) lsp))) (cond ((eq dim "X") (setq lsp (vl-sort lsp '(lambda (x y) (< (car x) (car y)))) lsp (mapcar '(lambda (p) (list (cons (car p) (cdr pcd)) (cons (car p) (cdr pdd)))) lsp) rot 0)) ((eq dim "Y") (setq lsp (vl-sort lsp '(lambda (x y) (< (cadr x) (cadr y)))) lsp (mapcar '(lambda (p) (list (cons (car pcd) (cdr p)) (cons (car pdd) (cdr p)))) lsp) rot (* 0.5 pi)))) (mapcar '(lambda (x y / d) (if (> (distance (car x) (car y)) 1e-5) (progn (setq d (vlax-invoke asp 'AddDimRotated (car x) (car y) (cadr x) rot)) (entmod (list (cons -1 (vlax-vla-object->ename d)) (cons 8 "DIM")))))) lsp (cdr lsp))) (princ)) (defun C:X1 () (_Autodimxy_nthaht "X")) (defun C:Y1 () (_Autodimxy_nthaht "Y")) Dxy - Lisp này chỉ hiện lên bảng thông báo duy nhất lần load đầu tiên. thanks a nhiều ạ, cảm ơn anh ạ quá nhiệt tình quá tuyệ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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 2 giờ trước, limfx đã nói: Mấy giây hiện thông báo có đáng gì với việc hữu ích rút ngắn thời gian mà lisp mang lại. Chúc bạn thành công! Vâng bản chất lisp là muốn thao tác nhanh nên em cũng nói lên suy nghĩ của bản thân thôi. Còn em luôn tôn trọng tác giả và mn đã giúp đỡ. Có những lisp e k nhờ đc thì phải bỏ tiền ra mua nên em luôn biết ơn những ng viết và chia sẽ free cho cộng đồng. 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 1 giờ} trướ}c, NTHAHT đã nói: + Lisp ở dưới đây, để bạn có thể sửa thoả thích. + Ngoài ra mình còn làm thêm 3 lệnh khác là DX, DY, DXY. - Lệnh DX, DY tương tự lệnh X1, Y1 có khác chút là khi chọn điểm đặt dim, thì không phải kiểu pick điểm mà là rê chuột tương tự lệnh Dim của cad. - Lệnh DXY: tự động dò phương khi di chuột chọn điểm đặt dim. - Trước khi chọn điểm đặt chân dim có tuỳ chọn Dim tổng hay không [Yes/No], và có chuyển đổi kiểu dim theo phương X, Y hay tự động. (alert (apply 'strcat (list "AutoDIM kích th\U+01B0\U+1EDBc Line, Xline theo tr\U+1EE5c X & Y.\n" " + L\U+1EC7nh: X1 DIM theo tr\U+1EE5c X.\n" " + L\U+1EC7nh: Y1 DIM theo tr\U+1EE5c Y.\n" "\t- Ng\U+01B0\U+1EDDi vi\U+1EBFt: NTHAHT@CadViet.com-2024"))) (vl-load-com) (defun _Autodimxy_nthaht (dim / asp pcd pdd doc ent lsp rot ss) (setq asp (vlax-get (setq doc (vla-get-activedocument (vlax-get-acad-object))) (if (> (vla-get-activespace doc) 0) 'modelspace 'paperspace))) (while (and (princ (strcat "\nQuét ch\U+1ECDn Line, Ray, Xline \U+0111\U+1EC3 dim theo tr\U+1EE5c " dim "!")) (setq ss (ssget '((0 . "LINE,XLINE,RAY")))) (> (sslength ss) 1) (setq pcd (getpoint "\nV\U+1ECB trí chân Dim: ")) (setq pdd (getpoint "\nV\U+1ECB trí \U+0111\U+1EB7t Dim: " pcd))) (setq lsp nil) (while (and (setq ent (ssname ss 0)) (ssdel ent ss)) (setq lsp (cons (cdr (assoc 10 (entget ent))) lsp))) (cond ((eq dim "X") (setq lsp (vl-sort lsp '(lambda (x y) (< (car x) (car y)))) lsp (mapcar '(lambda (p) (list (cons (car p) (cdr pcd)) (cons (car p) (cdr pdd)))) lsp) rot 0)) ((eq dim "Y") (setq lsp (vl-sort lsp '(lambda (x y) (< (cadr x) (cadr y)))) lsp (mapcar '(lambda (p) (list (cons (car pcd) (cdr p)) (cons (car pdd) (cdr p)))) lsp) rot (* 0.5 pi)))) (mapcar '(lambda (x y / d) (if (> (distance (car x) (car y)) 1e-5) (progn (setq d (vlax-invoke asp 'AddDimRotated (car x) (car y) (cadr x) rot)) (entmod (list (cons -1 (vlax-vla-object->ename d)) (cons 8 "DIM")))))) lsp (cdr lsp))) (princ)) (defun C:X1 () (_Autodimxy_nthaht "X")) (defun C:Y1 () (_Autodimxy_nthaht "Y")) Dxy - Lisp này chỉ hiện lên bảng thông báo duy nhất lần load đầu tiên. CÁC DX DY ĐÚNG LÀ ĐỈNH CỦA CHÓP LUÔN ANH ĐỠ PHẢI CĂN CUTDIM VỚI BẰNG DIM. HƠI THAM LAM NMA NẾU CÓ THỂ CHO EM XIN FILE LSP VỚI ANH, EM MUỐN TÙY CHỈNH TÊN LỆNH CHÚT. VÌ CÁI DX DY DXY NÀY ĂN ĐỨT CÁI X1 Y1 RỒ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
NTHAHT 115 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 nthaht_autodimxy Lisp này mình đã gỡ các lệnh Dx, Dy, Dxy. Nó chỉ còn hàm: nthaht_autodimxy Bạn muốn sửa tên lệnh thì làm như sau: tạo 1 file .lsp mới copy 3 dòng dưới vào sau đó đổi tên lệnh (hoặc copy vào 1 lisp nào đó). Load đồng thời lisp các lisp là được. (defun c:DX () (nthaht_autodimxy "X")) (defun c:DY () (nthaht_autodimxy "Y")) (defun c:DXY () (nthaht_autodimxy "XY")) 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
ronaldo2002 4 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 1 phút trước, NTHAHT đã nói: nthaht_autodimxy Lisp này mình đã gỡ các lệnh Dx, Dy, Dxy. Nó chỉ còn hàm: nthaht_autodimxy Bạn muốn sửa tên lệnh thì làm như sau: tạo 1 file .lsp mới copy 3 dòng dưới vào sau đó đổi tên lệnh (hoặc copy vào 1 lisp nào đó). Load đồng thời lisp các lisp là được. (defun c:DX () (nthaht_autodimxy "X")) (defun c:DY () (nthaht_autodimxy "Y")) (defun c:DXY () (nthaht_autodimxy "XY")) THANKS KIU A 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
Xuân Lộc 15 Báo cáo bài đăng Đã đăng Tháng 2 3, 2024 5 giờ trước, NTHAHT đã nói: nthaht_autodimxy Lisp này mình đã gỡ các lệnh Dx, Dy, Dxy. Nó chỉ còn hàm: nthaht_autodimxy Bạn muốn sửa tên lệnh thì làm như sau: tạo 1 file .lsp mới copy 3 dòng dưới vào sau đó đổi tên lệnh (hoặc copy vào 1 lisp nào đó). Load đồng thời lisp các lisp là được. (defun c:DX () (nthaht_autodimxy "X")) (defun c:DY () (nthaht_autodimxy "Y")) (defun c:DXY () (nthaht_autodimxy "XY")) Tiện cho em hỏi anh cho lisp dim được các đối tượng trong block không 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
NTHAHT 115 Báo cáo bài đăng Đã đăng Tháng 2 4, 2024 16 giờ trước, Xuân Lộc đã nói: Tiện cho em hỏi anh cho lisp dim được các đối tượng trong block không anh - Bạn thử thì biết mà! - Nếu dim xong mà các dim nằm trong block, thì bạn có thể dùng lệnh BEDIT để vào trong block mà DIM. - Các ý khác: Dim nằm ngoài block, dim nằm trong block nhưng không vào block bằng Bedit thì phải bổ sung code. 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