简单lisp命令-Dimscale
你好我不太会写lisp。
如何获取lisp以确定当前的dimscale并插入
作为dimscale的倍数插入的块?
以下是当前的lisp:
(定义c:2011插入sm()
(setq clay(getvar“clayer”))
(setq*错误*我的错误)
(命令“-layer”“m”“025txt”“”)
(命令“insert”“Dynamic\u Section\u Mark-2009”pause“1”1 0)
(setvar“clayer”粘土)
(普林斯)
)
提前感谢
Koal蜂 倍数是静态的还是可变的? 你好
倍数将只是当时的当前dimscale。。。。因此需要在每次运行命令时查看dimscale来提取。
谢谢 (getvar“dimscale”)? 抱歉的评论。。我要在lisp中添加这个吗?
如果是这样的话,我该如何在指令中加入与dimscale相乘的内容。
正如我所说,这对我来说是全新的,当前的lisp是从另一个文件复制的
再次感谢 看看这个,伙计。
(defun c:2011-insert-sm (/ clay *error* DScale)
(setq clay (getvar "clayer"))
(setq *ERROR* MyError)
(command "_.-layer" "m" "025txt" "")
(while
(setq DScale (getint "\n Enter scale factor for Block Insertion :"))
(command "_.-insert" "Dynamic_Section_Mark-2009" pause DScale DScale 0)
)
(setvar "clayer" clay)
(princ)
)
Tharwat 这是你需要的吗?我只是添加了一些行,一些删除并编写了相关的错误处理程序。
(defun c:2011-insert-sm (/ clay cScl *error*)
(defun *error*(msg)
(setvar "clayer" clay)
(setvar "CMDECHO" 1)
(princ)
); end of *error*
(setq clay (getvar "clayer")
cScl(getvar "DIMSCALE")
); end setq
(princ(strcat "\nCurrent DIMSCALE = " (rtos cScl 2 2)))
(setvar "CMDECHO" 0)
(command "-layer" "m" "025txt" "")
(command "-insert" "Dynamic_Section_Mark-2009" "_s" cScl pause 0)
(setvar "CMDECHO" 1)
(setvar "clayer" clay)
(princ)
)
你好
Tharwat-您的lisp引入了块,但似乎只将其拉伸一个方向,是否需要添加一些内容以在各个方向上进行缩放?
Smirnoff-您的lisp返回以下消息:
错误:输入列表格式不正确
命令:未知命令“2011-INSERT-SM”。按F1键获取帮助。
谢谢你帮助大家。。。还有什么想法吗?
Koal蜂
代码更新Koal Bee
塔瓦特
我认为你在抄写时漏掉了第一个或最后一个括号。请重试。要么你有这个文件,要么有另一个括号缺失的代码。此代码正在运行。
页:
[1]
2