Chuyển đến nội dung
Diễn đàn CADViet
Duong Nhat Duy

Lisp đánh số thứ tự, thêm tiền tố, hậu tố Text, Block Att, Dim hàng loạt

Các bài được khuyến nghị

Chia sẻ đến các bạn 1 lisp đánh số thứ tự hàng loạt, thêm tiền tố, hậu tố,... Áp dụng cho Text (cũng như Mtext), Block Att (Block thuộc tính), Dim.

Lisp có nhiều tính năng đánh số ví dụ đánh đè lên Text cũ hoặc thêm vào Text hiện tại,... thỏa mãn nhiều yêu cầu đề bài đặt ra.

 

Tên lệnh:

   STT - Đánh số thứ tự hàng loạt (áp dụng cho Text, Att, Dim)

   C1 - Copy tăng dần (áp dụng cho Text, Att)

   C2 - Copy giảm dần (áp dụng cho Text, Att)

   1C - Copy tăng dần N đơn vị (áp dụng cho Text, Att)

   FT - Thêm tiền tố, hậu tố, hoặc xóa 1 đoạn ký tự ở đầu hoặc cuối (áp dụng cho Text, Att, Dim)

 

Mô tả:

- STT :

+ Đánh số thứ tự theo các quy tắc tùy chọn, ví dụ: trên xuống dưới, trái sang phải, theo chiều pline hoặc theo thứ tự người dùng pick chọn

+ Có thể thêm tiền tố, hậu tố, nhập stt bắt đầu, số chữ số 0.

+ Kết quả có thể đè lên text cũ hoặc thêm vào đầu, cuối

+ 1 số ví dụ: (hình minh họa)

 

Đánh số từ trên xuống dưới, trái sang phải:

1.gif.5bb21bb8fa8bf3a403bedd2b9b2199b1.gif

 

Đánh số theo thứ tự pick chọn:

2.gif.4253c87f7f2036ae00cf178f05eb7f06.gif

 

Đánh số theo chiều Pline:

3.gif.4c92828f54c0f2743e033c9e6832a2b6.gif

 

- C1, C2, 1C : Đánh số thứ tự thủ công

+ Hoạt động như lệnh Copy nhưng tăng/giảm dần giá trị cuối cùng trong Text/Att

+ Có thể chọn 1 nhóm đối tượng, ví dụ: 1 hình tròn và 1 Text, ...

+ Lệnh 1C chỉ dùng cho các Text/Att số thực

 

- FT : Thêm tiền tố, hậu tố; xóa 1 đoạn ký tự ở đầu hoặc cuối

4.gif.02af25dc713539b0f3e94d5a8cc74b2c.gif

 

Change log

- v1.00 (18/01/2024): Phiên bản đầu tiên

- v1.01 (04/04/2024): Thêm option đánh stt theo 2 chiều, ví dụ: trái qua phải, trên xuống dưới

- v1.02 (09/05/2024): Thêm tính năng thêm tiền tố, hậu tố, xóa 1 đoạn ký tự ở đầu hoặc cuối

- v1.03 (06/08/2024):

   + Sửa lại cách đánh stt có số 0 đằng trước bằng cách khai báo stt bắt đầu là 01, 002, ... Thêm tính năng đánh theo alphabet A, B, C, D,...

   + Sửa lỗi khi đánh số theo 2 chiều trên->dưới, trái->phải

- v1.04 (28/10/2024): Sửa một số lỗi

 

Link download

https://drive.google.com/drive/u/1/folders/1vs5fVIPiH1afDJczolu_GURTnXlaM75Y

 

Chúc các bạn thành công :)))

  • Like 17
  • Vote tăng 3

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

