明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1466|回复: 5

[求助]自定义的涵数如何注册?

[复制链接]
发表于 2004-10-18 09:42:00 | 显示全部楼层 |阅读模式
本人运行自编的AUTOLISP涵数时,为什么运行后总是出现:“[XXXXX]未知命令,请按F1帮助。”后查阅资料,估计是注册的问题。请教高人自定义的命令在编LISP程序中如何注册?如可以请把回复发至:xuguangren1234@hotmail.com 谢谢!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-10-18 10:32:00 | 显示全部楼层
It has nothing to do with registry. Your code contains errors. Paste it here and maybe someone can help you.
发表于 2004-10-18 13:03:00 | 显示全部楼层
不是注册的问题,可能函数有错误,帖出程序看看!
 楼主| 发表于 2004-10-18 14:00:00 | 显示全部楼层
本帖最后由 作者 于 2004-10-18 14:46:25 编辑

请不要见笑,程序如下: (defun c:KZDXG (/ l ent entl ss1 l1 l2 l3 l4 pp pp1 pp2 pp3 pp4 ct)
(setq l (getvar "ltscale")) (setq oldosmode (getvar "osmode"))
(setq ent (ssget)) ;设置ent为选择集
(setq ss1 (ssname ent 0)) ;取出选择集中的实体
(setq entl (entget ss1)) ;设置ent为最新实体的数据关表
(setq l1 (getvar "ucsxdir"))
(setq l2 (getvar "ucsorg"))
(setq l3 (* -1 (angle l2 l1)))
(setq l4 (/ (* l3 180) pi))
(setq ct 0)
(repeat (length entl)
(setq pp (nth ct entl))
(setq xk(cdr(assoc 43 entl)))
(if (<= xk 0)(setq xk 0.1))
(setq n (car pp))
(if (= n 10)
(progn
(setq pp1 (cdr pp))
(setq pp2 (trans pp1 0 1))
(setvar "osmode" 0)
(setvar "clayer" (cdr(assoc 8 entl)))
(command "circle" pp2 (* l xk) "")
(setq xx(entlast))
(setvar "clayer" "0")
(setq pp3 (polar pp2 (+ l3 1.57) xk))
(setq pp4 (polar pp2 (- l3 1.57) xk))
(command "zoom" "c" pp2 4 "")
(command "trim" xx "" "f" pp3 pp4"" "")
(setq ct (+ 1 ct))
(setvar "osmode" oldosmode)
)
)
(setq ct (+ ct 1))
)
(princ)
) 此程序作用是在图中选一多段线,取其顶点坐标,并在每一个顶点上按线宽比例画圆,再把圆内的多段线剪断。因为仓促,程序可能有错误,请高手指正。
发表于 2004-10-18 14:20:00 | 显示全部楼层
少一个括号。正确格式 (setq ct (+ ct 1))

(princ)
)
 楼主| 发表于 2004-10-18 14:48:00 | 显示全部楼层
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 11:33 , Processed in 0.162809 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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