Trong bài viết này, tôi sẽ tổng hợp một số lisp AutoCAD mà tôi đã viết và chia sẻ trên trang cá nhân Facebook cũng như các nhóm thiết kế. Những lisp này là những công cụ rất nhỏ, hữu ích khi giải quyết một mục đích cụ thể, cho một tình huống cụ thể.
Tất cả các công cụ dưới đây đều được cung cấp hoàn toàn miễn phí. Bạn có thể sử dụng, chia sẻ, thay đổi, tùy theo ý thích của bạn để phù hợp với công việc. Về lý thuyết, các lisp này tương thích với mọi phiên bản AutoCAD, tuy nhiên, nếu bạn gặp vấn đề khi sử dụng, hãy liên hệ với tôi.
MỤC LỤC
Hướng dẫn chung
Các lisp tải về thường sẽ có dạng file nén ZIP. Bạn cần giải nén để lấy file LSP. Chúng đều có thể load vào AutoCAD bằng lệnh Appload. Để nó có thể load vào AutoCAD mỗi khi khởi động, hãy làm theo các bước sau:
- Mở AutoCAD và gõ lệnh APPLOAD trên dòng lệnh, sau đó nhấn Enter.
- Cửa sổ Load/Unload Applications hiện ra. Bấm Contents… ở phía dưới phần Startup Suite.
- Trong cửa sổ Startup Suite, bấm vào Add… và chọn các lisp bạn cần.
- Bấm OK. Từ giờ các lisp sẽ được tự động load mỗi khi khởi động.
Lệnh cho các LSP được viết ở sau dấu gạch ngang. Ví dụ SumAreaPolyline-SAP.lsp, sẽ có lệnh tắt là SAP. Nếu bạn muốn thay đổi lệnh này, hãy mở file LSP bằng Notepad. Sau đó chỉnh sửa lệnh tắt sau chữ defun. Lệnh tắt không giới hạn số ký tự, nhưng hãy giữ nó ngắn gọn để gọi lệnh nhanh nhất. Cũng nên đảm bảo rằng nó không bị trùng lặp với các lệnh có sẵn trong AutoCAD.
SumAreaPolyline (SAP)
Tính tổng diện tích của các Polyline đang chọn, và tạo một text với chiều cao do người dùng nhập. Chọn các Polyline cần tính, gõ SAP, nhập chiều cao, sau đó pick điểm đặt text. Diện tích được mặc định chuyển từ mm2 > m2. Nếu bạn muốn giữ đơn vị gốc là mm2, ở dòng 24, hãy thay 1000000 thành 1.
SumLengthPolyline (SLP)
Tính tổng chiều dài của các Polyline đang chọn, và tạo một text với chiều cao do người dùng nhập. Chọn các Polyline cần tính, gõ SLP, nhập chiều cao, sau đó pick điểm đặt text. Chiều dài được mặc định chuyển từ mm > m. Nếu bạn muốn giữ đơn vị gốc là mm2, ở dòng 25, hãy thay 1000 thành 1.
QuickBlock (QB)
Tạo block nhanh các đối tượng đang được chọn với tên tự động. Thay thế cho combo Ctrl + Shift + C hoặc Ctrl + Shift + X và Ctrl + Shift + V.
QuickRotate (QR)
Dùng để xoay nhanh 45 độ, không cần chọn gốc xoay và không bị mất vùng chọn. Chỉ áp dụng cho 1 block. Nếu muốn đổi thành 90 độ, sửa dòng thứ 5 thành (setq ang 90.0).
SetDim (SD)
Lisp để chuyển style DIM nhanh. Dành cho những bản vẽ có quá nhiều kiểu style dim khi nhận được từ đối tác. Gần giống với lệnh Make Current của Layer. Để sử dụng, chọn 1 dim bất kỳ, gõ lệnh SD. Lisp sẽ chuyển style dim và cả active layer sang cùng kiểu dim bạn đang chọn.
RandomRotate (RRT)
Lisp để xoay ngẫu nhiên các đối tượng được chọn. Lưu ý là ấn lệnh RRT trước, và chọn sau.
RandomScale (RSC)
Lisp để scale ngẫu nhiên các đối tượng được chọn. Lưu ý là ấn lệnh RSC trước, và chọn sau.
BlockToDefaultLayer (BDL)
Đưa toàn bộ các đối tượng trong block về layer 0. Thường được sử dụng để sửa nhanh nét và màu của các thư viện đồ đạc. Cập nhật: lisp sẽ chỉ hoạt động với những block đang chọn thay vì áp dụng cho toàn bộ bản vẽ như trước.
CenterBasepoint (CB)
Đưa basepoint của các block đang chọn về trung tâm của block. Lisp sẽ tính toán offset để không làm thay đổi vị trí và hiển thị của nó trên bản vẽ.
CenterText (LCT-MCT-RCT)
Chỉnh justify của các text đang chọn về Left Center (LCT), Middle Center (MCT), hoặc Right Center (RCT). Thay thế cho việc lăn chuột trong bảng Properties. Cập nhật: sửa lỗi chữ bị nhảy về gốc tọa độ.
RotateViewport (R1-R2-RR)
Xoay viewport của AutoCAD 90 độ thuận chiều kim đồng hồ (R1) hoặc ngược chiều kim đồng hồ (R2). RR để reset về mặc định.
LoBan (LB1-LB2-LB3)
Kiểm tra kích thước là “tốt” hay “xấu” theo thước Lỗ Ban 52.2cm (LB1), 42.9cm (LB2) và 38.8cm (LB3). Cách dùng: gõ lệnh tương ứng với hệ thước muốn dùng, sau đó chọn những dim kích thước muốn kiểm tra. Kết quả sẽ hiện sau giá trị dim. Hỗ trợ undo.
LockUnlockViewport (LV-UV)
Khóa (Lock Viewport – LV) hoặc mở khóa (Unlock Viewport – UV) tất cả các viewport trong tất cả các layout trong bản vẽ hiện tại.
AutoBlock (B)
Kết hợp giữa QuickBlock (QB) và CenterBasepoint (CB). Lisp sẽ block những gì đang chọn, với basepoint tự động ở chính giữa. Không cần nhập tên block, và không cần phải pick điểm. Chú ý quan trọng: hiện tại, lệnh tắt đặt cho lisp này là B, tức là nó sẽ thay thế lệnh Block mặc định trong AutoCAD. Nếu muốn dùng lệnh Block mặc định để nhập tên và tọa độ, hãy gõ BL. Nếu bạn muốn chỉnh lệnh tắt, mở file lisp lên và chỉnh dòng đầu tiên defun c:B thành defun c:AB hoặc lệnh tắt bạn muốn. Cập nhật: sửa lỗi trùng tên block khi copy sang bản vẽ khác.
SetLayerHatch (SLH)
Đưa tất cả các đối tượng hatch trong bản vẽ (kể cả trong block) về layer đang được kích hoạt.
SetLayerText (SLT)
Đưa tất cả các đối tượng text trong bản vẽ (kể cả trong block) về layer đang được kích hoạt.
SetLayerDim (SLD)
Đưa tất cả các đối tượng dimension trong bản vẽ (kể cả trong block) về layer đang được kích hoạt. Lưu ý: với đối tượng dimension trong block, bạn cần định nghĩa lại block để nó có thể hiển thị đúng. Mẹo là click vào block, chỉnh sửa linh tinh, sau đó Ctrl + Z, rồi bấm Save Changes. Đây là một “tính năng” của AutoCAD.
QuickRotate (QR1-QR2-QR3-QR4)
Xoay các đối tượng đang chọn +90 độ (QR1), -90 độ (QR2), +45 độ (QR3), -45 độ (QR4), quanh tâm của các đối tượng. Chỉnh sửa, thêm góc và hoặc thay đổi lệnh tắt bằng cách mở file lsp, và điều chỉnh 4 dòng defun cuối cùng.
ResetRotate (RR)
Reset góc xoay các block và text đang chọn về 0.
Lần cập nhật cuối: 28/08/2024. Vẫn đang tiếp tục cập nhật…
cảm ơn sếp Dũng nhiều.
cái BDL hay quá a ơi xDxD cảm ơn anh nhé
e nghĩ có vài lisp sẽ có nhiều người cần
1 là lisp set hatch của đối tượng làm mặc định
2 là lisp lấy hatch của một bản vẽ mà trong mấy ko có
3 matchprop tỉ lệ scale của đối tượng block, trong th scale mấy kí hiệu trục với các kí hiệu khác, muốn có 1 tỉ lệ khác
4 lisp đánh số tt bản vẽ nhanh
Cảm ơn em đã góp ý nhé! Để anh nghiên cứu thử xem.
lisp AutoBlock của a rất hay,e đang sử dụng thì thấy có 1 vấn đề là có nhiều đối tượng block tự động xong là nó bị lệch ra khỏi vị trí ban đầu
Cảm ơn em đã phản hồi. Anh xác nhận lỗi và sẽ tìm cách khắc phục.
Lisp của anh khá hay vã hữu ích. Anh có thể bổ sung thêm 1 số lisp rất cần như là lisp gộp bản vẽ , lisp nesting sheet metal.
Cảm ơn em đã góp ý nhé! Nếu có thể, hãy mô tả cụ thể hơn về lisp em cần.