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

sửa lỗi lisp

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

mình có cái lisp như sau,bạn nào giúp mình nhé.

(defun tolr_err(MSG)

(setq *error* OLDERR)

(if(not TOLRERR)

printc(strcat"\nDDIMTOLR error:"MSG))

printc( TOLRERR)

);

(if OLDTOL (setvar"DIMTOL" OLDTOL))

(if OLDLIM (setvar"DIMLIM" OLDLIM))

(if OLDTIX (setvar"DIMTIX" OLDTIX))

(if OLDHIGH (setvar"HIGHTLIGHT" OLDHIGH))

(if OLDCMDE (setvar"CMDECHO" OLDCMDE))

(princ)

);

(defun tolruser()

(setq I 1)

(white(=I 1)

(setq ENTPICK(car(entsel"\n選択すんぽう:")))

(while(=ENTPICK nil)

(prompt"何も、選んだもう一度やり直してください!)

(setq ENTPICK(car(entsel"\n選択すんぽう: )

);

(setq ETTYPE(cdr(assoc 0(entget entpick))))

(if(=ETTYPE"すんぽう")

(setq I 2)

(prompt"選択は、ディメンションではなかった!)

);

);

(princ)

);

(defun tolrset()

(if(=OLDTP nil)

(setq OLDTP 0)

);

(if(=OLDTM nil)

(setq OLDTM 0)

);

(setq NEWTM OLDTM)

(setq NEWTP OLDTP)

(if (and(/=OLDTOL 1)(/=OLDLIM 1)

(progn

(setq OLDNONE 1)

(setq TTOLR 1)

);

(setq OLDNONE nil)

);

(if(=OLDTOL 1)

(setq TTOLR 2)

);

(if(=OLDLIM 1)

(setq TTOLR 3)

);

(if(=OLDTIX 1)

(progn

(setq OLDTIXYES 1)

(setq OLDTIXNO 1)

(setq TTIX 1)

);

(progn

(setq OLDTIXYES nil)

(setq OLDTIXNO 1)

(setq TTIX 2)

);

);

(princ)

);

(defun tolr_dialog()

(setq DCLYES nil)

(setq DCL_ID(Load_dialog"DDIMTOLR.DCL"))

(if(not(new_dialog"dim_tolr"DCL_ID))(exit))

(if(=OLDNONE 1)

(progn

(set_tile"tolr_none" "1")

(mode_tile"tolr_tp" "1")

(mode_tile"tolr_tm" "1")

);

);

(if(=OLTOL 1)

(progn

(set_tile"tolr_tol" "1")

);

);

(set_tile"tolr_tp" (strcat(rtos OLDTP)))

(set_tile"tolr_tm" (strcat(rtos OLDTM)))

(if(=OLDTIXYES 1)

(set_tile"tix_yes" "1")

);

(if(=OLDTIXNO 1)

(set_tile"tix_no" "1")

);

(action_tile"tolr_none"

(strcat"(progn(mode_tile\"tolr_tp\"1)"

"(mode_tile\"tolr_tm\"1)"

(setq TTOLR 1))"

);

);

(action_tile"tolr_tol"

(strcat"(progn(mode_tile\"tolr_tp\"0)"

"(mode_tile\"tolr_tm\"0)"

(setq TTOLR 2))"

);

);

(action_tile"tolr_lim"

(strcat"(progn(mode_tile\"tolr_tp\"0)"

"(mode_tile\"tolr_tm\"0)"

(setq TTOLR 3))"

);

);

(action_tile"tix_yes" "(setq TTIX 1)")

(action_tile"tix_no" "(setq TTIX 2)")

(action_tile"accept"

(strcat"(progn(setq NEWTP(atof(get_tile\"tolr_tp\")))"

"(setq NEWTM(atof(get_tile\"tolr_tm\")))"

"(done_dialog 1))"

);

);

(if(equal (start_dialog) 1)

(setq DCLYES 1)

);

);

(princ)

);

(defun tolwork()

(if(=TTOLR 1)

(progn

(setvar "DIMTOL" 0)

(setvar "DIMLIM" 0)

);

);

(if(=TTOLR 2)

(progn

(setvar "DIMTOL" 1)

(setvar "DIMLIM" 0)

);

);

(if(=TTOLR 3)

(progn

(setvar "DIMTOL" 0)

(setvar "DIMLIM" 1)

);

);

(setvar "DIMTP" NEWTP)

(setvar "DIMTM" NEWTM)

(if(=TTIX 1)

(setvar "DIMTIX" 1)

(setvar "DIMTIX" 0)

);

);

(prompt"loading.......")

(defun c:DDIMTOLR()

(setq OLDERR *error*

*error* TOLR_ERR

OLDTOL nil

OLDLIM nil

OLDTIX nil

OLDHIGH nil

OLDCMDE nil

TOLRERR nil

);

(toluser)

(setq OLDHIGH (getvar"HIGHTLIGHT"))

OLDCMDE (getvar"CMDECHO")

OLDTP (getvar"dimtp")

OLDTM (getvar"dimtm")

OLDLIM (getvar"dimlim")

OLDTOL (getvar"dimtol")

OLDTIX (getvar"dimtix")

);

(tolset)

(tolr_dialog)

(if(=DCLYES 1)

(progn

(setvar "HIGHTLIGHT" 0)

(setvar "CMDECHO" 0)

(tolrwork)

);

);

(setvar "HIGHTLIGHT" OLDHIGH)

(setvar "CMDECHO" OLDCMDE)

(setvar "DIMTOL" OLDTOL)

(setvar "DIMLIM" OLDLIM)

(setvar "DIMTIX" OLDTIX)

(setq *error* OLDERR )

(princ)

);

(prompt"done!")

(prompt"\nタイプ DDIMTOLR 実行する.")

(princ);

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

Cái này có j hay đâu

Chỉ là chương trình set các biến của dimension thôi

Vả lại bạn phải cần có file *.DCL để mới load_dialog được chứ

Bác post kiểu này thì potay.com

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

File hộp thoại nè bạn

dim_tolr:dialog{label="許容フォーマット";

:boxed_column{

:column{

:boxed_radio_column{label="許容スタイル";

:radio_button{

label="なし";

mnemonic="e";

key="tolr_none";

}

:radio_button{

label="制限";

mnemonic="l";

key="tolr_lim";

}

:radio_button{

label="恒数";

mnemonic="v";

key="tolr_tor";

}

}

:boxed_column{

:edit_box{

label="上限値";

mnemonic="p";

key="tolr_tp";

edit_width=6;

}

:edit_box{

label="低い値";

mnemonic="w";

key="tolr_tm";

edit_width=6;

}

}

}

}

:boxed_row{

:text{

label="拡張子内のテキスト";

}

:radio_row{

label="はい";

mnemonic="y";

key="tix_yes";

}

:radio_row{

label="いえ";

mnemonic="n";

key="tix_no";

}

}

 

:text{

label=" ";

}

ok_cancel;

}

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  

×