Jump to content
InfoFile
Tác giả: hoa35ktxd
Bài viết gốc: 105125
Tên lệnh: caodo
Xin lisp đánh cao độ đường ống cấp nước
Bạn dùng thử nhé:

Quên béng mất, vội đi ăn cơm:
Trong bản vẽ bạn cần tạo 2 Block có thuộc tính để ghi cao độ giống y như cái ký hiệu cao độ cảu ban trong đó thuộc tính cảu Block dùng để ghi cao độ
2 Block đó có tên là CaoDoR (Phải) và CaoDoL(Trái)
Chương trình sẽ căn cứ vào 2 điểm chọn để xác định góc nghiêng của tuyến đồng thời sẽ tính toán chiều nghiêng...
>>
Bạn dùng thử nhé:

Quên béng mất, vội đi ăn cơm:
Trong bản vẽ bạn cần tạo 2 Block có thuộc tính để ghi cao độ giống y như cái ký hiệu cao độ cảu ban trong đó thuộc tính cảu Block dùng để ghi cao độ
2 Block đó có tên là CaoDoR (Phải) và CaoDoL(Trái)
Chương trình sẽ căn cứ vào 2 điểm chọn để xác định góc nghiêng của tuyến đồng thời sẽ tính toán chiều nghiêng để chèn Block (trái phải) nhìn cho giống như DIM tránh trường hợp phải xoay ngược màn hình mới đọc được.
- Kích cỡ của ký hiệu sẽ phụ thuộc vào tham số tỷ lệ chèn, bạn hãy điều chỉnh tỷ lệ này cho phù hợp với yêu cầu.
<<

Filename: 105125_caodo.lsp
Tác giả: VUVUZELA
Bài viết gốc: 104714
Tên lệnh: nn
Lisp nối Line thành Pline ?


Day bac thu daon nay xem

Filename: 104714_nn.lsp
Tác giả: VUVUZELA
Bài viết gốc: 104924
Tên lệnh: batter%09
viết giúp em cái lisp rải mái taluy

Đây nè, cho các bác bộ mã nguồn luôn
Về nghiên cứu thêm nhé


Filename: 104924_batter%09.lsp
Tác giả: gia_bach
Bài viết gốc: 104545
Tên lệnh: ftext
Viết giúp Lisp xoá text trong khoảng nhất định


với tỷ lệ khác thì không được. : Lisp ở trên không phụ thuộc vào tỉ lệ bản vẽ.

Update lisp : cho phép người dùng nhập giá trị khoảng cách cần loại bỏ.
- nói thêm về giá trị này : đó là khoảng cách từ đuờng bao của Text (tưong tự lệnh OFFSET)
Lisp sẽ lọc các Text có giao với đuờng bao Offset này (đuờng màu cyal)
http://img19.imageshack.us/img19/4015/offsettext.jpg
>>

với tỷ lệ khác thì không được. : Lisp ở trên không phụ thuộc vào tỉ lệ bản vẽ.

Update lisp : cho phép người dùng nhập giá trị khoảng cách cần loại bỏ.
- nói thêm về giá trị này : đó là khoảng cách từ đuờng bao của Text (tưong tự lệnh OFFSET)
Lisp sẽ lọc các Text có giao với đuờng bao Offset này (đuờng màu cyal)
http://img19.imageshack.us/img19/4015/offsettext.jpg

File Cad kết quả : Filter_text.dwg

<<

Filename: 104545_ftext.lsp
Tác giả: hoa35ktxd
Bài viết gốc: 104648
Tên lệnh: ghepfile
Nhờ hướng dẫn sử lý file số liệu(Text) bằng LISP
Bác xem thử có được không nhé.

Filename: 104648_ghepfile.lsp
Tác giả: ssg
Bài viết gốc: 10443
Tên lệnh: bl
Chuyen thuoc tinh cua doi tuong ve by layer


Mtext explode thì thành dtext. Nói chung, nó chỉ rời ra thành từng dòng chứ làm gì mà bung bét thành từng chữ? Có lẽ khi tạo Mtext, người ta làm những thao tác... quái chiêu nào đó chẳng biết!
Thôi được, bạn thử dùng chương trình sau. Gõ lệnh BL (bylayer) là nó làm tất tần tật mọi đối tượng trên bản vẽ về ByLayer (kể cả các Mtext quái chiêu của bạn) mà chẳng cần hỏi han gì!

