Lisp chuyển layer là bộ lệnh gõ tắt mà dân vẽ kết cấu hay dùng nhất. Gõ một chữ số là đổi được lớp đang vẽ. Gõ chữ A kèm số là đẩy nét đã vẽ sang lớp khác. Bài này viết lại từ chính tệp gốc của trang. Gói đã được tải về, giải nén và đọc từng dòng mã nguồn. Bộ tiện ích gom sẵn cho việc khác nằm ở bộ lisp AutoCAD tổng hợp.
Tóm tắt. Tệp có đúng 48 lệnh, chia ba nhóm. Nhóm chữ số từ 1 đến 88 đổi lớp hiện hành cho nét sắp vẽ. Nhóm chữ A từ A1 đến A88 mới là nhóm chuyển nét đã vẽ sang lớp khác, và bản cũ của bài này không hề nhắc tới. Lệnh LOP tạo sẵn 18 lớp chứ không phải 9. Mật khẩu giải nén là autocad123. Bộ lisp chuyển layer này không gọi hàm acet- nào và cũng không gọi ActiveX, nên chạy được cả trên AutoCAD LT từ bản 2024 trở đi.
Lisp chuyển layer gồm ba nhóm lệnh khác hẳn nhau
Trong nghề, hai chữ chuyển lớp bị dùng lẫn cho hai việc hoàn toàn khác nhau. Việc thứ nhất là đổi lớp hiện hành: bạn chưa vẽ gì cả, chỉ báo cho AutoCAD biết nét sắp tới rơi vào lớp nào. Việc thứ hai là chuyển đối tượng: nét đã nằm trên bản vẽ rồi, bạn chọn nó và gán cho nó một lớp khác. Bản cũ của bài này chỉ mô tả việc thứ nhất, còn phần hỏi đáp cuối bài lại mô tả việc thứ hai, làm người đọc tưởng đó là một.
Mở tệp ra thì thấy tác giả làm cả hai, bằng hai nhóm lệnh tách bạch. Nhóm chữ số lo lớp hiện hành, nhóm chữ A lo đối tượng đã vẽ. Còn chín lệnh cuối tệp thì không chuyển gì cả, chúng chỉ bật tắt, khoá và đóng băng lớp.
Hình 1. Ba nhóm lệnh trong tệp. Nhớ được cái khác nhau giữa nhóm chữ số và nhóm chữ A là dùng đúng ngay từ lần đầu.
Tải bộ lệnh và mật khẩu giải nén
Bộ lệnh layer s046 cho AutoCAD
Một tệp lisp duy nhất gồm 48 lệnh. Có nhóm đổi lớp hiện hành, nhóm chuyển đối tượng, lệnh LOP tạo lớp và nhóm quản lý ẩn hiện.
- Định dạng RAR lồng ba lớp
- Dung lượng 75 KB
- Số tệp 1 tệp .lsp
Mật khẩu giải nén: autocad123
Giải nén xong, bên trong chỉ có đúng một tệp tên lisp layer.lsp, nặng 7.931 byte. Không có bản cài đặt hay tệp phụ nào khác.
Đừng theo ảnh hướng dẫn nằm trong gói. Gói kèm một ảnh JPG bảo bạn ra Google tìm một bài khác rồi kéo xuống cuối bài để lấy mật khẩu. Đường vòng đó bỏ rồi, mật khẩu in ngay trong khung tải phía trên. Cũng xin nhớ mỗi gói trên trang một mật khẩu riêng, gói này mở bằng autocad123 chứ không phải chuỗi bạn đã dùng cho gói khác.
Nhóm chữ số: đổi lớp cho nét sắp vẽ
Mười chín lệnh này đều chạy cùng một câu: gọi lệnh LAYER với tuỳ chọn Make. Theo tài liệu Autodesk, Make tạo lớp nếu chưa có rồi đặt luôn lớp đó làm hiện hành, nên bạn không cần tạo lớp trước. Gõ số xong là vẽ được ngay.
| Gõ | Lớp | Màu | Kiểu đường |
|---|---|---|---|
| 0 | 0 | giữ nguyên | giữ nguyên |
| 00 | Defpoints | 5 lam | giữ nguyên |
| 1 | KC-Thay | 3 lục | giữ nguyên |
| 2 | KC-Manh | 8 | giữ nguyên |
| 3 | KC-Truc | 13 | CENTER |
| 4 | KC-Dim | 8 | giữ nguyên |
| 5 | KC-Mb | 8 | giữ nguyên |
| 6 | KC-Khuat | 9 | HIDDEN |
| 7 | KC-Betong | 6 tím | giữ nguyên |
| 8 | KC-Thepdai | 6 tím | giữ nguyên |
| 9 | KC-Thep | 4 lục lam | giữ nguyên |
| 11 | KC-Hatch | 250 | giữ nguyên |
| 22 | KC-Pc | 7 trắng đen | giữ nguyên |
| 33 | KC-Pile | 9 | giữ nguyên |
| 44 | KC-Tencaukien | 9 | giữ nguyên |
| 55 | KC-Opening | 2 vàng | giữ nguyên |
| 66 | KC-Text | 31 | giữ nguyên |
| 77 | KC-Chidan | 9 | giữ nguyên |
| 88 | KC-Cotthep | 8 | giữ nguyên |
Hai lệnh trong bảng cần nói thêm. Lệnh 3 gán kiểu đường CENTER cho lớp trục, lệnh 6 gán HIDDEN cho lớp nét khuất. Nếu bản vẽ của bạn chưa nạp hai kiểu đường đó, nên chạy lệnh LINETYPE nạp trước cho chắc, rồi mới gõ số. Mẫu tô cho lớp KC-Hatch có ở lisp hatch bê tông cốt thép.
Lệnh 00 đưa bạn về lớp Defpoints. Đây là lớp AutoCAD tự sinh ra khi bản vẽ có ít nhất một kích thước, và tài liệu Autodesk ghi rõ lớp này được đặt sẵn là không in. Vẽ nét dựng hình lên đó thì nhìn thấy khi làm việc mà không hiện trên bản in, rất tiện. Khi in cả tập thì dùng lisp in hàng loạt bản vẽ. Nhưng đúng vì thế mà đặt nhầm nét thật lên Defpoints là bản in mất nét, và bạn sẽ mất buổi chiều đi tìm nguyên nhân.
Nhóm chữ A: đẩy nét đã vẽ sang lớp khác
Đây là phần bản cũ bỏ sót hoàn toàn, mà lại là phần đúng với cái tên của bài. Mười chín lệnh chữ A dùng đúng bảng tên lớp ở trên, chỉ thêm chữ A đằng trước. Đó là A0, A00, A1 đến A9, rồi A11, A22, A33, A44, A55, A66, A77 và A88.
Cách chạy thì ngược với nhóm số. Bạn gõ lệnh trước, AutoCAD hỏi chọn đối tượng, bạn quét chọn rồi Enter, và mọi nét vừa chọn nhảy sang lớp tương ứng. Bên trong, tác giả gọi lệnh CHANGE với nhánh Properties rồi nhánh LAyer và điền sẵn tên lớp, nên bạn không phải gõ tên. Đó cũng là điểm mạnh của cách làm này so với thao tác tay: không có cơ hội gõ sai tên lớp.
Đừng Enter suông ở dòng chọn đối tượng. Nếu bạn Enter mà chưa chọn gì, lệnh vẫn chạy tiếp và lấy tập chọn của lần chọn trước đó. Kết quả là một nhóm nét khác, có khi ở tận góc bản vẽ, bị đổi lớp mà bạn không hay. Gặp rồi thì Ctrl+Z một cái là xong, nhưng phải để ý mà bắt.
Lệnh LOP tạo sẵn 18 lớp trong bản vẽ trắng
Bản cũ viết lệnh LOP tạo các lớp màu từ 1 đến 9. Đọc mã thì con số không phải vậy: lệnh chạy 18 dòng, tạo 18 lớp, và bảng màu dùng tới cả 13, 31 và 250. Ảnh chụp cũ của chính bài này cũng xác nhận, khung Layer Properties Manager đếm được 20 lớp gồm 18 lớp do LOP tạo, lớp 0 và một lớp tên Lisp có sẵn trong bản vẽ mẫu.

