Jump to content
InfoFile
Tác giả: Nguyen Hoanh
Bài viết gốc: 24188
Tên lệnh: cong tru nhan chia
Viết Lisp theo yêu cầu


Lỗi là do file của bạn, hàng trên điểm chèn nằm phía dưới, hàng dưới điểm chèn lại nằm lên trên. Vì vậy, kết quả là một text mới có hàng xác định không chuẩn.

Đây là lisp đã sửa cho trường hợp riêng của bạn:

Filename: 24188_cong_tru_nhan_chia.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 2406
Tên lệnh: dii ii
Lệnh insert block
Hay, sáng tạo!
vndesperados đã tạo ra 1 cặp lệnh. DII để insert một block chuẩn đầu tiên, sau đó dùng lệnh II để insert 1 block theo cấu hình như lệnh DII vừa rồi.
Ưu điểm:
- Giúp người dùng có một cặp lệnh để hạn chế phải nhập thông tin insert nhiều khối cùng 1 tính chất.
- Giao diện tiếng Việt.
Nhược:
- Mã nguồn đóng.

Thật ra thì không đến mức...
>>
Hay, sáng tạo!
vndesperados đã tạo ra 1 cặp lệnh. DII để insert một block chuẩn đầu tiên, sau đó dùng lệnh II để insert 1 block theo cấu hình như lệnh DII vừa rồi.
Ưu điểm:
- Giúp người dùng có một cặp lệnh để hạn chế phải nhập thông tin insert nhiều khối cùng 1 tính chất.
- Giao diện tiếng Việt.
Nhược:
- Mã nguồn đóng.

Thật ra thì không đến mức phức tạp như chương trình của vndesperados chúng ta cũng có thể có được 2 lệnh trên. Sử dụng luôn hộp thoại insert của AutoCAD để làm thao tác insert block chuẩn. Vẫn dùng 2 lệnh DII và II như chương trình của vndesperados.
Đoạn mã của chương trình đó như sau:

<<

Filename: 2406_dii_ii.lsp
Tác giả: Bommak
Bài viết gốc: 2320
Tên lệnh: dimsp
Xin các bác hướng dẫn thêm về AutoLISP..

Em thử áp dụng lệnh Dimspace mới của AutoCAD 2008 trong file Lisp dưới đây để hoàn thiện bản vẽ, nhưng bản thân em thấy nó còn lủng củng và chưa hoàn thiện. Em mong các bác nếu có thể chỉ dẫn thêm cho em...
Em mới tập viết AutoLISP nên nếu có điểm nào "ngây ngô" thì mong các bác nhiệt tình chỉ giúp.
Cảm ơn các bác nhiều..

Filename: 2320_dimsp.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 2383
Tên lệnh: daimline
Lisp tính tổng chiều dài các đối tượng


Cách tính chiều dài của MLINE khá giống với LWPOLYLINE. Tuy nhiên ACAD cấu trúc dữ liệu hơi khác so với LWPOLYLINE một chút. Với LWPOLYLINE, tất cả các đỉnh đều có dạng (10 x y z), còn trong MLINE chỉ có đỉnh đầu tiên có dạng (10 x y z) còn các đỉnh sau đó đều có dạng (11 x y z). Sau đây là lệnh DAIMLINE để tính tổng chiều dài các MLINE được chọn:

Filename: 2383_daimline.lsp
Tác giả: hocvecad
Bài viết gốc: 22378
Tên lệnh: tgt
Cần gấp lisp tăng giá trị khi chọn


Chỉ sai ở mỗi lỗi đó thôi . Sau khi sửa lại chạy tôi thấy không có lỗi gì nữa . Trước khi post lên đây tôi luôn luôn phải test đi test lại nhiều lần . Lỗi trên là do tôi bất cẩn khi copy qua code box . Lisp tôi viết là dựa trên thuật toán của tôi nghĩ ra và những code mà tôi học được . . Không biết dựa vào đâu mà bạn lại nói đây là một mớ chắp vá. Vả lại nếu chắp vá mà...
>>

Chỉ sai ở mỗi lỗi đó thôi . Sau khi sửa lại chạy tôi thấy không có lỗi gì nữa . Trước khi post lên đây tôi luôn luôn phải test đi test lại nhiều lần . Lỗi trên là do tôi bất cẩn khi copy qua code box . Lisp tôi viết là dựa trên thuật toán của tôi nghĩ ra và những code mà tôi học được . . Không biết dựa vào đâu mà bạn lại nói đây là một mớ chắp vá. Vả lại nếu chắp vá mà đúng thuật toán , chương trình vẫn chạy đúng cũng tốt chứ sao .
<<

Filename: 22378_tgt.lsp
Tác giả: ssg
Bài viết gốc: 22604
Tên lệnh: cc
Cần lisp đánh toạ độ cọc.