Filename: 10443_bl.lsp
Tác giả: gia_bach
Bài viết gốc: 104433
Tên lệnh: ftext
Viết giúp Lisp xoá text trong khoảng nhất định

Bạn chạy thử LISP : Lọc các Text thỏa điều kiện có k/cách nhỏ hơn 1 giá trị cho truớc -> chuyển sang layer khác (cho phép chọn tên layer) + Xuất các Text ra 2 file (Txt hoặc CSV)

Cách sử dụng :
gõ lệnh : Ftext (Filter Text)
- chọn Text
- nhập k/cách
- nhập tên Layer chứa Text cần lọc (nếu layer chưa có, lisp sẽ tạo mới)
- chọn tên file xuất Text gốc, Lisp sẽ tự...
>>

Bạn chạy thử LISP : Lọc các Text thỏa điều kiện có k/cách nhỏ hơn 1 giá trị cho truớc -> chuyển sang layer khác (cho phép chọn tên layer) + Xuất các Text ra 2 file (Txt hoặc CSV)

Cách sử dụng :
gõ lệnh : Ftext (Filter Text)
- chọn Text
- nhập k/cách
- nhập tên Layer chứa Text cần lọc (nếu layer chưa có, lisp sẽ tạo mới)
- chọn tên file xuất Text gốc, Lisp sẽ tự tao file chứa Text cần lọc với qui tắc : tên file gốc + _filter
vd : tên file gốc là Cadviet.csv -> tên file chứa Text cần lọc : Cadviet_filter.csv
Hy vọng hữu ích với bạn.

<<

Filename: 104433_ftext.lsp
Tác giả: elleHCSC
Bài viết gốc: 10421
Tên lệnh: vc
Bảng toạ độ các đỉnh thửa đất
To SSG !



Bác SSG có thể giúp làm cho cái CT ở trên khi chạy số thứ tự đỉnh sẽ theo chiều thuận kim đồng hồ không ? vì khi dùng lệnh BO bao giờ cad cũng cho các đỉnh theo chiều ngược kim đồng hồ.
Tôi ko rành về lisp lắm nên ko biết cách sửa đoạn code trên mặc dù về thuật toán thì tôi biết làm thế nào để cho các đỉnh thửa chạy theo chiều thuận kim đồng hồ. VD...
>>
To SSG !



Bác SSG có thể giúp làm cho cái CT ở trên khi chạy số thứ tự đỉnh sẽ theo chiều thuận kim đồng hồ không ? vì khi dùng lệnh BO bao giờ cad cũng cho các đỉnh theo chiều ngược kim đồng hồ.
Tôi ko rành về lisp lắm nên ko biết cách sửa đoạn code trên mặc dù về thuật toán thì tôi biết làm thế nào để cho các đỉnh thửa chạy theo chiều thuận kim đồng hồ. VD các vertex List(x1y1, x2y2, xiyi...) thì khi đánh số thứ tự chỉ việc đảo ngược lại .

TKS
<<

Filename: 10421_vc.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 104071
Tên lệnh: chatt
Đánh số thứ tự cho text thuộc tính!

Chào bạn thanhphong2002,
Trong lúc chờ bác Thái ra tay, bạn dùng thử cái này xem sao.
Lisp này chỉ xài được cho các block khung tên có cái tên đúng như trên bản vẽ bạn post là "A3-ko khung ten.fv.5x". Nếu bạn muốn xài với các block khung tên khác thì mình không chịu trách nhiệm. Hề hề hề.
Lisp này sẽ đánh số bản vẽ theo thứ tự bạn nhập khung tên vào bộ chọn và bắt đầu đánh...
>>

Chào bạn thanhphong2002,
Trong lúc chờ bác Thái ra tay, bạn dùng thử cái này xem sao.
Lisp này chỉ xài được cho các block khung tên có cái tên đúng như trên bản vẽ bạn post là "A3-ko khung ten.fv.5x". Nếu bạn muốn xài với các block khung tên khác thì mình không chịu trách nhiệm. Hề hề hề.
Lisp này sẽ đánh số bản vẽ theo thứ tự bạn nhập khung tên vào bộ chọn và bắt đầu đánh từ số bạn nhập vào tăng dần với công sai là 1. Nếu bạn không nhập giá tri bắt dầu đánh số thì lisp sẽ tự đánh số bắt đấu là 1.
Tuy chưa hoàn toàn tối ưu song mình nghĩ có thể giúp bạn phần nào trong lúc bạn chờ các bác khác. Chúc bạn vui.
Lisp đây:


Bài được chỉnh sửa bởi Pham Thanh Binh ngày 22-8-2010 để cho phép người sử dụng nhập tên block khung tên và thuộc tính STT bản vẽ.
<<

Filename: 104071_chatt.lsp
Tác giả: Thaistreetz
Bài viết gốc: 103612
Tên lệnh: tc
Xin lisp căn Text vào chính giữa ô

Chọn 1 lúc nhiều text. lisp sẽ di chuyển text vào đúng trọng tâm của miền kín gần nhất bao quanh mỗi text.

Filename: 103612_tc.lsp
Tác giả: dkkx3a
Bài viết gốc: 103853
Tên lệnh: loctext
Tiện ích (lệnh) lọc các số nằm trong giới hạn m -:- n:


Ví dụ: trong bản vẽ có nhiều text số, bạn muốn lọc các số nằm trong giới hạn từ 5.5 đến 12.75 chẳng hạn thì lệnh sẽ lọc và hiển thị tập hợp các số nằm trong giới hạn đã nhập - tức là lớn hơn hoặc bằng 5.5 và nhỏ hơn hoặc bằng 12.75 !

Filename: 103853_loctext.lsp
Tác giả: philipdn
Bài viết gốc: 102534
Tên lệnh: vpl
Vẽ đường thẳng ứng với chiều dài và độ dốc dọc được nhập vào
Lisp thực hiện chức năng vẽ đường thẳng ứng với các chỉ số chiều dài và độ dốc được người sử dụng nhập vào từ bàn phím


Filename: 102534_vpl.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 103046
Tên lệnh: acpr2t
Mọi người có cách gì để chuyển các cao độ trong bản vẽ này về dạng text dc ko?

Chào bạn thuyengt,
Bạn thử sử dụng đoạn lisp dưới đây xem sao nhé. Lisp này giúp bạn đổi các đối tượng ACAD_PROXY_ENTITY thành các MTEXT và vẫn đặt tại vị trí của point.
Nếu có gì chưa phù hợp, hãy post lên mình sẽ xem lại.
Lisp này chỉ phù hợp với cấu trúc của Acad_proxy_entity trên bản vẽ bạn đã post. Nếu Acad_proxy_entity có cấu trúc khác sẽ không còn phù hợp nữa....
>>

Chào bạn thuyengt,
Bạn thử sử dụng đoạn lisp dưới đây xem sao nhé. Lisp này giúp bạn đổi các đối tượng ACAD_PROXY_ENTITY thành các MTEXT và vẫn đặt tại vị trí của point.
Nếu có gì chưa phù hợp, hãy post lên mình sẽ xem lại.
Lisp này chỉ phù hợp với cấu trúc của Acad_proxy_entity trên bản vẽ bạn đã post. Nếu Acad_proxy_entity có cấu trúc khác sẽ không còn phù hợp nữa. Bạn hãy lưu ý nhé.


Sau khi đã chuyễn các đối tượng này thành MTEXT thì việc bạn muốn thay đổi nó hoàn toàn đơn giản đúng không????
Chúc bạn vui.....
<<

Filename: 103046_acpr2t.lsp
Tác giả: gia_bach
Bài viết gốc: 102222
Tên lệnh: at2t
Lisp Ghép Text Cần Giúp Đỡ

Cật nhật theo yêu cầu : Nối text theo thứ tự các text được chọn.

Filename: 102222_at2t.lsp
Tác giả: gia_bach
Bài viết gốc: 102365
Tên lệnh: rft
lisp Phun tọa độ các điểm từ file txt vào CAD

to : thanhduan2407
- Bạn tham khảo cách sử dụng hàm Split ở trên, chỉ đơn giản thay dòng (split Line "\t") bằng (split Line)
và dòng (vl-string-search "\t" Line) bằng (wcmatch Line (strcat "*"(chr 9)"*,*"(chr 32)"*,*`"(chr 44)"*"))
- Nếu bạn đã biết VB thì việc học LISP rất đơn giản (Ngôn ngữ chỉ là cách thể hiện, thuật toán mới là vấn đề)
- Bạn có thể tham khảo bài Hướng dẫn lập...
>>

