Info | File |
Tác giả: ssg
Bài viết gốc: 43408
Tên lệnh: ttt | |
Tác giả: Tue_NV
Bài viết gốc: 43383
Tên lệnh: sten | |
Tác giả: gia_bach
Bài viết gốc: 43249
Tên lệnh: nk | |
Tác giả: ssg
Bài viết gốc: 43263
Tên lệnh: nk |
Lisp nhân thêm hệ số K vào Text ???????????
Hy vọng lần này đúng ý các bạn. Chương trình chấp nhận các đối tượng là TEXT lẫn MTEXT:
@duy782006: không được bạn ơi! Ví dụ:
Command: (rtos 1.0023 2 2)
return "1" -> không đúng ý các bạn ấy!
@giabach:
1. Dùng rtos không giải quyết triệt để được như đã nói trên.
2. Bạn thêm Isnumeric thì tốt thôi, nhưng liệu có cần đến mức ấy... >> Hy vọng lần này đúng ý các bạn. Chương trình chấp nhận các đối tượng là TEXT lẫn MTEXT:
@duy782006: không được bạn ơi! Ví dụ:
Command: (rtos 1.0023 2 2)
return "1" -> không đúng ý các bạn ấy!
@giabach:
1. Dùng rtos không giải quyết triệt để được như đã nói trên.
2. Bạn thêm Isnumeric thì tốt thôi, nhưng liệu có cần đến mức ấy không? Dù sao, user cũng phải tự chịu trách nhiệm về những gì mình làm chứ? <<
|
Tác giả: Nguyen Hoanh
Bài viết gốc: 4310
Tên lệnh: rtf |
Viết Lisp theo yêu cầu
Lệnh RTF của chương trình dưới đây sẽ làm được điều Jin muốn.
Chương trình sẽ yêu cầu nhập vào:
- từ đứng trước: là cụm từ nhận dạng đứng đằng trước từ cần thay. trong ví dụ của Jin, từ này có thể là 'D'.
- từ đứng sau: là cụm từ nhận dạng đứng đằng sau từ cần thay. trong ví dụ của Jin, từ này có thể là '-16(220x50)' hoặc '-16' đều được. >>
Lệnh RTF của chương trình dưới đây sẽ làm được điều Jin muốn.
Chương trình sẽ yêu cầu nhập vào:
- từ đứng trước: là cụm từ nhận dạng đứng đằng trước từ cần thay. trong ví dụ của Jin, từ này có thể là 'D'.
- từ đứng sau: là cụm từ nhận dạng đứng đằng sau từ cần thay. trong ví dụ của Jin, từ này có thể là '-16(220x50)' hoặc '-16' đều được.
- từ mới muốn thay: là từ muốn thay vào giữa hai cụm từ nhận dạng trên. Trong ví dụ của jin, từ này là '13'.
- các text cần thay: chọn các text cần thay.
Các giá trị này được lưu lại, nếu các lần dùng lệnh sau mà không muốn thay đổi giá trị, chỉ việc nhấn enter lúc chương trình hỏi.
Cách hoạt động của chương trình theo ví dụ của Jin: tìm tất cả các từ có cấu trúc D*-16 và thay bằng D13-16.
<<
|
Tác giả: Tue_NV
Bài viết gốc: 43078
Tên lệnh: tlh |
Hatch
Mới viết được đoạn Code này để thay đổi tỉ lệ Hatch.
Các bạn dùng thử :
|
Tác giả: Nguyen Hoanh
Bài viết gốc: 4308
Tên lệnh: cvt |
Viết Lisp theo yêu cầu
Có 3 lệnh dưới đây đáp ứng được 3 yêu cầu của bạn:
1. lệnh CVT: vẽ tường cân từ một line hoặc pline. Đầu vào: đối tượng (poly)line, chiều dày tường.
2. lệnh CVTL: vẽ tường lệch từ một line hoặc pline và bề dày. Đầu vào: đối tượng (poly)line, phía offset, khoảng cách offset, chiều dày tường.
3. lệnh CVTRIM: cắt bỏ đoạn line giao nhau giữa 2 tường. Đầu vào:... >>
Có 3 lệnh dưới đây đáp ứng được 3 yêu cầu của bạn:
1. lệnh CVT: vẽ tường cân từ một line hoặc pline. Đầu vào: đối tượng (poly)line, chiều dày tường.
2. lệnh CVTL: vẽ tường lệch từ một line hoặc pline và bề dày. Đầu vào: đối tượng (poly)line, phía offset, khoảng cách offset, chiều dày tường.
3. lệnh CVTRIM: cắt bỏ đoạn line giao nhau giữa 2 tường. Đầu vào: 4 đường, chia làm 2 cặp. Mỗi cặp thể hiện một tường.
Như vậy, lệnh CVTL tuy có khác so với yêu cầu thứ 2 của bạn, nhưng nó điển hình hơn. Khi bạn muốn làm như yêu cầu thứ 2 của bạn, bạn kết hợp lệnh CVTL và lệnh CVTRIM là được.
<<
|
Tác giả: Nguyen Hoanh
Bài viết gốc: 4308
Tên lệnh: cvt cvtrim%09 cvtl |
Viết Lisp theo yêu cầu
Có 3 lệnh dưới đây đáp ứng được 3 yêu cầu của bạn:
1. lệnh CVT: vẽ tường cân từ một line hoặc pline. Đầu vào: đối tượng (poly)line, chiều dày tường.
2. lệnh CVTL: vẽ tường lệch từ một line hoặc pline và bề dày. Đầu vào: đối tượng (poly)line, phía offset, khoảng cách offset, chiều dày tường.
3. lệnh CVTRIM: cắt bỏ đoạn line giao nhau giữa 2 tường. Đầu vào:... >>
Có 3 lệnh dưới đây đáp ứng được 3 yêu cầu của bạn:
1. lệnh CVT: vẽ tường cân từ một line hoặc pline. Đầu vào: đối tượng (poly)line, chiều dày tường.
2. lệnh CVTL: vẽ tường lệch từ một line hoặc pline và bề dày. Đầu vào: đối tượng (poly)line, phía offset, khoảng cách offset, chiều dày tường.
3. lệnh CVTRIM: cắt bỏ đoạn line giao nhau giữa 2 tường. Đầu vào: 4 đường, chia làm 2 cặp. Mỗi cặp thể hiện một tường.
Như vậy, lệnh CVTL tuy có khác so với yêu cầu thứ 2 của bạn, nhưng nó điển hình hơn. Khi bạn muốn làm như yêu cầu thứ 2 của bạn, bạn kết hợp lệnh CVTL và lệnh CVTRIM là được.
<<
|
Filename: 4308_cvt_cvtrim%09_cvtl.lsp
|
|
Tác giả: Tue_NV
Bài viết gốc: 43070
Tên lệnh: burst |
Explode Block thuộc tính -- giá trị không đổi????
Hay bạn cũng có thể sử dụng file lisp này : burst.lsp
File này là file lisp nằm trong phụ trợ Express. Nếu bạn dùng các phiên bản CAD không có phụ trợ Express này thì hãy sử dụng đoạn Lisp này để thay thế.
Chúc thành công.
|
Filename: 43070_burst.lsp
|
|
Tác giả: vndesperados
Bài viết gốc: 4279
Tên lệnh: db | |
Tác giả: Tue_NV
Bài viết gốc: 42252
Tên lệnh: xscale xsc |
chỉnh sửa bản vẽ cad
Bạn sử dụng lệnh Xsc : scale một chiều nhé
Đây là code
Hướng dẫn sử dụng code : bạn xem ở đây : Hướng dẫn sử dụng code
|
Filename: 42252_xscale_xsc.lsp
|
|
Tác giả: gia_bach
Bài viết gốc: 42463
Tên lệnh: ins point |
Chèn points vào vị trí text
Bạn dùng thử LISP sau :
(chú ý: Lisp này chưa xét đến t.hợp nội dung Text không phải là số. Vd: " 123 0" có khoảng trắng giữa các kí tự)
|
Filename: 42463_ins_point.lsp
|
|
Tác giả: Nguyen Hoanh
Bài viết gốc: 4164
Tên lệnh: p2t | |
Tác giả: duy782006
Bài viết gốc: 4196
Tên lệnh: maw | |
Tác giả: Tue_NV
Bài viết gốc: 41415
Tên lệnh: cdl col ctl cbll chl |
Muốn chập 2 hay nhiều layer làm 1 thì làm thế nào
Xin lỗi, hai hàm đó đay anh gia bách ạ.
Tiện thể, xin hỏi anh giabach có hàm nào mà khi pick vào dimension thì trả về được một giá trị chính là giá trị số text ghi trên dimension đó hay không?
Cám ơn anh.
Chúc anh thật nhiều sức khỏe.
|
Filename: 41415_cdl_col_ctl_cbll_chl.lsp
|
|
Tác giả: Tue_NV
Bài viết gốc: 41610
Tên lệnh: bdim |
Hỏi về khoảng cách các đường dim
Điều bạn nói là đúng. Nhưng mình có thể làm nhanh hơn thế. Thay vì bước vào format > Dimension Style>Modify>Lines and Arrows chọn ô: Baseline spacing cho giá trị bạn muốn ví dụ 400 sau đó nhấn OK. Mình chỉ cần gõ 1 lệnh Dimdli
Nhập khoảng cách . sau đó làm bước 2 như bạn : Bây giờ bạn đánh lệnh DLI đo 1 đoạn AB sau đó dùng lệnh DBA bạn sẽ có cái mà bạn cần.
Hoặc nhanh hơn... >>
Điều bạn nói là đúng. Nhưng mình có thể làm nhanh hơn thế. Thay vì bước vào format > Dimension Style>Modify>Lines and Arrows chọn ô: Baseline spacing cho giá trị bạn muốn ví dụ 400 sau đó nhấn OK. Mình chỉ cần gõ 1 lệnh Dimdli
Nhập khoảng cách . sau đó làm bước 2 như bạn : Bây giờ bạn đánh lệnh DLI đo 1 đoạn AB sau đó dùng lệnh DBA bạn sẽ có cái mà bạn cần.
Hoặc nhanh hơn nữa bạn có thể swr dụng lisp sau :
Tên lệnh là bdim :
Chúc bạn thành công. Hy vọng đúng ý các bạn. <<
|
Tác giả: Tue_NV
Bài viết gốc: 41317
Tên lệnh: scc |
Viết Lisp theo yêu cầu
Đầu tiên, có thể bạn sử dụng lệnh Tjust để chuyển một chữ căn lề trái, một chữ căn lề phải ( mà không bị thay đổi vị trí của text) theo bạn Nataca. Hoặc có thể bạn không dùng cũng được. sau này bạn move ra một chút
. Và bạn sử dụng đoạn Code của mình để thực hiện ý muốn của mình.
Dưới đây là Code :
Để mình giải thích .
Đoạn code trên dựa... >>
Đầu tiên, có thể bạn sử dụng lệnh Tjust để chuyển một chữ căn lề trái, một chữ căn lề phải ( mà không bị thay đổi vị trí của text) theo bạn Nataca. Hoặc có thể bạn không dùng cũng được. sau này bạn move ra một chút
. Và bạn sử dụng đoạn Code của mình để thực hiện ý muốn của mình.
Dưới đây là Code :
Để mình giải thích .
Đoạn code trên dựa trên lệnh scale với điểm chèn là trung điểm của đường thẳng nối 2 text.
Và tỉ lệ của lệnh Scale trên bằng khoảng cách 2 text đầu (chữ to) chia cho khoảng cách 2 text cuoi (là khoảng cách do mình chọn lúc cuối cùng)
Mục đích là để thu hẹp khoảng cách của 2 text. Sau đó sử dụng hàm tt để thay đổi chiều cao của 2 text đó :
Ở dòng lệnh :
Height/Select:
Nếu bạn chọn S thì : chương trình bảo bạn nhập kích thước text mới
Nếu bạn chọn H thì : chương trình bảo bạn chọn Chieu cao loai Texts can thay doi và chiều cao text thay doi chieu cao thanh:
Trong trường hợp này bạn nên chọn S
Còn bạn muốn thực hiện lệnh là multiple
thì bạn hãy gõ
Command : multiple
Enter command name to repeat: scc
....
Bạn có thể thiết lập lệnh tắt multiple trong file acad.pgp
Nhớ thanks ủng hộ nhé.
Chúc vui  <<
|
Tác giả: Tue_NV
Bài viết gốc: 41411
Tên lệnh: mgco ccot |
Xin lisp ghi được cao độ cụ thể các điểm trên mặt cắt dọc
Code đây sẽ làm được điều bạn cần :
Cách thức hoạt động của đoạn code trên :
Bạn giải nén file tue.zip (Có chứa file ghicot.lsp và file cot.dwg) vào trong ổ đĩa C:\tue mà mình sẽ upload dưới đây
Sau đó vào CAD ->gõ option ->File -> Bạn chọn Support file Search path -> Add vào đường dẫn C:\tue ->OK.
Nếu bạn không làm những bước trên thì chương trình sẽ không... >>
Code đây sẽ làm được điều bạn cần :
Cách thức hoạt động của đoạn code trên :
Bạn giải nén file tue.zip (Có chứa file ghicot.lsp và file cot.dwg) vào trong ổ đĩa C:\tue mà mình sẽ upload dưới đây
Sau đó vào CAD ->gõ option ->File -> Bạn chọn Support file Search path -> Add vào đường dẫn C:\tue ->OK.
Nếu bạn không làm những bước trên thì chương trình sẽ không chạy.
Bạn appload file ghicot.lsp lên và bắt đầu sử dụng :
Đơn vị ghi cot là đơn vị mm
Ở đây có thêm lệnh Ccot là lệnh copy cao độ từ cao độ có sẵn. Bạn ngâm cứu nhé. hay lắm
Mình sẽ làm ví dụ trong file của bạn
Command: mgco
Nhap: "T" neu xac dinh cot theo moc tuong doi.
-> Diem goc xac dinh cot /T/<0.0>: _from Base point: (Pick vào điểm gốc xác định tọa độ tương đối) : @0,-368550 (đây là tọa độ điểm gốc 0,0 được xác định theo chế độ bắt điểm from từ điểm gốc xác định tọa độ tương đối)
->> Ghi cot vao diem goc ?/Y/: n
Cot cao do tinh bang "Milimet" !
->> Cot cao do <0.000> : Enter
->> Diem ghi cot tiep theo: Pick vào điểm ghi cot
Cot cao do tinh bang "Milimet" !
->> Cot cao do <+368.550> :
->> Diem ghi cot tiep theo: Pick vào điểm ghi cot
Cot cao do tinh bang "Milimet" !
->> Cot cao do <+368.050> :
->> Diem ghi cot tiep theo: Pick vào điểm ghi cot
Cot cao do tinh bang "Milimet" !
->> Cot cao do <+367.603> :
->> Diem ghi cot tiep theo: Pick vào điểm ghi cot
Cot cao do tinh bang "Milimet" !
->> Cot cao do <+368.670> :
----Còn nữa
File Tue.zip đây bạn : TueZip
File ví dụ mình sửa đây bạn : Coc_12Zip
Nhớ thanks đấy nhé.
À quên : Ứng dụng file líp ghi cot bạn có thể ghi tọa độ của sợi cáp trong phần bê tông ứng lực trước bằng cách thay cái file cot.dwg có chứa đối tượng block thành một file cot.dwg có chứa đối tượng là một point(đối tượng điểm)
Chúc vui. 
<<
|
Filename: 41411_mgco_ccot.lsp
|
|
Tác giả: Tue_NV
Bài viết gốc: 40730
Tên lệnh: ga | |
Tác giả: nataca
Bài viết gốc: 41201
Tên lệnh: tx txc tyh ty |
Yêu cầu lisp căn chỉnh vị trí Text !
Text văng có thể là do bạn dùng Mtext.
Đây là Lisp tôi viết để dùng. Cái này giúp trình bày bản vẽ ngay ngắn hơn.
|
Filename: 41201_tx_txc_tyh_ty.lsp
|
|