Chuyển đến nội dung
Diễn đàn CADViet
Doan Van Ha

Các lỗi "oái oăm" trong LISP!!!

Các bài được khuyến nghị

Move đi rồi move về thì Z đâu thay đổi (?) Ket test trên bản ở trên thì thấy vẫn như cũ. 

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Oh đúng thật. Thú vị ở chỗ cháu nghịch move đi move lại 1 lúc thì có khi cái xanh cũng mất toi inter ^^ => Tránh xa 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Flatten của Express thì OK, nhưng chả thích dùng các lệnh của Express tí nào.

Nghiên cứu file "Flatten.lsp" thì gặp 1 rừng acet, càng chán hơn.

Không biết có cách gì nữa không? Kể cả move endpoint của spline về (x y 0.0) cũng không được nốt.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Sống với AutoCad như chấp nhận sống chung với lũ: nó error bất cứ lúc nào mà ta không biết được. Lỗi dưới đây trích từ topic này:

http://www.cadviet.com/forum/topic/14210-hoi-ve-lisp-thuat-toan-y-tuong-coding/page-139

- Xét một hàm list gồm 3 thành phần như (1 2 3). Các hàm sau đây sẽ lỗi:

(cons 220 '(1 2 3))

(append '(220) '(1 2 3))

Nhưng nếu thay 220 bởi 1 số nhỏ hơn 220 hoặc lớn hơn 239 thì không lỗi.

Hoặc danh sách (1 2 3) bớt đi 1 hoặc/và 2 phần tử hoặc thêm phần tử vào thì cũng không lỗi.

- Xét một hàm (X A C) trong đó X là biến số. Hàm sau đây sẽ bị lỗi nếu 220<=X<=239:

(list (list X A C))

Nhưng nếu bớt đi 1 phần tử A hoặc C thì không lỗi,

Nhưng nếu thêm 1 phần tử D vào nữa thì lỗi.

Nhưng nếu thêm 2,3,4... phần tử vào nữa thì không lỗi.

Nói chung, khoảng giới hạn từ 220 đến 239 là rất nguy hiểm khi sử dụng các hàm danh sách.

Các lỗi chỉ xãy ra khi nhập vào command hoặc khi chạy lisp, nhưng nó không lỗi khi nhập vào vlide.

Lại nghe tin Cad 2015/2016 có bản quyền thì không bị lỗi nữa.

Kính báo sự lùng bùng!

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Giao điểm của 2 đường thẳng giao nhau không phải là điểm giao nhau của 2 đường thẳng đó!

Thử xem "định lý" trên có đúng không nhé!

Trong mặt phẳng, vẽ 11 đường thẳng như hình vẽ.

- 5 đường màu xanh giao với đường màu trắng tại 5 giao điểm (đúng) là: B, C, D, E, F.

- 5 đường màu đỏ giao với đường màu trắng tại duy nhất 1 giao điểm (sai) là A.

Vậy: định lý trên vừa đúng vừa sai. Và đây là định lý hay nhất trong toán học!  <_<

Image:

67029_untitled.png

File:

http://www.cadviet.com/upfiles/6/67029_loi_oai_oam.dwg

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác Hạ có vẻ thường xuyên làm việc với số cực lớn nhể!! Line màu xanh dài 10^10, còn line màu đỏ 10^11, có lẽ cad có 1 giới hạn nào đó với số cực lớn hay sao đó, cho nên màu xanh ok còn màu đỏ not ok.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Hình như AutoCAD có vấn đề với tính toán số quá lớn hay sao đó. Chỉ cần scale xuống 1000 lần là truy bắt dễ dàng.

 

Thêm 1 lỗi oái oăm nữa mà chưa biết bản chất và cách khắc phục. Post lên để mọi người biết để đề phòng và tìm hướng khắc phục nếu được.

Có 1 Spline màu trắng và 4 Lines (2 đỏ 2 xanh) vẽ trong 2D bằng đường Continuous. Rõ ràng 4 Lines này đều có điểm giao với Spline, nhưng thực tế chỉ có 2 Lines màu xanh là tìm được giao điểm (cả osnap intersection lẫn dùng hàm lisp) còn 2 Lines đỏ thì không tìm được (cả osnap intersection lẫn dùng hàm lisp). Tại sao vậy?

File Cad để test:http://www.cadviet.com/upfiles/5/67029_loi_oai_oam.dwg

67029_loi_oai_oam.png

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác Hạ có vẻ thường xuyên làm việc với số cực lớn nhể!! Line màu xanh dài 10^10, còn line màu đỏ 10^11, có lẽ cad có 1 giới hạn nào đó với số cực lớn hay sao đó, cho nên màu xanh ok còn màu đỏ not ok.

Lý do là tôi đang lập trình 1 phần mềm lớn, trong đó có việc lấy các điểm trên curve với khoảng cách đều dọc theo trục X >> phải vẽ 1 Line thẳng đứng đủ dài, sau đó move dần từng đoạn X dọc trục X để lấy giao điểm. 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×