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

Tr.CongSon

Thành viên
  • Số lượng nội dung

    181
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    4

Bài đăng được đăng bởi Tr.CongSon


  1. Chào các anh chị,

    Em mới học Lisp,mong mọi người giúp đỡ nhiều ạ

    Em có đoạn Code sau

    (defun c:CM (/ *error* cla ent-last iferror k lay olderr os pause r ve vec);;;; tao cloud mark;
    (setvar "modemacro" "CREATE CLOUD_MARK")
    ;;; (setvar "CMDECHO" 0)
    (command "undo" "BE")
    (defun iferror (msg)
    (if (= cla nil)
    (setq cla "3"))
    (if cla (setvar "CLAYER" cla))
    (if os (setvar "OSMODE" os))
    (setvar "CMDECHO" 1)
    (setq *error* olderr)
    (princ)
    )
    (setq lay (tblsearch "layer" "Cloud mark"))
    (if (= lay nil)
    (command "_layer" "_n" "Cloud mark" "_c" "6" "Cloud mark" ""))
    (setq olderr *error*)
    (setq *error* iferror)
    (graphscr)
    (setq os (getvar "OSMODE"))
    (setvar "OSMODE" 0)
    (setq cla (getvar "CLAYER"))
    (setq r (* (getvar "DIMSCALE") 5))
    (setq k T)
    (while k
    (terpri)
    (if (= ve nil) (setq ve "Hinh chu nhat"))
    (setq vec (strcat "\nVe hinh chu nhat hay duong line? <" ve ">: "))
    (setq vec (getstring vec))
    (if (= vec "")
    (command "_.RECTANGLE")
    (command "_.pline"))
    (while (= 1 (getvar "cmdactive")) (command pause))
    (setq ent-last (entlast))
    (setvar "clayer" "Cloud mark")
    (command "_.REVCLOUD" "_A" r r "_Object" ent-last "")
    )
    (setvar "CLAYER" cla)
    (setq *error* olderr)
    (setvar "OSMODE" os)
    (command "undo" "End")
    ;;; (setvar "CMDECHO" 1)
    (princ)
    )
     

    Code đây em sưu tầm về dung,không hiểu sao mấy hôm trước em dùng bình thường nhưng tự nhiên hôm nay em dùng lại bị lỗi ak

    Em chạy từng dòng trong code thì oki nhưng chạy cả  lệnh thì lại bị lỗi ạ

    Mong mọi người giải đáp giúp em

    Chúc mọi người đầu tuần vui vẻ

×