Đến nội dung


Hình ảnh
- - - - -

sửa lỗi lisp


  • Please log in to reply
2 replies to this topic

#1 nguyennamxm

nguyennamxm

    biết pan

  • Members
  • Pip
  • 7 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 14 July 2010 - 09:54 AM

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);
  • 0

#2 VUVUZELA

VUVUZELA

    biết lệnh chamfer

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

Đã gửi 14 July 2010 - 10:05 AM

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

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#3 nguyennamxm

nguyennamxm

    biết pan

  • Members
  • Pip
  • 7 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 15 July 2010 - 11:36 AM

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;
}
  • 0