@Duong Nhat Duy Bạn nên dùng hàm vl-filename-mktemp để tạo file dcl, file sẽ tự xóa khi kết thúc lisp. Dùng (getvar 'roamablerootprefix) để tạo file dcl có khả năng sẽ không tạo được file

  • Like 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
34 phút trước, tien2005 đã nói:

@Duong Nhat Duy Bạn nên dùng hàm vl-filename-mktemp để tạo file dcl, file sẽ tự xóa khi kết thúc lisp. Dùng (getvar 'roamablerootprefix) để tạo file dcl có khả năng sẽ không tạo được file

Thanks bạn nhé, code mình toàn nhảy của Leemac nên cũng chả để ý nữa hehe.

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
Vào lúc 19/1/2024 tại 11:30, Duong Nhat Duy đã nói:

Thanks bạn nhé, code mình toàn nhảy của Leemac nên cũng chả để ý nữa hehe.

Anh Duong Nhat Duy anh có thể sửa lisp thêm tùy chọn từ trái qua phải và từ trên xuống dưới được không ạ. Em cảm ơn anh nhiều

  • Like 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
6 phút trước, nancy9x đã nói:

Anh Duong Nhat Duy anh có thể sửa lisp thêm tùy chọn từ trái qua phải và từ trên xuống dưới được không ạ. Em cảm ơn anh nhiều

. hong

  • Vote giảm 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
Vào lúc 2/4/2024 tại 15:22, nancy9x đã nói:

Anh Duong Nhat Duy anh có thể sửa lisp thêm tùy chọn từ trái qua phải và từ trên xuống dưới được không ạ. Em cảm ơn anh nhiều

Mình đã update thêm option này rồi nhé, các bạn tải lại trên đầu topic.

Vào lúc 19/1/2024 tại 10:54, tien2005 đã nói:

@Duong Nhat Duy Bạn nên dùng hàm vl-filename-mktemp để tạo file dcl, file sẽ tự xóa khi kết thúc lisp. Dùng (getvar 'roamablerootprefix) để tạo file dcl có khả năng sẽ không tạo được file

Uh đúng là hàm này dùng ngon hơn, không bị lỗi khi Username trong windows có dấu tiếng Việt, thanks bạn nhé !

  • Like 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
Vào lúc 18/1/2024 tại 18:44, Duong Nhat Duy đã nói:

Chia sẻ đến các bạn 1 lisp đánh số thứ tự hàng loạt, áp dụng cho Text (cũng như Mtext), Block Att (Block thuộc tính), Dim.

Lisp có nhiều tính năng lựa chọn ví dụ thêm tiền tố, hậu tố, ... thỏa mãn nhiều yêu cầu đề bài đặt ra.

 

Tên lệnh:

   STT - Đánh số thứ tự hàng loạt (áp dụng cho Text, Att, Dim)

   C1 - Copy tăng dần (áp dụng cho Text, Att)

   C2 - Copy giảm dần (áp dụng cho Text, Att)

   1C - Copy tăng dần N đơn vị (áp dụng cho Text, Att)

 

Mô tả:

- STT :

+ Đánh số thứ tự theo các quy tắc tùy chọn, ví dụ: trên xuống dưới, trái sang phải, theo chiều pline hoặc theo thứ tự người dùng pick chọn

+ Có thể thêm tiền tố, hậu tố, nhập stt bắt đầu, số chữ số 0.

+ Kết quả có thể đè lên text cũ hoặc thêm vào đầu, cuối

+ 1 số ví dụ: (hình minh họa)

 

Đánh số từ trên xuống dưới, trái sang phải:

1.gif.5bb21bb8fa8bf3a403bedd2b9b2199b1.gif

 

Đánh số theo thứ tự pick chọn:

2.gif.4253c87f7f2036ae00cf178f05eb7f06.gif

 

Đánh số theo chiều Pline:

3.gif.4c92828f54c0f2743e033c9e6832a2b6.gif

 

- C1, C2, 1C : Đánh số thứ tự thủ công

+ Hoạt động như lệnh Copy nhưng tăng/giảm dần giá trị cuối cùng trong Text/Att

+ Có thể chọn 1 nhóm đối tượng, ví dụ: 1 hình tròn và 1 Text, ...

+ Lệnh 1C chỉ dùng cho các Text/Att số thực

 

Lưu ý:

Lisp không bao gồm các lệnh như thêm tiền tố, hậu tố; đánh số layout, ... Thực tế có rất nhiều thao tác khác đối với Text/Att/Dim ví dụ tính toán, tìm kiếm, thay thế, chỉnh sửa, ... Có thể trong tương lai mình sẽ có lisp hoàn chỉnh, và cũng có thể mất phí. Hiện tại các bạn vui lòng tìm kiếm những lisp trên ở trong diễn đàn hoặc các nguồn khác.

 

File lisp:

18/01/2024: Danh STT Text, Att, Dim v1.00.lsp

04/04/2024: Danh STT Text, Att, Dim v1.01.lsp (Thêm option đánh stt theo 2 chiều, ví dụ: trái qua phải, trên xuống dưới)

  

Chúc các bạn thành công :)))

không biết sao chứ em dùng thì lại bị lỗi khi xử dụng lệnh  STT anh ạ

; error: bad argument type: fixnump: nil

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
41 phút trước, makhorungxanh đã nói:

không biết sao chứ em dùng thì lại bị lỗi khi xử dụng lệnh  STT anh ạ

; error: bad argument type: fixnump: nil

Bạn chụp lại cả thao tác lệnh của bạn mình xem

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
Vào lúc 18/1/2024 tại 18:44, Duong Nhat Duy đã nói:

Chia sẻ đến các bạn 1 lisp đánh số thứ tự hàng loạt, áp dụng cho Text (cũng như Mtext), Block Att (Block thuộc tính), Dim.

Lisp có nhiều tính năng lựa chọn ví dụ thêm tiền tố, hậu tố, ... thỏa mãn nhiều yêu cầu đề bài đặt ra.

 

Tên lệnh:

   STT - Đánh số thứ tự hàng loạt (áp dụng cho Text, Att, Dim)

   C1 - Copy tăng dần (áp dụng cho Text, Att)

   C2 - Copy giảm dần (áp dụng cho Text, Att)

   1C - Copy tăng dần N đơn vị (áp dụng cho Text, Att)

 

Mô tả:

- STT :

+ Đánh số thứ tự theo các quy tắc tùy chọn, ví dụ: trên xuống dưới, trái sang phải, theo chiều pline hoặc theo thứ tự người dùng pick chọn

+ Có thể thêm tiền tố, hậu tố, nhập stt bắt đầu, số chữ số 0.

+ Kết quả có thể đè lên text cũ hoặc thêm vào đầu, cuối

+ 1 số ví dụ: (hình minh họa)

 

Đánh số từ trên xuống dưới, trái sang phải:

1.gif.5bb21bb8fa8bf3a403bedd2b9b2199b1.gif

 

Đánh số theo thứ tự pick chọn:

2.gif.4253c87f7f2036ae00cf178f05eb7f06.gif

 

Đánh số theo chiều Pline:

3.gif.4c92828f54c0f2743e033c9e6832a2b6.gif

 

- C1, C2, 1C : Đánh số thứ tự thủ công

+ Hoạt động như lệnh Copy nhưng tăng/giảm dần giá trị cuối cùng trong Text/Att

+ Có thể chọn 1 nhóm đối tượng, ví dụ: 1 hình tròn và 1 Text, ...

+ Lệnh 1C chỉ dùng cho các Text/Att số thực

 

Lưu ý:

Lisp không bao gồm các lệnh như thêm tiền tố, hậu tố; đánh số layout, ... Thực tế có rất nhiều thao tác khác đối với Text/Att/Dim ví dụ tính toán, tìm kiếm, thay thế, chỉnh sửa, ... Có thể trong tương lai mình sẽ có lisp hoàn chỉnh, và cũng có thể mất phí. Hiện tại các bạn vui lòng tìm kiếm những lisp trên ở trong diễn đàn hoặc các nguồn khác.

 

File lisp:

18/01/2024: Danh STT Text, Att, Dim v1.00.lsp

04/04/2024: Danh STT Text, Att, Dim v1.01.lsp (Thêm option đánh stt theo 2 chiều, ví dụ: trái qua phải, trên xuống dưới)

 

Chúc các bạn thành công :)))

Lệnh STT không dùng được cho block ATT của KATA khi dùng option từ trái qua phải từ trên xuống dưới b @Duong Nhat Duyơi

20240414_152057.rar

file test.dwg

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
6 giờ trước, quanghapham đã nói:

Lệnh STT không dùng được cho block ATT của KATA khi dùng option từ trái qua phải từ trên xuống dưới b @Duong Nhat Duyơi

20240414_152057.rar

file test.dwg

Mình test file bạn thì ko thấy có vấn đề gì, b thử test lệnh 1C xem có sao ko thì mình mới phán tiếp được.

  • Like 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
10 giờ trước, Duong Nhat Duy đã nói:

Mình test file bạn thì ko thấy có vấn đề gì, b thử test lệnh 1C xem có sao ko thì mình mới phán tiếp được.

các trường hợp khác thì vẫn dùng ok bạn ơi, ý mình đang nói đến trường hợp update option đánh stt theo 2 chiều ấy b, mình không thấy block nhảy số hiệu như video mình gửi bimage.thumb.png.4e77f2182125e65118ed44a61701da24.png

video test.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
4 giờ trước, quanghapham đã nói:

các trường hợp khác thì vẫn dùng ok bạn ơi, ý mình đang nói đến trường hợp update option đánh stt theo 2 chiều ấy b, mình không thấy block nhảy số hiệu như video mình gửi bimage.thumb.png.4e77f2182125e65118ed44a61701da24.png

