Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
hhhhgggg

Lisp MATTEXT bị lỗi ???

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

Update theo yêu cầu: số số lẻ do nguời dùng nhập.

(defun C:mat(/ ent typ nd ss ssle)
 (command "_.undo" "_begin")
 (or vlax-ename->vla-object (vl-load-com))
 (while
   (not
     (and (setq ent (car (nentsel "\nChon doi tuong de lay Text hay Chieu dai :")))
   (setq ent (vlax-ename->vla-object ent))
   (setq typ (vla-get-ObjectName ent))
   (cond
     ((wcmatch typ "*Text,*MLeader,*Attribute")
      (setq nd (vla-get-TextString ent)) )
     ((wcmatch typ "*AttributeDefinition")
      (setq nd (vla-get-TagString ent)) )
     ((wcmatch typ "*Line,*Spline,*Polyline,*Arc,*Circle,*Ellipse")
      (or *ssle* (setq *ssle* 0))
      (initget 4)
      (setq ssle (getint (strcat "\nSo so le <" (itoa *ssle*) ">: ")))
      (if ssle (setq *ssle* ssle))
      (setq nd (rtos (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)) 2 *ssle*)) )
     (t nil)
     ); cond
   ))
   (princ "\nDoi tuong chon khong hop le, Chon lai : "))  
 (princ (strcat"\nChon doi tuong de thay the gia tri Text <" nd "> :" ))
 (if (setq ss (ssget (list (cons 0 "*TEXT,*DIMENSION,MULTILEADER,ATTDEF")) ))
   (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
     (setq ent (vlax-ename->vla-object ent)
    typ (vla-get-ObjectName ent))
     (cond
((wcmatch typ "*Text,*MLeader")	      (vla-put-TextString ent nd) )
((wcmatch typ "*Dimension*")          (vla-put-TextOverride ent nd) )
((wcmatch typ "*AttributeDefinition") (vla-put-TagString ent nd) )
); cond
     )
   )
 (command "_.undo" "_end")
 (princ)
)

Anh cho hỏi sao em chay lisp thì báo là: Error: Bad functione: nil

Em rất cần cái lisp này của anh nhưng không chay được mong anh kiểm tra lại và giải thích dù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
Anh cho hỏi sao em chay lisp thì báo là: Error: Bad functione: nil

Em rất cần cái lisp này của anh nhưng không chay được mong anh kiểm tra lại và giải thích dùm.

 

Thế này nhé bạn nhấn nút Reply bài viết của anh giabach hoặc nhấn nút Edit bài viết của bạn (ngay trên bài viết này) -> Chép hết code (không sót nhé) về chạy là được

 

@ Ban Quản trị : Nhờ BQT sửa lại chức năng DownLoad Lisp file để cho anh em CADVIET dùng, chứ để lỗi như thế này thì vất vả quá.:cheers:

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

Thế này nhé bạn nhấn nút Reply bài viết của anh giabach hoặc nhấn nút Edit bài viết của bạn (ngay trên bài viết này) -> Chép hết code (không sót nhé) về chạy là được

 

@ Ban Quản trị : Nhờ BQT sửa lại chức năng DownLoad Lisp file để cho anh em CADVIET dùng, chứ để lỗi như thế này thì vất vả quá.

 

 

Em là thành viên mới của diễn đàn, khi xem mục "Viết LISP theo yêu cầu P1" thì muốn copy LISP về dùng thì bị lỗi này làm LISP không chạy được, mà cũng ko Repply được nên "pó tay" không biết sao thử LSP và lưu về dùng. Đề nghị Các BQT lưu ý xem xét, cho phép Repply (nhưng ko cho gởi bài viết mới) để những anh em đi sau có thể tham khảo được các LISP trong các mục bị khoá, chứ không "trâu chậm ún nước đục wá". Cảm ơn BQT.

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

trong khi chờ ban quản trị xử được vụ này, các bạn thử dùng trình duyệt opera xem sao. Mình dùng opera chưa bao giờ bị dính lỗi này cả. cái này mình cũng chỉ phỏng đoán thôi, các bạn thử xem.. 1 công đôi việc, Opera dùng hay lắ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
Update theo yêu cầu: số số lẻ do nguời dùng nhập.

(defun C:mat(/ ent typ nd ss ssle)
 (command "_.undo" "_begin")
 (or vlax-ename->vla-object (vl-load-com))
 (while
   (not
     (and (setq ent (car (nentsel "\nChon doi tuong de lay Text hay Chieu dai :")))
   (setq ent (vlax-ename->vla-object ent))
   (setq typ (vla-get-ObjectName ent))
   (cond
     ((wcmatch typ "*Text,*MLeader,*Attribute")
      (setq nd (vla-get-TextString ent)) )
     ((wcmatch typ "*AttributeDefinition")
      (setq nd (vla-get-TagString ent)) )
     ((wcmatch typ "*Line,*Spline,*Polyline,*Arc,*Circle,*Ellipse")
      (or *ssle* (setq *ssle* 0))
      (initget 4)
      (setq ssle (getint (strcat "\nSo so le <" (itoa *ssle*) ">: ")))
      (if ssle (setq *ssle* ssle))
      (setq nd (rtos (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)) 2 *ssle*)) )
     (t nil)
     ); cond
   ))
   (princ "\nDoi tuong chon khong hop le, Chon lai : "))  
 (princ (strcat"\nChon doi tuong de thay the gia tri Text <" nd "> :" ))
 (if (setq ss (ssget (list (cons 0 "*TEXT,*DIMENSION,MULTILEADER,ATTDEF")) ))
   (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
     (setq ent (vlax-ename->vla-object ent)
    typ (vla-get-ObjectName ent))
     (cond
((wcmatch typ "*Text,*MLeader")	      (vla-put-TextString ent nd) )
((wcmatch typ "*Dimension*")          (vla-put-TextOverride ent nd) )
((wcmatch typ "*AttributeDefinition") (vla-put-TagString ent nd) )
); cond
     )
   )
 (command "_.undo" "_end")
 (princ)
)

Thank you very much.....!!! mình tìm cái líp này vất vả từ lâu. làm kết cấu tuyệt vời.hi

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
Đăng nhập để thực hiện theo  

×