Đến nội dung


Hình ảnh

[thắc mắc] lỗi CAD khi load lisp


  • Please log in to reply
2 replies to this topic

#1 proconeng86

proconeng86

    biết lệnh break

  • Members
  • PipPipPipPip
  • 221 Bài viết
Điểm đánh giá: -9 (bình thường)

Đã gửi 18 July 2013 - 12:43 AM

Mình dùng Cad 2010, khi load lisp viết kiểu xuống dòng các lệnh thì dùng ok, load lisp viết kiểu liền tù tì không xuống dòng j hết (em mù lisp mà) thì thấy nó báo là:

"Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer = Yes

 Enter the number of operation to undo or [Auto/Control/Begin/End/Mark/Back]<1>:END"

Rồi sau đó gõ lệnh trong lisp thì nó báo là không có lệnh đó

Mình không hiểu tại sao lại thế. Bạn nào biết bảo mình cái

Mình đoán là lỗi j của Cad thôi hoặc là do có 1 biến nào đó làm cad ko nhận lisp dạng viết liền tù tì không xuống dòng

P/s: mình nghĩ lisp không vấn đề j vì mình toàn down ở cadviet.com thôi và mình có đưa 1 lisp viết dạng liền tù tì cho các bạn xem đây

http://www.cadviet.c.../3/9928_xtt.lsp

 

Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
<1>: END
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
 
Command: UNDO Current settings: Auto = On, Control = All, Combine = Yes, Layer 
= Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] 
<1>: END

  • 0

#2 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 18 July 2013 - 06:54 AM

Lisp liên tù tì thường là do lỗi diễn đàn chứ bình thường nó ngắt quảng lấy hơi đàng hoàng.

Sửa lại cho bạn, cũng liên tù tì, nhưng không lỗi.

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...-123#entry67734
(defun C:XTT(/ ss ss1 fuzzo fuzz n ent p ndung ent1 ndung1)(prompt "\n Chon Text,MTEXT : ")   (setq ss (ssget '((0 . "text,mtext"))) n (sslength ss))(if (null fuzzo) (setq fuzzo 20))(setq fuzz (getreal (strcat "\n Enter Numeric fuzz < " (rtos fuzzo 2 2) "> : ")))(if (null fuzz) (setq fuzz fuzzo) (setq fuzzo fuzz))    (setq ss1 (ssadd))    (while (> n 0)      (setq ent (ssname ss 0))      (setq p (cdr(assoc 10 (entget ent)))) (setq ndung (cdr(assoc 1 (entget ent))) i 1) (while (< i n)(setq ent1 (ssname ss i))      (setq p1 (cdr(assoc 10 (entget ent1)))) (setq ndung1 (cdr(assoc 1 (entget ent1))))(if (and (equal p p1 fuzz) (eq ndung ndung1))(progn(setq ss1 (ssadd ent1 ss1))))(setq i (1+ i)))(setq ss (ssdel ent ss))(setq n (sslength ss)))(if (> (sslength ss1) 0) (command "_.erase" ss1 ""))(princ))
 

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


#3 proconeng86

proconeng86

    biết lệnh break

  • Members
  • PipPipPipPip
  • 221 Bài viết
Điểm đánh giá: -9 (bình thường)

Đã gửi 18 July 2013 - 08:47 PM

Lisp liên tù tì thường là do lỗi diễn đàn chứ bình thường nó ngắt quảng lấy hơi đàng hoàng.

Sửa lại cho bạn, cũng liên tù tì, nhưng không lỗi.

 

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...-123#entry67734
(defun C:XTT(/ ss ss1 fuzzo fuzz n ent p ndung ent1 ndung1)(prompt "\n Chon Text,MTEXT : ")   (setq ss (ssget '((0 . "text,mtext"))) n (sslength ss))(if (null fuzzo) (setq fuzzo 20))(setq fuzz (getreal (strcat "\n Enter Numeric fuzz < " (rtos fuzzo 2 2) "> : ")))(if (null fuzz) (setq fuzz fuzzo) (setq fuzzo fuzz))    (setq ss1 (ssadd))    (while (> n 0)      (setq ent (ssname ss 0))      (setq p (cdr(assoc 10 (entget ent)))) (setq ndung (cdr(assoc 1 (entget ent))) i 1) (while (< i n)(setq ent1 (ssname ss i))      (setq p1 (cdr(assoc 10 (entget ent1)))) (setq ndung1 (cdr(assoc 1 (entget ent1))))(if (and (equal p p1 fuzz) (eq ndung ndung1))(progn(setq ss1 (ssadd ent1 ss1))))(setq i (1+ i)))(setq ss (ssdel ent ss))(setq n (sslength ss)))(if (> (sslength ss1) 0) (command "_.erase" ss1 ""))(princ))
 

Thì ra là lisp bị lỗi, thế mà mình không biết.. cám ơn bạn Ha nhé, bạn nhiệt tình thật đó

cám ơn bạn rất nhiều


  • 0