InfoFile
Tác giả: ketxu
Bài viết gốc: 165371
Tên lệnh: test
Thay thế Donut

Thay thế các Donut chọn bằng Donut mẫu khác

Filename: 165371_test.lsp
Tác giả: cd2k44
Bài viết gốc: 165379
Tên lệnh: dmla
Chuyển Layer về thành Bylayer


Ḿnh không rành nhiều về lisp nên chỉ biết viết cho bạn cái lệnh này,bạn dùng thử xem có được không


Filename: 165379_dmla.lsp
Tác giả: ketxu
Bài viết gốc: 159750
Tên lệnh: 1
Edit lần lượt nhiều *Text


- Enter 2 lần để thoát
- Dùng tab để quay trở lại text trước.




Filename: 159750_1.lsp
Tác giả: ssg
Bài viết gốc: 12520
Tên lệnh: vd1 vd2 vd3 vd4 vd5
AutoCAD với Excel

Góp ư: với các code khá dài, bạn nên cho nó vào hộp codebox để bài viết gọn gàng (ḿnh đă làm giúp bạn như trên)

Chương tŕnh này rất hay, tập hợp một loạt functions để làm việc với excel bằng lisp.
Công dụng các functions:
- getexcel: 3 đối số là file_name, sheet_name và max_range. Return: list dữ liệu...
>>

Góp ư: với các code khá dài, bạn nên cho nó vào hộp codebox để bài viết gọn gàng (ḿnh đă làm giúp bạn như trên)

Chương tŕnh này rất hay, tập hợp một loạt functions để làm việc với excel bằng lisp.
Công dụng các functions:
- getexcel: 3 đối số là file_name, sheet_name và max_range. Return: list dữ liệu từ cell A1 đến cell ứng với max_range
- getcell: lấy dữ liệu tại 1 cell, được chỉ định bằng địa chỉ cell
- openexcel: mở file *.xls có trên đĩa
- putcell: gán giá trị cho cell
- closeexcel: đóng file *xls đă open ở trên
Để hiểu rơ hơn, bạn ghép thêm vào code có sẵn của bạn đoạn sau:


Tạo 1 file *.xls, ghi ở sheet1 các số liệu tuỳ ư, khoảng chừng 4 cột, 6 hàng. Save và thoát hẳn excel
Gơ lần lượt các lệnh từ VD1 đến VD5:
- VD1: lấy dữ liệu trong sheet1, từ cell A1 đến cell D5 của file mà bạn chỉ định và chuyển thành list. Bạn bấm F2 sau khi chạy xong sẽ thấy
- VD2: lấy dữ liệu ở cell B3
- VD3: mở file, tạo sheet mới có tên sheet4
- Vẫn để Excel hiện hành, quay lại Acad gơ VD4 -> Cell B10 sẽ được gán nội dung "How" và cell C10 là "are you?"
- VD5: save và thoát Excel

Thông suốt được những cái trên đây th́ những functions c̣n lại không thành vấn đề. Chúng chỉ là những tiện ích hỗ trợ thêm (bạn đọc comments và examples của họ sẽ hiểu)
Khi đă nắm được toàn bộ, bạn sẽ giải quyết được vấn đề đă nêu ở topic "Ghi dữ liệu từ Cad sang file Excel đă có".
<<

Filename: 12520_vd1_vd2_vd3_vd4_vd5.lsp
Tác giả: Tue_NV
Bài viết gốc: 89375
Tên lệnh: mtl
Viết lisp theo yêu cầu [phần 2]

Chào Phiphi
Bạn sử dụng code này thử xem sao :

Hướng dẫn sử dụng
1.Gơ lệnh Rnf (rename files) -> Chon 1 file .dwg trong folder mà bạn cần đặt tên. Cụ thể là chọn 1 file bất ḱ trong folder Test Attribute trên máy tính của bạn
2. Gơ tên file cần thay thế. Chú ư * là kí tự đại diện
123456-001-X-01.dwg...
>>

Chào Phiphi
Bạn sử dụng code này thử xem sao :

