1/- Lỗi codebox của diễn đàn, mình không biết cách sửa.
2/- Bạn đã làm đúng. Tuy nhiên đây là code cũ chưa chỉnh sửa. Bởi vậy bạn nên làm tương tự với code mới và test với bản vẽ phù hợp.
3/- Lisp đã chạy hoàn tất chứ không hề mắc mứu chi. Tuy nhiên nó chả ra cái gì vì có thể bạn đã sử dụng bản vẽ để test chưa phù hợp với lisp.
hãy lưu ý các điểm sau đây khi sử dụng lisp này:
1/- Đường dẫn phải là một LWpolyline (vẽ bằng lệnh pline) và phải cắt lần lượt các đường đồng mức theo một chiều lên hay xuống và chỉ cắt mỗi đường đồng mức tại một điểm duy nhất. Do vậy người dùng phải vẽ đường dẫn này cho phù hợp chứ không thể vẽ tùy tiện.
2/- Các đường đồng mức trên bản vẽ phải cùng một màu số 30. (màu này là do mình viết dựa trên bản vẽ của chủ thớt gửi, người dùng khác có thể thay đổi lại trong code cho phù hợp với bản vẽ sử dụng)
3/- Do sử dụng lệnh measure nên độ dài của đường đồng mức phải lớn hơn 200 là khoảng cách giữa các điểm chia trên đường đồng mức. Nếu không sẽ có lỗi. Điều này đã được khắc phục trong code mới chỉnh sửa trong bài post #14 của topic này.
4/- Khi sử dụng lsp phải chắc chắn trên bản vẽ đã có block thuộc tính mang tên CD1 có cấu trúc giống như block mẫu mình đã post trong bài #14 nói trên.
5/- Nếu lười tạo block thuộc tính cd1 có thể sử dụng code bên dưới đây với lưu ý bổ sung là các đường đồng mức phải nằm trên một trong 3 layer sau: 1, 2, 5.
(defun c:gcddm ( / pl plst ssdml cdmax chcd i els ssp cdt p0 ssp0)
(command "attdef" "" (getstring "\n Nhap att tag: ") (getstring T "\n Nhap dong nhac: ")
(getstring "\n Nhap gia tri mac dinh: ") "J" "mc" (setq p0 (getpoint "\n Nhap diem chuan")) 0 )
(command "scale" (entlast) "" p0 50)
(command "block" bln p0 (entlast) "")
)
)
)
Hề hề hề,
1/- Lỗi codebox của diễn đàn, mình không biết cách sửa.
2/- Bạn đã làm đúng. Tuy nhiên đây là code cũ chưa chỉnh sửa. Bởi vậy bạn nên làm tương tự với code mới và test với bản vẽ phù hợp.
3/- Lisp đã chạy hoàn tất chứ không hề mắc mứu chi. Tuy nhiên nó chả ra cái gì vì có thể bạn đã sử dụng bản vẽ để test chưa phù hợp với lisp.
hãy lưu ý các điểm sau đây khi sử dụng lisp này:
1/- Đường dẫn phải là một LWpolyline (vẽ bằng lệnh pline) và phải cắt lần lượt các đường đồng mức theo một chiều lên hay xuống và chỉ cắt mỗi đường đồng mức tại một điểm duy nhất. Do vậy người dùng phải vẽ đường dẫn này cho phù hợp chứ không thể vẽ tùy tiện.
2/- Các đường đồng mức trên bản vẽ phải cùng một màu số 30. (màu này là do mình viết dựa trên bản vẽ của chủ thớt gửi, người dùng khác có thể thay đổi lại trong code cho phù hợp với bản vẽ sử dụng)
3/- Do sử dụng lệnh measure nên độ dài của đường đồng mức phải lớn hơn 200 là khoảng cách giữa các điểm chia trên đường đồng mức. Nếu không sẽ có lỗi. Điều này đã được khắc phục trong code mới chỉnh sửa trong bài post #14 của topic này.
4/- Khi sử dụng lsp phải chắc chắn trên bản vẽ đã có block thuộc tính mang tên CD1 có cấu trúc giống như block mẫu mình đã post trong bài #14 nói trên.
5/- Nếu lười tạo block thuộc tính cd1 có thể sử dụng code bên dưới đây với lưu ý bổ sung là các đường đồng mức phải nằm trên một trong 3 layer sau: 1, 2, 5.
(defun c:gcddm ( / pl plst ssdml cdmax chcd i els ssp cdt p0 ssp0)
Đưa bình đồ dạng đường đồng mức về bình đồ dạng cao độ
trong San nền - Giao thông
Đã đăng · Trả lời báo cáo