明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1273|回复: 0

圆的参数化程序 不正确 帮我修改以下 叩谢了

[复制链接]
发表于 2005-5-19 11:31 | 显示全部楼层 |阅读模式
这是DCL对话框 但是运行后显示错误 说是文件过早结束 不懂 yuan:dialog{
label="绘制圆";
initial_focus="X";
:row{
:image{width=30;
height=8;
key="img_cr";
color=-2;
}
:boxed_column{
label="几何数据";
:edit_box{label="圆心X(mm):"; //指定助记符为X
edit_width=8;
key="X";
value="50";
}
:edit_box{label="圆心Y(mm):"; //指定助记符为Y
width=8;
mnemonic="Y";
key="Y";
value="50";
}
:edit_box{label="半径R(mm):"; //指定助记符为R
width=8;
mnemonic="R";
key="R";
value="10";
}
}
ok_cancel;
} ;下面是LSP程序 才学的 有不对的地方 别笑我 (defun act() ;定义获取对话框中编辑框值的子函数
(setq x (atof (get_tile "X"))) ;从控件"X"得到值并赋给变量"x"
(setq y (atof (get_tile "Y"))) ;从控件"Y"得到值并赋给变量"y"
(setq r (atof (get_tile "R"))) ;从控件"R"得到值并赋给变量"r"
)
(defun c:circ(/ x y r id x1 y1 )
(setq sdt 0)
(setq id (load_dialog "C8-3")) ;装入DCL文件
(if(< id 0) (exit)) ;如果装入失败则退出
(setq X 50.0 Y 50.0 R 25.0) ;设变量初值
(if (not (new_dialpg "yuan" id)) (exit));启动对话框
(setq x1 (dimx_tile "img_cr")) ;测图象宽
(setq y1 (dimy_tile "img_cr")) ;测图象高
(start_image "img_cr")
(slide_image 0 0 x1 y1 "circ") ;填写图象内容
(end_image ) ;图象结束
(set_tile "X" (rtos X 2 2)) ;设控件X Y R初值
(set_tile "Y" (rtos Y 2 2)) ;将覆盖DCL文件控件的value属性
(set_tile "R" (rtos R 2 2)) ;当“OK”按钮被按时,调用act函数,然后退出对话框
(action_tile "accept" "(act) (done_dialog 1)")
;当"cancel"按钮被按时,退出对话框
(action_tile "cancel" "(done_dialog -1)") (setq sdt (start_dialog)) ;显示对话框,获得对话框推出时的状态
(unload_dialog id) ;卸载对话框
(if (> sdt 0)
(command "circle" (list x y) r) ;画圆
) ;end if
(princ)
) ;希望不吝赐教,xiexie
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-28 02:57 , Processed in 0.721479 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表