Hướng dẫn sử dụng
1.Gơ lệnh Rnf (rename files) -> Chon 1 file .dwg trong folder mà bạn cần đặt tên. Cụ thể là chọn 1 file bất ḱ trong folder Test Attribute trên máy tính của bạn
2. Gơ tên file cần thay thế. Chú ư * là kí tự đại diện
123456-001-X-01.dwg -> phải được thay bằng 123456-00* (cái này giống với ư của Phi phi đă post là 12345-001-X-XX.dwg

Command: rnf

Ten Ban ve can thay < 123456-001-X-01.dwg > : 123456-00*

Ban ve : 123456-001-X-01.dwg da duoc thay thanh ban ve : 123456-001.dwg
Ban ve : 123456-002-A-03.dwg da duoc thay thanh ban ve : 123456-002.dwg
Ban ve : 123456-003-B-04.dwg da duoc thay thanh ban ve : 123456-003.dwg
Ban ve : 123456-004-C-02.dwg da duoc thay thanh ban ve : 123456-004.dwg
Ban ve : 123456-005-D-06.dwg da duoc thay thanh ban ve : 123456-005.dwg

-> Toàn bộ bản vẽ được thay rồi.
Thế là vui nhé.
:cheers:
<<

Filename: 89375_mtl.lsp
Tác giả: Tue_NV
Bài viết gốc: 86087
Tên lệnh: mtl
Viết lisp theo yêu cầu [phần 2]

@Nguyễn hữu vượng : Bạn viết bài như vậy th́ Tue_NV chẳng hiểu ư bạn ǵ cả. Muốn giúp cho bạn mà nhưng chẳng được. Bạn vui ḷng mô tả cụ thể hơn, bằng file .dwg rồi upload lên diễn đàn. Bạn muốn nối các điểm đó thành lưới tam giác??? Các điểm nào ??? Nối như...
>>

@Nguyễn hữu vượng : Bạn viết bài như vậy th́ Tue_NV chẳng hiểu ư bạn ǵ cả. Muốn giúp cho bạn mà nhưng chẳng được. Bạn vui ḷng mô tả cụ thể hơn, bằng file .dwg rồi upload lên diễn đàn. Bạn muốn nối các điểm đó thành lưới tam giác??? Các điểm nào ??? Nối như thế nào????
<<

Filename: 86087_mtl.lsp
Tác giả: Tue_NV
Bài viết gốc: 52986
Tên lệnh: tl
Lisp ghi chiều dài đoạn thẳng theo Scale factor của Dimstyle hiện thời


Đây là đoạn Lisp của bác ssg, ḿnh có chỉnh lại một chút cho phù hợp với yêu cầu thứ nhất của bạn.
Riêng yêu cầu 2 trong bản vẽ bạn ghi : thực hiện lệnh, chọn đối tuong cần đo và nếu không
chọn text để gán kết quả th́ Enter và pick 1 điểm trên màn h́nh để xuất...
>>

Đây là đoạn Lisp của bác ssg, ḿnh có chỉnh lại một chút cho phù hợp với yêu cầu thứ nhất của bạn.
Riêng yêu cầu 2 trong bản vẽ bạn ghi : thực hiện lệnh, chọn đối tuong cần đo và nếu không
chọn text để gán kết quả th́ Enter và pick 1 điểm trên màn h́nh để xuất kết quả bằng số theo style text hiện thời.
Kết quả bằng số là kết quả ǵ vậy bạn ? bạn hăy nói rơ.

<<

Filename: 52986_tl.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 52998
Tên lệnh: tl
Lisp ghi chiều dài đoạn thẳng theo Scale factor của Dimstyle hiện thời


Chào bạn Thaistreetz,

Bạn dùng thử cái này nha:

Ghi kích thước chiều dài của các đường line, polyline, arc .... theo Scale factor hiện hành lên bản vẽ.



Đoạn lisp này ḿnh chỉnh sửa lại từ cái lisp của bác SSG và bác Tue_nv do ḿnh nghĩ có thể bác Tue_NV hiểu nhầm ư bạn. Bạn...
>>


Chào bạn Thaistreetz,

Bạn dùng thử cái này nha:

Ghi kích thước chiều dài của các đường line, polyline, arc .... theo Scale factor hiện hành lên bản vẽ.



Đoạn lisp này ḿnh chỉnh sửa lại từ cái lisp của bác SSG và bác Tue_nv do ḿnh nghĩ có thể bác Tue_NV hiểu nhầm ư bạn. Bạn muốn lấy các độ dài của từng đoạn chứ không phải lấy tổng độ dài, vả lại bạn cũng muốn kết quả ghi theo tỷ lệ của dimstyle hiện tại chứ không phải là kết quả đo được nữa. Ở lisp này ḿnh cũng để bạn chọn phương án nhap kết quả , nhưng bạn lưu ư là khi lisp hỏi bạn chỉ cần gơ 1 hoặc enter là đủ bạn nhé. Bạn xài thử xem nhé. Nếu có ǵ trục trặc xin báo lại v́ ḿnh cũng chưa kiểm nghiệm nó do chưa có thời gian bạn ạ. Thực ra ḿnh cũng chưa ưng ư với lisp này do nếu như bạn chọn khá nhiều đối tượng th́ việc nhớ được trật tự khi lựa chọn đối tượng không hề dễ. Theo ư ḿnh th́ nên mỗi lần chỉ chọn một đối tượng và sau khi chạy xong thi lisp sẽ hỏi bạn có muốn tiếp tục hay không, nếu có th́ chọn đối tượng tiếp, c̣n nếu không th́ kết thúc sẽ thuận lợi cho việc chỉnh sửa trên bản vẽ của bạn hơn.

Không biết bạn nghĩ sao, nếu bạn đồng ư ḿnh sẽ cải tạo lại đoạn lisp trên bạn nhé.

Chúc bạn vui.



@ Bác Tue_NV: Mạn phép bác sửa lại chút xíu cái lisp của bác cho gần với yêu cầu của bạn Thaistreetz hơn. Mong bác không giận.
<<

Filename: 52998_tl.lsp
Tác giả: ssg
Bài viết gốc: 32598
Tên lệnh: vc
Bảng toạ độ các đỉnh thửa đất

Lisp đă sửa đúng như ư bạn:


Filename: 32598_vc.lsp
Tác giả: cuong49x5
Bài viết gốc: 10631
Tên lệnh: hh
Lisp vẽ đường hàn

Bác hoành hướng dẫn cho em sử dụng cái lisp này với .Em đă load xong ,thực hiện các bước trong command mà kết quả không ra như ư:

Filename: 10631_hh.lsp
Tác giả: gia_bach
Bài viết gốc: 90451
Tên lệnh: p2e
AutoCAD với Excel

Gửi các bác hàm ghi 1 danh sách (list) ra file Excel.
Yêu cầu : phải có MS Excel đă cài đặt trên hệ thống.

Cú pháp : (WriteToExcel pt_lst)
trong đó : pt_lst là 1 danh sách (list) .
Giá trị trả về (nếu thành công) là toàn bộ danh sách đuợc ghi ra file Excel.

Data bắt đầu ghi tại Sheet1, cell C3, hai ḍng-cột đầu dành cho...
>>
Gửi các bác hàm ghi 1 danh sách (list) ra file Excel.
Yêu cầu : phải có MS Excel đă cài đặt trên hệ thống.

Cú pháp : (WriteToExcel pt_lst)
trong đó : pt_lst là 1 danh sách (list) .
Giá trị trả về (nếu thành công) là toàn bộ danh sách đuợc ghi ra file Excel.

Data bắt đầu ghi tại Sheet1, cell C3, hai ḍng-cột đầu dành cho các bác tùy nghi xử lí.
Lisp sẽ tạo 1 file Excel mới, các bác tùy nghi save với tên file mong muốn.

Ví dụ minh họa : Xuất tọa độ PLINE ra file Excel.

<<

Filename: 90451_p2e.lsp
Tác giả: Thaistreetz
Bài viết gốc: 68029
Tên lệnh: td
Lấy tọa độ điểm và thống kê vào bảng
Tọa độ các điểm cần kiểm tra được xác định bằng cách pick chuột. Lisp cho phép ghi tọa độ trực tiếp ra điểm cần kiểm tra và thống kê vào 1 bảng thống kê trên bản vẽ.

Filename: 68029_td.lsp
Tác giả: ketxu
Bài viết gốc: 162162
Tên lệnh: b2pl b2t
Tác giả: nataca
Bài viết gốc: 76557
Tên lệnh: ll lgt lc ln lh l lmh
Lisp các phép tính đại số tự động cập nhật khi giá trị nguồn thay đổi
Lấy ư tưởng từ bài viết ánh xạ text của bác NguyenHoanh và lisp ánh xạ text của anh Giabach. Ḿnh vận dụng để viết một lisp để có thể tính toán trên các ánh xạ text này. Hy vọng nó sẽ giúp cho các bạn trong công việc:


-Lệnh LL (link length): để link giá trị chiều dài của 1 đối tượng vào...
>>
Lấy ư tưởng từ bài viết ánh xạ text của bác NguyenHoanh và lisp ánh xạ text của anh Giabach. Ḿnh vận dụng để viết một lisp để có thể tính toán trên các ánh xạ text này. Hy vọng nó sẽ giúp cho các bạn trong công việc:


-Lệnh LL (link length): để link giá trị chiều dài của 1 đối tượng vào text (khi chiều dài đối tượng thay đổi th́ giá trị text thay đổi theo)
-Lệnh LGT (link giá trị): để link giá trị của 1 text này cho text khác (khi giá trị text nguồn thay đổi th́ giá trị text đích tự cập nhật theo)
-Lệnh LC (link cộng): Pick chọn các số lần lượt sau đó chọn text kết quả th́ sẽ tính tổng các giá trị đó (một trong các giá trị nguồn thay đổi th́ giá trị tổng thay đổi theo)
-Lệnh LN (link nhân ): Pick chọn các số lần lượt sau đó chọn text kết quả th́ sẽ tính tích các giá trị đó (một trong các giá trị nguồn thay đổi th́ giá trị tích thay đổi theo)
-Lệnh LH (link hiệu): Quét chọn text số bị trừ, quét chọn số trừ, chọn text giá trị hiệu (một trong các giá trị nguồn thay đổi th́ giá trị hiệu thay đổi theo)
-Lệnh L/ (link chia): Quét chọn text số bị chia, quét chọn số chia, chọn text giá trị thương (một trong các giá trị nguồn thay đổi th́ giá trị thương thay đổi theo)
-Lệnh LMH (link multi hàng): Tính toán cho nhiều hàng text. Chọn phép tính, chọn cột 1, cột 2...sau đó chọn cột giá trị (trong này có hệ số nhân để tiện khi đổi đơn vị trong lập bảng thống kê)


Đây là file lisp: lisp tính toán với link
Đây là file .vlx đă được biên dịch: tính toán với link

Xin phép bác Nacata sắp xếp lại code để việc hiển thị trang viết được thuận tiện hơn cho người đọc.
<<

Filename: 76557_ll_lgt_lc_ln_lh_l_lmh.lsp
Tác giả: gia_bach
Bài viết gốc: 71755
Tên lệnh: linkt linka
LISP : Ánh xạ giá trị đối tượng (thay đổi giá trị nguồn -> Đích cập nhật theo)
Chào các bạn
Nhân đọc bài Ánh xạ giá trị đối tượng text, nguồn đổi giá trị, đích bị sửa của bác Hoành,
xin gửi các bạn LISP : Ánh xạ giá trị đối tượng gồm
1 . LinkT : Ánh xạ giá trị Text
2 . LinkA : Ánh xạ giá trị Diện tích
chú ư : khi sửa giá trị ở đối...
>>
Chào các bạn
Nhân đọc bài Ánh xạ giá trị đối tượng text, nguồn đổi giá trị, đích bị sửa của bác Hoành,
xin gửi các bạn LISP : Ánh xạ giá trị đối tượng gồm
1 . LinkT : Ánh xạ giá trị Text
2 . LinkA : Ánh xạ giá trị Diện tích
chú ư : khi sửa giá trị ở đối tượng nguồn, đối tượng đích (text) chỉ update sau khi sử dụng lệnh REGEN, SAVE, PLOT, ...

<<

Filename: 71755_linkt_linka.lsp
Tác giả: tvgtyb08
Bài viết gốc: 136435
Tên lệnh: trudim
Trừ kết quả đường ghi kích thước.

Cái này của 1 bác trong diễn đàn
Lệnh: trudim. Chọn đường Dim bị trừ Enter rồi chọn đường Dim trừ

Filename: 136435_trudim.lsp
Tác giả: Tue_NV
Bài viết gốc: 76818
Tên lệnh: cte
Lisp đổi màu text sau khi sửa

Bạn sử dụng lại Code này Tue_NV viết lại thử xem :

Filename: 76818_cte.lsp
Tác giả: ketxu
Bài viết gốc: 136481
Tên lệnh: congdim
Cộng Dimension
- Cộng nhanh dimension (không ma số), sử dụng Express


Filename: 136481_congdim.lsp
Tác giả: ainhandilac
Bài viết gốc: 5614
Tên lệnh: mccn ktd dc tg th ty sub dv mul sum cdmd v v1 v2
Tập hợp các lệnh acad cho kỹ sư cấp thoát nước


thứ nhất là cái Hwase chắc mọi người biết hết rồi chú (18mb ) nên tôi kô post đuoc
cái thứ 2 chắc tôi tập hợp duc hét lên đây để anh em tham khảo và từ sử dụng nhe
mà nói trước là cái này tôi vừa ăn trộm , vua sưu tầm và vừa mày mở nên không hoàn chỉnh dau
mong các bro cho ư...
>>


thứ nhất là cái Hwase chắc mọi người biết hết rồi chú (18mb ) nên tôi kô post đuoc
cái thứ 2 chắc tôi tập hợp duc hét lên đây để anh em tham khảo và từ sử dụng nhe
mà nói trước là cái này tôi vừa ăn trộm , vua sưu tầm và vừa mày mở nên không hoàn chỉnh dau
mong các bro cho ư kiến nhé

<<

Filename: 5614_mccn_ktd_dc_tg_th_ty_sub_dv_mul_sum_cdmd_v_v1_v2.lsp
Tác giả: Tue_NV
Bài viết gốc: 68318
Tên lệnh: dcd
Nhờ các bác viết dùm Lisp đánh cao độ

Cám ơn anh giabach.
Em đang viết và cố gắng hoàn thành xong code này để giúp cho bạn auduongphuc.
Có ǵ trở ngại mong anh gia bách và mọi người hỗ trợ thêm.
Chào anh. Chúc anh thật nhiều sức khoẻ.
-----------
Tue_NV đă hoàn thành xong code này
Bạn auduongphuc chạy thử xem :
Chỉ Có 2 yêu cầu nhỏ...
>>

Cám ơn anh giabach.
Em đang viết và cố gắng hoàn thành xong code này để giúp cho bạn auduongphuc.
Có ǵ trở ngại mong anh gia bách và mọi người hỗ trợ thêm.
Chào anh. Chúc anh thật nhiều sức khoẻ.
-----------
Tue_NV đă hoàn thành xong code này
Bạn auduongphuc chạy thử xem :
Chỉ Có 2 yêu cầu nhỏ khi chạy code :
1. Lisp chấp nhận bất cứ Block cao độ nào miễn là Block đó có 1 Atrtibute và Block đó phải có trên CAD để mà ta Pick chon Block mau
2. Điểm chèn Block đó nên nằm ngay cos cao độ chèn
Mong bạn auduongphuc hiểu

<<

Filename: 68318_dcd.lsp

Trang 7/147

7