Bạn dùng thử lisp này, lệnh CC, chọn hàng loạt vòng tròn. Chỗ nào chưa đúng ý (liên quan đến toạ độ quy ước, trình bày kết quả...) thì nêu cụ thể, sửa 1 phát nữa là OK:

Filename: 22604_cc.lsp
Tác giả: ssg
Bài viết gốc: 23047
Tên lệnh: ilp ipp
Những câu hỏi về vẽ 3D trên AutoCAD

Các bạn dùng thử lisp này:
1- Lệnh ILP (Intersection between Line and Plane), chọn line và chỉ định 3 điểm thuộc mặt phẳng. Kết quả: 1 point giao điểm
2- Lệnh IPP (Intersection between Plane and Plane), chỉ định 6 điểm xác định 2 mặt phẳng. Kết quả: 1 line giao tuyến.


Filename: 23047_ilp_ipp.lsp
Tác giả: Snowman
Bài viết gốc: 22270
Tên lệnh: 3 4 5
Cần gấp lisp tăng giá trị khi chọn



Lệnh "3": tăng giảm nhiều số dưới dạng số thực
Lệnh "4": tăng giảm các số nguyên (dạng số thứ tự)
Lện "5": tăng giảm các số nguyên có chứa dấu (dạng cao độ)
Hy vọng giúp ích cho bạn

Filename: 22270_3_4_5.lsp
Tác giả: hocvecad
Bài viết gốc: 22278
Tên lệnh: tgt
Cần gấp lisp tăng giá trị khi chọn
List trên của Snowman mới chỉ áp dụng được cho những text chứa toàn số. List sau đây sẽ giúp bạn tăng các text bao gồm cả số và chữ .

Filename: 22278_tgt.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 22336
Tên lệnh: t2pl
Viết Lisp theo yêu cầu

Lệnh là T2PL (Text to Pline).

Sau khi bạn gõ lệnh T2PL, bạn hãy chọn tất cả các text X, Y (tức là nếu đa giác có n đỉnh thì bạn sẽ chọn 2*n text). Chương trình sẽ tự động nhận diện đâu là text X, đâu là text Y. Bạn đừng chọn các text không phải là tọa độ x, y (ví dụ như text số thứ tự, text chiều dài cạnh,...) vì như thế chương trình sẽ bị lỗi.

Chương trình...
>>

Lệnh là T2PL (Text to Pline).

Sau khi bạn gõ lệnh T2PL, bạn hãy chọn tất cả các text X, Y (tức là nếu đa giác có n đỉnh thì bạn sẽ chọn 2*n text). Chương trình sẽ tự động nhận diện đâu là text X, đâu là text Y. Bạn đừng chọn các text không phải là tọa độ x, y (ví dụ như text số thứ tự, text chiều dài cạnh,...) vì như thế chương trình sẽ bị lỗi.

Chương trình sẽ vẽ một pline tại đúng tọa độ X, Y đó và có thể nó sẽ nằm rất xa so với tọa độ của text. Sau khi thực hiện lệnh, bạn hãy sử dụng lệnh Zoom E để xem Pline vừa được tạo nằm ở đâu.


<<

Filename: 22336_t2pl.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 2217
Tên lệnh: vt
Lisp vẽ anten



Sử dụng lệnh vt, vẽ hình tròn bên trong như bình thường như lệnh circle. Hình tròn phía bên ngoài sẽ được tự động thêm vào.

Filename: 2217_vt.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 21747
Tên lệnh: shh
lisp vẽ và hatch theo yêu cầu


Tên lệnh là SHH (Scale hatch):

Filename: 21747_shh.lsp
Tác giả: ssg
Bài viết gốc: 21913
Tên lệnh: fn
Giúp tôi: Ghi tên file vào bản vẽ

Cad2004 trở về trước không có tính năng này.
Về lisp cũng vậy, có lẽ anh Hoành quên không để ý, lisp trên không dùng được cho Cad đời cũ.
Bạn có thể dùng lisp sau, lệnh FN, không phân biệt version:


Filename: 21913_fn.lsp
Tác giả: ssg
Bài viết gốc: 21097
Tên lệnh: nm
Vẽ ống mềm kiểu ruột gà
Chương trình vẽ ống nối mềm. Xem giải thích chi tiết trong code:

Filename: 21097_nm.lsp
Tác giả: ssg
Bài viết gốc: 21495
Tên lệnh: arl acl
Hỏi về cách vẽ 1 cung có kích thước chính xác.
Các bạn dùng thử lisp này.
1) Lệnh ARL: vẽ cung với bán kính R và chiều dài cung L, cho độ chính xác "tuyệt đối". Khái niệm tuyệt đối nằm trong dấu nháy vì thực chất, mọi cái đều... tương đối. AutoCAD, hay bất kỳ trình CAD nào, đều xử lý số liệu đến một độ chính xác nào đó theo khả năng của nó, nhất là trong các phép tính toán đại số và lượng giác phức tạp.
2)...
>>
Các bạn dùng thử lisp này.
1) Lệnh ARL: vẽ cung với bán kính R và chiều dài cung L, cho độ chính xác "tuyệt đối". Khái niệm tuyệt đối nằm trong dấu nháy vì thực chất, mọi cái đều... tương đối. AutoCAD, hay bất kỳ trình CAD nào, đều xử lý số liệu đến một độ chính xác nào đó theo khả năng của nó, nhất là trong các phép tính toán đại số và lượng giác phức tạp.
2) Lệnh ACL: vẽ cung với chiều dài dây C và chiều dài cung L. Trong hầu hết các trường hợp thông thường, cho độ chính xác không dưới 6 chữ số thập phân (1 phần triệu drawing unit). Bạn nào muốn kết quả chính xác "tuyệt đối" hoặc "gần như tuyệt đối" thì thêm 1 hoặc vài số 0 nữa ở chỗ dx 0.00001 trong chương trình. Đổi lại, bạn phải chịu khó ngồi... thư giãn một chút khi chạy chương trình!


P/S: Bạn nào biết cách giải phương trình sin(x) = k.x (với k = const) xin làm giúp. Đưa kết quả giải phương trình trên vào lisp sẽ hay hơn và cho kết quả chính xác hơn. Kiến thức lượng giác ssg quên sạch rồi!
<<

Filename: 21495_arl_acl.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 20872
Tên lệnh: fname
Giúp tôi: Ghi tên file vào bản vẽ
lệnh FNAME dưới đây sẽ giúp bạn:


Filename: 20872_fname.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 2094
Tên lệnh: tmax tmin
Lisp tìm giá trị max hoặc min trong text
Cải tiến chương trình của ssg, ta sẽ có 2 lệnh mới là TMax và TMin, sẽ tìm đối tượng text có giá trị min và max trong tập chọn.
Sau khi sử dụng lệnh và chọn các đối tượng, đối tượng lớn nhất (hoặc nhỏ nhất) sẽ được high light.

Filename: 2094_tmax_tmin.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 20568
Tên lệnh: cong tru nhan chia
Viết Lisp theo yêu cầu

Lệnh CONG, TRU, NHAN, CHIA dưới đây sẽ làm điều bạn cần:


Filename: 20568_cong_tru_nhan_chia.lsp
Tác giả: ssg
Bài viết gốc: 2076
Tên lệnh: mm
Lisp tìm giá trị max hoặc min trong text


Bạn thử dùng trình lisp sau. Appload và gõ mm để chạy. Nếu chưa đúng ý, bạn nêu rõ hơn yêu cầu.


Filename: 2076_mm.lsp
Tác giả: tranchan
Bài viết gốc: 19657
Tên lệnh: xp
Tìm & mở folder chứa file bản vẽ mình cần!?
Để tìm file bản vẽ trên máy của đồng nghiệp hôm đó nghỉ làm, thì nên làm cách nào hay???
Nếu bạn dựa vào dòng tiêu đề có đưòng dẫn đến folder thì là cách bình thường nhất nhưng chưa hay và còn lâu trong thao tác.
Xin mạo muội trình bày 2 cách mà tôi được biết.

1. Nếu ai đã có file hỗ trợ Mditab.arx (của Autodesk )thì chắc đã biết cách này. (cũng giống như...
>>
Để tìm file bản vẽ trên máy của đồng nghiệp hôm đó nghỉ làm, thì nên làm cách nào hay???
Nếu bạn dựa vào dòng tiêu đề có đưòng dẫn đến folder thì là cách bình thường nhất nhưng chưa hay và còn lâu trong thao tác.
Xin mạo muội trình bày 2 cách mà tôi được biết.

1. Nếu ai đã có file hỗ trợ Mditab.arx (của Autodesk )thì chắc đã biết cách này. (cũng giống như iDwgTab2007.arx nhưng nhiều tính năng hơn)
- Vào menu file Kiểm tra list bản vẽ dc mở cuối cùng trên máy đó
http://www.cadviet.com/upfiles/history.jpg
click chuột fải vào thanh mditab chọn open containing folder
http://www.cadviet.com/upfiles/open.jpg

2. Dùng file lisp sau


kết quả sau khi gõ lệnh sẽ tự động tìm đến folder chứa bv.

Ngoài ra, bác nào có cao kiến gì hay xin đóng góp thêm..
<<

Filename: 19657_xp.lsp

Trang 24/330

24