PDA

View Full Version : Lisp tính lý trình của 1 hoặc 2 điểm trên 1 polyline và ghi kết quả vào 1 text có sẵn


dauquangminh
09-13-2011, 04:57 PM
Tác giả: tiền bối phamthanhbinh – moderator của www.cadviet.com (mình nhờ bác ấy viết giúp ấy mà)
Xin cảm ơn tấm lòng của bác phamthanhbinh đã đóng góp cho ngành giao thông chúng ta.
Link download: http://www.mediafire.com/?4py4nu5wgp14029
http://i1096.photobucket.com/albums/g336/dauquangminh/9-9-20117-16-12PM.jpg
http://i1096.photobucket.com/albums/g336/dauquangminh/9-9-20117-16-45PM.jpg
Ứng dụng của lisp này:
- Tính lý trình của 1 điểm: ví dụ tính lý trình của các vị trí đặt biển báo giao thông nằm trên tuyến tại Km bao nhiêu?
- Tính lý trình của 2 điểm: ví dụ tính lý trình của các vị trí đóng cừ tràm nằm trên tuyến từ Km… - Km…, dành cho các đường ở miền tây có nhiều ao hồ.
Lisp sẽ hỏi như sau:
- Chọn polyline cần tính lý trình: bạn chọn đường tim tuyến
- Điểm gốc tính lý trình nằm bên Trái hay Phải <T or P>: nếu gõ T tức điểm gốc là điểm A, còn gõ P tức điểm gốc là điểm B
- Chọn số chữ số thập phân: ví dụ chọn 1 thì kết quả sau này sẽ là Km1+123.1, ví dụ 2 thì kết quả sau này sẽ là Km1+123.13
- Tính lý trình của 1 hay 2 điểm <1 or 2>: ví dụ chọn 2 thì lisp sẽ hỏi bạn pick chọn 2 điểm
- Chọn point 1 cần tính lý trình: ví dụ ta chọn điểm 1
- Chọn point 2 cần tính lý trình: ví dụ ta chọn điểm 2
- Chọn text để ghi kết quả: bạn chọn text ABCDEF có sẵn hoặc text nào cũng được
Kết quả 1 sẽ chạy ra như hình vẽ
- Bạn hãy chọn điểm tiếp theo: ví dụ ta chọn điểm 3
- Chọn point 2 cần tính lý trình: ví dụ ta chọn điểm 4
- Chọn text để ghi kết quả: bạn chọn text ABCDEF có sẵn hoặc text nào cũng được
Kết quả 2 sẽ chạy ra như hình vẽ
… cứ như thế… khi nào tính xong thì nhấn Enter để kết thúc lisp.
Có người sẽ hỏi là tại sao phải ghi đè kết quả lên một text có sẵn mà không ghi ra một text mới luôn?
Trả lời:
http://i1096.photobucket.com/albums/g336/dauquangminh/9-12-20116-54-32PM.jpg
bạn hãy tạo sẵn một mẫu như hình vẽ ở dưới, với nội dung là “Đóng cừ tràm” hay có thể là nội dung khác phục vụ cho công việc khác và tạo 1 layer mới cho nó để sau này dễ chỉnh sửa hàng loạt, leader và ABCDEF cũng cho vào 1 layer mới nữa, ABCDEF hay nội dung khác cũng được vì mục đích là để biết cái nào mình tính lý trình rồi và cái nào chưa tính thôi, rồi copy các mẫu này đến vị trí mình mong muốn, kế tiếp sử dụng lisp và công việc của bạn chỉ có pick điểm, pick điểm, pick điểm, pick điểm, … không còn gì đơn giản hơn thế nữa. Chúc thành công.