Hình 2. Bảng Layer Properties Manager sau khi gõ LOP. Cột Color khớp từng dòng với mã nguồn: KC-Truc màu 13 kiểu đường CENTER, KC-Text màu 31, KC-Thepdai màu tím.
Một chỗ nữa cần nói lại cho đúng. Bản cũ ghi bộ lớp này chuẩn theo TCVN. Không có tiêu chuẩn Việt Nam nào quy định danh mục tên lớp cho bản vẽ CAD. Số hiệu TCVN 13567 mà nhiều người tra ra là tiêu chuẩn về lớp mặt đường bê tông nhựa, chẳng liên quan gì. Tiêu chuẩn quốc tế về đặt tên lớp là ISO 13567, nhưng cách đặt tên trong đó khác hẳn bộ KC- này. Vậy nên hiểu đúng là đây chỉ là quy ước riêng của một người làm kết cấu. Dùng trong nội bộ thì tốt, còn gửi bản vẽ ra ngoài thì phải theo quy ước của hồ sơ đó.
Chín lệnh quản lý lớp và bản thay thế trong AutoCAD 2026
Phần cuối tệp là chín lệnh không dính gì tới chuyện chuyển lớp. Chúng ra đời thời AutoCAD chưa có sẵn bộ công cụ lớp, còn nay thì bản 2026 đã có đủ, kể cả trên AutoCAD LT. Bảng dưới đối chiếu để bạn tự quyết định giữ lệnh nào.
| Gõ | Việc | Lệnh sẵn có 2026 | Nên dùng cái nào |
|---|---|---|---|
| LP | Chọn một nét, lấy lớp của nó làm lớp hiện hành | LAYMCUR | Như nhau, LP gõ nhanh hơn |
| LK | Chọn một nét, khoá lớp của nó | LAYLCK | Như nhau |
| LUU | Chọn một nét, mở khoá lớp của nó | LAYULK | Như nhau |
| LU | Mở khoá toàn bộ lớp | không có lệnh LAY nào tương đương | Giữ, đây là lệnh đáng giá nhất nhóm |
| LF | Chọn một nét, đóng băng lớp của nó | LAYFRZ | Như nhau |
| LT | Phá băng toàn bộ lớp | LAYTHW | Dùng LAYTHW, xem bẫy tên bên dưới |
| LL | Chỉ hiện lớp của nét đã chọn, tắt hết phần còn lại | LAYISO | Dùng LAYISO, vì có LAYUNISO lùi lại |
| LO | Bật hiện toàn bộ lớp | LAYON | Dùng LAYON, xem bẫy tên bên dưới |
| LJ | Chọn một nét, tắt lớp của nó | LAYOFF | Như nhau |
Chỗ đáng lưu tâm nhất là cặp LL và LO. Lệnh LL tắt sạch mọi lớp rồi bật lại đúng lớp bạn chọn, và nó không ghi nhớ trạng thái trước đó. Muốn quay lại bạn phải gõ LO, mà LO thì bật hết mọi lớp, kể cả những lớp bạn đã cố ý tắt từ trước. Lệnh LAYISO của AutoCAD 2026 không có nhược điểm này: LAYUNISO trả lại đúng trạng thái ngay trước lúc bạn gõ LAYISO.
Nạp lisp xong mà gõ lệnh không chạy
Cách nạp thì vẫn như mọi tệp lisp khác, gõ APPLOAD rồi trỏ tới tệp, các bước đầy đủ nằm ở bài cách load lisp một lần dùng mãi. Nhân đây xin đính chính bản cũ: bài cũ bảo nạp bằng lệnh LOADLM. AutoCAD không có lệnh nào tên như vậy, cả trong tệp acad.pgp lẫn trong danh mục lệnh của Autodesk, nên gõ vào chỉ tổ mất công.
Nhưng AutoCAD 2026 siết chuyện nạp mã ngoài chặt hơn hẳn các bản mười năm trước, nên bạn có thể nạp xong mà không lệnh nào chạy. Có ba nguyên nhân, và chúng biểu hiện khác nhau. Nguyên nhân đầu là dễ thấy nhất: AutoCAD bung một hộp thoại cảnh báo tệp chưa ký, bạn bấm nhầm nút Do Not Load thì coi như chưa nạp gì.