video test.rar

Mình bảo bạn làm ntn thì b cứ làm nt đi, option đánh số theo 2 chiều nó còn 1 bước nhập sai số khoảng cách ở cuối nữa (lệnh của bạn ko đến được đó). Lệnh 1C có thao tác nhập sai số tương tự b thử lệnh xem có lỗi như trên ko ?

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
2 giờ trước, Duong Nhat Duy đã nói:

Mình bảo bạn làm ntn thì b cứ làm nt đi, option đánh số theo 2 chiều nó còn 1 bước nhập sai số khoảng cách ở cuối nữa (lệnh của bạn ko đến được đó). Lệnh 1C có thao tác nhập sai số tương tự b thử lệnh xem có lỗi như trên ko ?

của mình nó ra như này b ơi, dùng lệnh 1c nó thêm 4 số 0 phía sau nữa b. như video mình gửi b

VIDEO TEST.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
53 phút trước, quanghapham đã nói:

của mình nó ra như này b ơi, dùng lệnh 1c nó thêm 4 số 0 phía sau nữa b. như video mình gửi b

VIDEO TEST.rar

 

Ca này khó rồi bạn, mình test trên các cad 07 18 20 ở máy mình thì ko có lỗi gì cả, nếu bạn dùng cad cao thì thử đổi sang đời thấp hơn xem, hoặc thử gỡ hết các lisp load sẵn vào bản vẽ xem.

  • Like 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
13 phút trước, Duong Nhat Duy đã nói:

Ca này khó rồi bạn, mình test trên các cad 07 18 20 ở máy mình thì ko có lỗi gì cả, nếu bạn dùng cad cao thì thử đổi sang đời thấp hơn xem, hoặc thử gỡ hết các lisp load sẵn vào bản vẽ xem.

ok bạn ơi, mình đang dùng cad 22 với 24 đều không được, thôi dùng cái đánh stt theo thứ tự tự chọn cũng được nhưng hơi lâu chút :V

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
4 giờ trước, quanghapham đã nói:

dùng lệnh 1c nó thêm 4 số 0 phía sau nữa b. như video mình gửi b

Format đơn vị là số 0 thì được thôi.

  • Like 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

Tôi cũng tham gia test thử. Nếu:

- LISPSYS = 0 thì code chạy ngon lành.

- LISPSYS = 1 thì lỗi không chạy được.

Hôm nọ có bài nào cũng bàn về cái này. Phức tạp thật.

 

Đổi biến này thì nguyên tắc phải tắt cad, chạy lại. Nghe thiên hạ đồn chứ cũng không hiểu chân tóc kẽ 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
13 phút trước, amateurday đã nói:

Tôi cũng tham gia test thử. Nếu:

- LISPSYS = 0 thì code chạy ngon lành.

- LISPSYS = 1 thì lỗi không chạy được.

Hôm nọ có bài nào cũng bàn về cái này. Phức tạp thật.

 

Đổi biến này thì nguyên tắc phải tắt cad, chạy lại. Nghe thiên hạ đồn chứ cũng không hiểu chân tóc kẽ tơ.

Do từ Cad2021 về sau nó hỗ trợ Unicode mà không cần viết bằng mã Hexa nữa.
Cách xử: copy dòng dưới đây đặt vào đầu hoặc cuối lisp là ok con dê thôi.
(if (and (getvar "lispsys") (/= (getvar "lispsys") 0)) (setvar "lispsys" 0))

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
3 phút trước, Doan Van Ha đã nói:

Do từ Cad2021 về sau nó hỗ trợ Unicode mà không cần viết bằng mã Hexa nữa.
Cách xử: copy dòng dưới đây đặt vào đầu hoặc cuối lisp là ok con dê thôi.
(if (and (getvar "lispsys") (/= (getvar "lispsys") 0)) (setvar "lispsys" 0))

Không được bác ạ, phải tắt cad, mở lại nữa mà.

; error: bad argument type: fixnump: nil

 

Còn món viết chữ bằng mã Hexa thì em không biết, vì cũng chả viết bao giờ, cũng chả hiểu nó là 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
26 phút trước, amateurday đã nói:

Không được bác ạ, phải tắt cad, mở lại nữa mà.

; error: bad argument type: fixnump: nil

 

Còn món viết chữ bằng mã Hexa thì em không biết, vì cũng chả viết bao giờ, cũng chả hiểu nó là gì.

Tắt Cad mở lại duy nhất 1 lần trong đời mà không làm được sao?

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

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×