Đến nội dung


Hình ảnh
* - - - - 2 Bình chọn

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


  • Please log in to reply
59 replies to this topic

#41 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 August 2014 - 01:18 PM

Vậy có thể là do chính sách bảo mật của win7 không cho ghi file. Bạn thử đăng nhập win với quyền admin xem thử còn bị lỗi không.

Còn bạn nói vlisp ghi lại gia trị hay không là do bạn có khử biến hay không thôi.


  • 0

#42 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 04 August 2014 - 03:17 PM

- Hai máy của mình dùng W7 và đều có quyền admin, nếu mình ghi file lên các ổ D, E,.... không phải ổ hệ thống thì vẫn bị lổi open

- Ý mình muốn nói ở đây là dùng vlisp để tạo file txt, cập nhật nội dung lên file rồi đóng lại giống như dùng các lệnh thuần lisp để tạo (nhưng ở đây thuần lisp thì bị lổi open :(  )


  • 0

#43 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 04 August 2014 - 03:30 PM

Vấn đề ở đây không phải là do autolisp hay vlisp, nếu chưa tìm ra nguyên nhân lỗi thì dù alisp hay vlisp cũng vậy thôi.


  • 0

#44 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 04 August 2014 - 04:03 PM

Nếu biết chính xác nguyên nhân lổi để tiến hành khắc phục thì quá tốt. Do chưa biết nguyên nhân nên mình đề xuất viết code theo vlisp, nếu được thì cũng mở ra hướng tìm lổi đồng thời cũng là giải pháp tạm thời


  • 0

#45 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 05 August 2014 - 04:36 PM

Chia sẻ nỗi buồn này với bạn Tien2005!

Có lẽ lỗi này do Win. Mới đây tôi cũng bị 1 lỗi tương tự, mà nhiều khả năng cũng do Win. Chép lên để ai biết thì chia sẻ hoặc để né tránh:

Khi chạy 1 chương trình lisp của tôi, tôi thường ghi file *.cfg chứa các thông số mà mình đã đặt để mặc định cho lần sau. Hơn 1 năm nay nó ghi rất ngoan ngoản, bỗng cách đây 1 tháng thì nó không thèm ghi nữa, và báo ở command như thế này:

 

Command:

CVVC stop writing to: C:\Users\VANHA\AppData\Roaming\Autodesk\AutoCAD 2007\R17.0\enu\Support\Cang_day_TAICT.cfg

 

Tôi không hiểu 4 từ viết tắt CVVC là gì?

Đồng thời, tôi chuyển qua ghi vào thư mục làm việc luôn cho lành.

Command:
CVVC stop writing to:
C:\Users\VANHA\AppData\Roaming\Autodesk\AutoCAD 
2007\R17.0\enu\Support\Cang_day_TAICT.cfg

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#46 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 05 August 2014 - 05:34 PM

Hic, "một người nữa giống như tôi ..." :(

Mình tiếp tục thử với file đã có sẵn , mở lên và ghi các list  thì không báo lổi, đến dòng lệnh (close openfile) thì lổi

 

Vừa mới uninstall acad và cài lại mới thì bình thường :blink:  vậy mà trước đây trên máy ở nhà lại không được :angry2:

póhand


  • 0

#47 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2016 - 10:30 AM

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.c...loi_oai_oam.dwg

67029_loi_oai_oam.png


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#48 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 23 February 2016 - 11:37 AM

Khả năng vẫn liên quan đến Spline. Bác flat Z nó đi là xong. Và lỗi này chắc thuộc về CAD thì đúng hơn :(
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#49 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2016 - 02:42 PM

Tốt lắm Ket ơi!

Rõ ràng vẽ 2D mà phải flat mới về 2D.

Tuy nhiên, khi flat thì nó mất đi một số thuộc tính mà user đã gán cho đối tượng, ví dụ mất Xdata..., mọi người chú ý nhé!


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#50 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 23 February 2016 - 03:19 PM

Bác dùng thủ thuật move đi rồi move về đó ^^ 

 

http://www.cadviet.c...-0/#entry169525

 

Đúng là không có tác dụng với bản vẽ trên theo bài rl của bác DVH bên dưới ^^


  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#51 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2016 - 04:08 PM

Bác dùng thủ thuật move đi rồi move về đó ^^

http://www.cadviet.c...-0/#entry169525

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ũ. 


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#52 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 23 February 2016 - 04:32 PM

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 


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#53 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 February 2016 - 04:42 PM

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.


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#54 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 12 May 2016 - 09:28 AM

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.c...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!


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#55 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 673 Bài viết
Điểm đánh giá: 315 (khá)

Đã gửi 12 May 2016 - 10:32 AM

Cad2017 x64 hàng chợ không thấy gì, diễn đàn bị sao ý, không up được hình lên.


  • 0

#56 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 12 May 2016 - 11:22 AM

Update: CAD 2010 32b bản quyền cũng bị lỗi này (cons 220   ).


  • 0

#57 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 21 May 2016 - 09:43 PM

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.c...loi_oai_oam.dwg


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#58 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 22 May 2016 - 09:53 AM

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.


  • 0

#59 Chiron

Chiron

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 310 Bài viết
Điểm đánh giá: 90 (tàm tạm)

Đã gửi 22 May 2016 - 11:23 AM

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.c...loi_oai_oam.dwg

67029_loi_oai_oam.png


  • 0

#60 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 23 May 2016 - 08:54 AM

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. 


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.