to : thanhduan2407
- Bạn tham khảo cách sử dụng hàm Split ở trên, chỉ đơn giản thay dòng (split Line "\t") bằng (split Line)
và dòng (vl-string-search "\t" Line) bằng (wcmatch Line (strcat "*"(chr 9)"*,*"(chr 32)"*,*`"(chr 44)"*"))
- Nếu bạn đã biết VB thì việc học LISP rất đơn giản (Ngôn ngữ chỉ là cách thể hiện, thuật toán mới là vấn đề)
- Bạn có thể tham khảo bài Hướng dẫn lập trình Lisp, Hãy tự mình khám phá... của bác SSG.
<<

Filename: 102365_rft.lsp
Tác giả: VUVUZELA
Bài viết gốc: 102487
Tên lệnh: rft
Nowadays, video displaying units are most commonly used in very luxurious cars to make the traveling of their passengers unforgettable and most convenient.
Cái này mình mạn phép chỉnh bản quyền của tác giả 1 ty để làm theo yêu cầu của bạn
Có gì pm nhé

Filename: 102487_rft.lsp
Tác giả: VUVUZELA
Bài viết gốc: 102059
Tên lệnh: nh
Lisp nối Line thành Pline ?
Bạn chạy lại đoạn lisp này xem thử. Thử chọn đối tượng là TEXT, CIRCLE xem sao
He he

Filename: 102059_nh.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 101665
Tên lệnh: isec
Viết lisp theo yêu cầu [phần 2]

Hề hề hề,
Chào bạn congdung04,
Của bạn đây, tranh thủ giải lao mình viết tạm cái này để bạn xài thử, nếu có vấn đề gì thì postt lên nhé. Lisp này mình cho vẽ với tỉ lệ 1:1 và sử dụng kiểu hatch ansí31 ( kiểu thường dùng cho mặt cắt kim loại) tỷ lệ hatch là 50. Nếu bạn muốn có thể thay đổi cái hatch này trong dòng lệnh sau:
(command "bhatch" "s" a0 a1 a2 a3 "" "p" "ansi31"...
>>

Hề hề hề,
Chào bạn congdung04,
Của bạn đây, tranh thủ giải lao mình viết tạm cái này để bạn xài thử, nếu có vấn đề gì thì postt lên nhé. Lisp này mình cho vẽ với tỉ lệ 1:1 và sử dụng kiểu hatch ansí31 ( kiểu thường dùng cho mặt cắt kim loại) tỷ lệ hatch là 50. Nếu bạn muốn có thể thay đổi cái hatch này trong dòng lệnh sau:
(command "bhatch" "s" a0 a1 a2 a3 "" "p" "ansi31" 50 0 "" "")
Bạn copy lisp này vào một thư mục có trong đường dẫn tìm kiếm của Cad và load nó vào Cad để thử nhé. Lệnh là isec (nghĩa là I section).
http://www.cadviet.com/upfiles/3/isec.lsp


Chúc bạn vui.
<<

Filename: 101665_isec.lsp
Tác giả: gia_bach
Bài viết gốc: 101850
Tên lệnh: exta
lisp Phun tọa độ các điểm từ file txt vào CAD

Bạn thử Lisp : Xuất tọa độ và các Tag (STT, mã code) của Block Attribute ra file Text (Bao gồm : Số thứ tự, text mã Code, toạ độ X-Y-Z)
Truờng hợp cao độ Z của Block bị đưa về "0" thì lấy giá trị của Tag Cao độ (EL.EV).

Filename: 101850_exta.lsp
Tác giả: gia_bach
Bài viết gốc: 101937
Tên lệnh: rft
lisp Phun tọa độ các điểm từ file txt vào CAD
Bạn cần sửa hàm SPLIT để đổi giá trị Code thành kiểu String.

Đã kiểm tra với dữ liệu :
1 4.376 5.577 12.000 123
2 3.576 3.777 10.000 abc
0 4.176 5.577 13.000 444
a 3.876 3.977 10.000 ddd
Chú ý : thêm dòng (setvar "AttReq" 1) vào Lisp nếu cần thiết.

Filename: 101937_rft.lsp

Trang 51/303

51