本帖最后由 作者 于 2009-9-4 8:31:49 编辑
下面是我收藏已经被关了禁闭的liminnet发的一个自这定义函数,看不明白怎么调用(ko->entsel msg keyword action filter_list errmsg) 这个自定义函数,把它放在哪呢? (ko->entsel msg keyword action filter_list errmsg) 这个自定义函数,把它放在哪呢? 我是自学时间也不长,龙版主的说明也没看明白,请教一下这个函数的加载(放在哪?)和调用方法,谢谢! 增强型及变种型ko->entsel 语法: (ko->entsel msg keyword action filter_list errmsg) 功能及参数 功能:扩展 entsel,支持过滤选择,关键字,返回一个对象图元或字符串(包括关键字或实数或整数)或用空格结束返回nil 可控制关键字是否需要空格或回车键或右键来响应程序 参数 [类型]: msg = 提示信息。如果nil时则显示缺省为"\n选择对象: " keyword = initget的keyword 关键字[STR] 不考虑时参数为nil 关键字必须大写和单词间至少留一位空格 "W G"或"Undo Option eXit" action = 控制keword是否需要空格或回车键或右键来响应,具备天正的命令的功能 T或nil(大小写不分)[SYM] filter_list = 过滤字符表.参见ssget [LIST],不考虑时参数为nil '((0 . "*LINE,CIRCLE,ARC"))或(list '(0 . "*line,circle,arc")) (大小写不分) errmsg = 出错信息(STR)。如果nil时则显示缺省为"无效的对象。" 对象 注意:firstss参数如果要启用时,语句(setq firstss (cadr (ssgetfirst)))一定要放在主程序最前面一行 范例: 1.(ko->entsel "\n选择直线或圆/Undo/Option/eXit" "Undo Option eXit" t '((0 . "*LINE,CIRCLE,ARC")) nil) 2. 测试: (defun c:tt() (setq xh t) (while xh (setq ent (ko->entsel "\n测试ko->entsel函数(X)/(H):" "X H" T '((0 . "*LINE,CIRCLE,ARC")) nil)) (cond ((= ent "X") (alert "等于字符串X你要执行的程序一") ent) ((= ent "H") (alert "等于字符串H你要执行的程序二") ent) ((= (type ent) 'ENAME) (alert "这个功能是返回图元名") (setq xh nil) ent) ((numberp ent) (alert (strcat "此项功能是判断输入的是否是实数或整理, 用于不用进入子选项而直接设置一个值" "\n" "请选择要拉伸的对象或[当前默认值(500)或直接输入值回车改变默认值]")) ent ) ((= ent nil) (setq xh nil)) ) ) ) (defun c:ff() (ko->entsel "\n[选择你要标注的对象或修改(F)/(W)/(X)]<" "Fdf dWg eXit" t (list '(0 . "*LINE,CIRCLE,ARC")) nil) ) |