Hình 3. Hộp thoại Security - Unsigned Executable File. Bấm Load Once là nạp cho phiên này, Always Load là nhớ luôn cho các lần sau.
Nguyên nhân thứ hai khó chịu hơn nhiều vì nó im lặng. Biến hệ thống SECURELOAD mặc định bằng 1, nghĩa là tệp nằm ngoài danh sách thư mục tin cậy thì AutoCAD hỏi bạn bằng hộp thoại trên. Nhưng nếu máy bạn được đặt SECURELOAD bằng 2, tài liệu Autodesk ghi rõ AutoCAD chỉ nạp tệp trong danh sách tin cậy, không hộp thoại, không báo lỗi. Bạn sẽ tưởng tệp hỏng hoặc tải thiếu. Danh sách thư mục tin cậy nằm ở biến TRUSTEDPATHS, và thư mục Program Files cùng các thư mục con của nó được tin cậy sẵn.
Nguyên nhân thứ ba thì không phải lỗi gì cả, chỉ là hiểu nhầm. Nạp bằng APPLOAD chỉ có tác dụng cho phiên đang mở. Mở bản vẽ khác là bộ lệnh biến mất và bạn phải nạp lại. Muốn nạp một lần dùng mãi thì kéo tệp vào ô Startup Suite ngay trong hộp thoại APPLOAD.
Hình 4. Ba nguyên nhân, phân biệt bằng cái bạn nhìn thấy: có hộp thoại, không thấy gì, hay chỉ mất sau khi mở bản vẽ khác.
Bốn chỗ trong mã dễ làm bạn tưởng lisp hỏng
| Hiện tượng | Vì sao | Cách xử lý |
|---|---|---|
| Dùng xong LP, LK, LUU, LF, LT, LL hay LO thì dòng lệnh im hẳn, không thấy AutoCAD báo gì nữa | Bảy hàm trong tệp đặt biến CMDECHO về 0 mà không trả lại 1 khi xong | Gõ CMDECHO rồi nhập 1. Biến này không lưu vào bản vẽ, khởi động lại AutoCAD cũng tự về 1 |
| Gõ LP rồi Enter suông thì báo lỗi không nạp được tệp | Nhánh Enter của lệnh gọi tới một tệp phụ tên ddlop, mà gói này không kèm tệp đó | Dùng LP theo cách còn lại: bấm thẳng vào một nét trên bản vẽ |
| Gõ LT ra bảng quản lý kiểu đường, gõ LO nhảy sang khổ giấy, không phải việc mong đợi | Tệp acad.pgp của AutoCAD 2026 đã có sẵn hai tên tắt này: LT là LINETYPE, LO là LAYOUT | Dùng thẳng LAYTHW và LAYON, hoặc sửa tên hai lệnh đó trong tệp lisp thành tên khác |
| Cài trên máy chạy AutoCAD giao diện tiếng Trung, tiếng Nhật thì nhóm số và nhóm A báo lỗi | Hai nhóm này gọi lệnh không kèm dấu gạch dưới, nên các chữ tắt m, c, la chỉ đúng với giao diện tiếng Anh | Sửa layer thành _.layer và change thành _.change trong tệp, giống cách chín lệnh cuối tệp đã làm |
Bốn chỗ này đều sửa được bằng Notepad, không cần biết lập trình. Nhưng nếu bạn ngại đụng vào mã thì cứ tránh mấy lệnh có vấn đề mà dùng, phần còn lại của bộ lệnh vẫn chạy tốt nguyên vẹn.
Câu hỏi hay gặp
Lisp chuyển layer này có chạy trên AutoCAD LT không?
Có, từ bản LT 2024 trở đi. AutoCAD LT các bản trước đó không chạy AutoLISP nên nạp cũng vô ích. Tệp này không gọi hàm nào thuộc Express Tools, cũng không gọi ActiveX, hai thứ mà LT không có, nên nó là một trong số ít bộ lệnh nạp thẳng lên LT là dùng được ngay.
Gõ số 1 xong lớp đổi nhưng nét cũ vẫn nằm nguyên chỗ cũ, có phải lệnh hỏng?
Không hỏng, bạn gõ nhầm nhóm. Nhóm chữ số chỉ đổi lớp hiện hành, tức là lớp cho nét sắp vẽ. Muốn nét đã vẽ chuyển đi thì gõ A1 chứ không phải 1, rồi chọn nét khi AutoCAD hỏi.
Có sợ lệnh của lisp đè lên lệnh sẵn có của AutoCAD không?
Chỉ hai chữ LT và LO là đụng tên tắt có sẵn, đã nói ở bảng trên. Các tên còn lại như LP, LK, LU, LF, LL, LJ và LOP đều không có trong tệp acad.pgp của bản 2026, đã mở tệp ra dò từng dòng. Nhóm chữ số và nhóm chữ A thì càng không đụng, vì AutoCAD không đặt tên lệnh bằng chữ số.
Tên lớp KC- không hợp với hồ sơ của tôi thì sửa ở đâu?
Mở tệp lsp bằng Notepad, mỗi dòng có dạng khai báo lệnh kèm tên lớp đặt trong hai dấu nháy kép. Đổi chuỗi trong nháy kép thành tên lớp của bạn, giữ nguyên phần còn lại, rồi lưu và nạp lại. Nhớ đổi cả dòng ở nhóm chữ số lẫn dòng tương ứng ở nhóm chữ A, và cả trong lệnh LOP, nếu không ba nhóm sẽ trỏ về ba tên lớp khác nhau.













