新手求救 DCl参数太少错误
初学DCl做一个简单的矩形输入长宽后绘制矩形总是提示"参数太少“代码如下
lisp
(DEFUN C:RECT()
(SETQ DCL_ID (LOAD_DIALOG "rec"))
(NEW_DIALOG "rect" DCL_ID)
(ACTION_TILE "accept" "(S_RECT)(DONE_DIALOG)")
(START_DIALOG)
(UNLOAD_DIALOG)
(SETQ PT_0 (GETPOINT "\nSelect rectangle lower leftpoint : "))
(SETQ PT_1 (POLAR PT_0 0 TMP_W)
PT_2 (POLAR PT_1 (/ PI 2) TMP_H)
PT_3 (POLAR PT_2 PI TMP_W))
(COMMAND "PLINE" PT_0 PT_1 PT_2 PT_3 "C")
(PRINC))
(DEFUN S_RECT()
(SETQ TMP_W (ABS (ATOF (GET_TILE "rect_w")))
TMP_H (ABS (ATOF (GET_TILE "rect_h"))))
)
dcl
rect:dialog {
label = "rec" ;
:edit_box {
edit_limit = 16 ;
edit_width = 10 ;
fixed_width = true ;
key = "rect_w" ;
label = "rec width:" ;
value = "50" ;
}
:edit_box {
edit_limit = 16 ;
edit_width = 10 ;
fixed_width = true ;
key = "rect_h" ;
label = "rec len:" ;
value = "25" ;
}
ok_only;
}
请各位高手指教下
回复 daiguafan 的帖子
(UNLOAD_DIALOG)
==>
(UNLOAD_DIALOGDCL_ID )
回复 Gu_xl 的帖子
谢谢斑竹,
现在不提示参数太少出错,但是提示Select rectangle lower leftpoint : 参数类型错误: numberp: nil
麻烦再次帮忙 (DEFUN C:tt ()
(DEFUN S_RECT ()
(SETQ ww (ABS (ATOF (GET_TILE "rect_w")))
hh (ABS (ATOF (GET_TILE "rect_h")))
)
)
(NEW_DIALOG "rect" (LOAD_DIALOG "rec"))
(ACTION_TILE "accept" "(S_RECT)(done_dialog)")
(START_DIALOG)
(while (SETQ P1 (GETPOINT "\np1: "))
(setq p2 (list (+ (car p1) ww) (+ (cadr p1) hh)))
(COMMAND "rectang" "non" p1 "non" p2)
)
(princ)
) 回复 xyp1964 的帖子
谢谢,楼上果然高手 我也是刚学现在也碰到这种问题了
页:
[1]