明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1799|回复: 0

在CAD图中查找并标记字符串的AutoLISP程序

[复制链接]
发表于 2012-3-13 11:26:14 | 显示全部楼层 |阅读模式
(defun c:fm ()
(setq b (getstring "l 屏幕拾取/2 键入:"))
(if (= b "l")
(list (setq c (entget (ssname (ssget) O)))
(setq a (cdr (assoc 1 c)))
(setq a1 (cdr (assoc 8 c)))
(setq a2 (cdr (assoc 62 c)))
(setq ss (ssget "x" (list (cons 1 a) (cons 8 a1))))))
(if (= b "2")
(list (setq a (getstring "要查找的字符串:"))
(setq a1 (getstring "字符串所在图层:"))
(setq ss (ssget "x" (list (cons 1 a) (cons 8 a1))))))
(setq i (sslength ss))
(setq j 0)
(command "_layer" "m" "bjtp" "")
(repeat i
(setq a (entget (ssname ss j)))
(setq r (* 1 (cdr (assoc 40 a))))
(setq rl (* 1.1 (cdr (assoc 40 a))))
(setq r2 (* 1.2 (cdr (assoc 40 a))))
(setq pt (mapcar '+(list (/r 2) (/r 2) O) cdr (assoc 10 a))))
(command "color" 1)
(command "circle" pt r)
(command "color" 2)
(command "circle" pt r1)
(command "color" 6)
(command "circle" pt r2)
(setq j (+j 1))
(setq b ""))

以上代码在AutoCAD 2008无法正常运行,报错如下:

命令: _appload 已成功加载 find & mark.lsp。
命令: FM
l 屏幕拾取/2 键入:2
要查找的字符串:A
字符串所在图层:0
_layer
当前图层:  0
输入选项
[?/生成(M)/设定(S)/新建(N)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/材质(MAT)/打印(P)/冻结(F)/解冻(T)/锁
定(LO)/解锁(U)/状态(A)]: m
输入新图层的名称 (成为当前图层) <0>: bjtp 输入选项
[?/生成(M)/设定(S)/新建(N)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/材质(MAT)/打印(P)/冻结(F)/解冻(T)/锁
定(LO)/解锁(U)/状态(A)]:
命令: ; 错误: no function definition: /R

请教高人指点如何修改。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-25 03:09 , Processed in 0.154451 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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