请问一下这是为什么?
本帖最后由 yfs719 于 2013-8-12 08:55 编辑问题如下:
1.在命令行里面一一输入是正常的。
2.如果把命令用"command"写成一串时,结束命令后,会提示一个"nil"?(命令本身是运行了的。)
如下图:
(上面这个问题已解决。)
新加问题如下:
不好意思,再请教一下,论坛里面有一段关于设定常用填充的lsp.我下载后按结构设计使用习惯改一下,不过不知道为什么图层"hatch"建立及设定颜色都可以,就是改线宽不行,帮忙看一下。谢谢!!;;预设常用填充======================
;;V1.2 明经raimo 2012.07.30
;;优化代码,去掉拼凑代码重新设计
;;增加记忆功能,提高填充的使用方便性
;;在V1.1的基础上实现点选,与对象选择
;;并存,并且都可以多选。
;;非常感谢ZZXXQQ版主的指点与帮助!!
;;==================================
(defun c:TC (/ opt bl )
(setvar "measurement" 1) ; 设置公制单位
(setvar "cmdecho" 0) ; 关闭命令响应
(setq oldcolor (getvar "cecolor"))
(if (not (tblsearch "layer" "HATCH"))
(command "LAYER" "M" "HATCH" "c" "1" "" "lw" "0.05" "" "")
);加载图层HATCH
(command "layer" "s" "HATCH" "");设定填充图层
(command "color" "251");设定填充颜色
(if *num_HType*
(setq num_HType (getint (strcat "\n选择填充样式①█实体 ②砼 ③砼100 ④钢砼 ⑤钢砼100 ⑥/// ⑦//斜线100 ⑧×× ⑨××交叉线100 ⑩金属20 ⑾蜂窝 ⑿砖 ⒀┏ ⒁人字: <" (rtos *num_HType* 2 0) ">")))
(setq num_HType (getint "\n选择填充样式①█实体 ②砼 ③砼100 ④钢砼 ⑤钢砼100 ⑥/// ⑦//斜线100 ⑧×× ⑨××交叉线100 ⑩金属20 ⑾蜂窝 ⑿砖 ⒀┏ ⒁人字: " ))
)
(if
(or
(= num_HType 2)
(= num_HType 4)
(= num_HType 6)
(= num_HType 8)
)
(setq bl (getint (strcat "\请输入比例: ")));设置比例
)
(if (not num_HType)
(setq num_HType *num_HType*)
(setq *num_HType* num_HType)
)
(setq opt num_HType)
(if (< 0 opt 50) (eval (read(strcat "(tianchong" (itoa opt) ")"))));根据选项参数执行填充样式
(if (setq ss (ssget))
(command "bhatch" "s" ss "" "") ;如果选择集不为空,则执行对象填充
(progn;如果选择集为空,则执行点选命令
(prompt "\n请拾取填充内部点:\n")
(command "bhatch" pause)
(while (> (getvar "CMDACTIVE") 0) (command PAUSE))
))
(command "color" oldcolor)
(command "layerP")
(princ)
)
(defun tianchong1 ()
(prompt "\n当前样式: ①灰色实体填充100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "solid" "")
)
(defun tianchong2 ()
(prompt "\n当前样式: ②砼\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "混凝土" bl "0" "")
)
(defun tianchong3 ()
(prompt "\n当前样式: ③砼100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "混凝土" "100" "0" "")
)
(defun tianchong4 ()
(prompt "\n当前样式: ④钢砼\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "钢筋混凝土" bl "0" "")
)
(defun tianchong5 ()
(prompt "\n当前样式: ⑤钢砼100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "钢筋混凝土" "100" "0" "")
)
(defun tianchong6 ()
(prompt "\n当前样式: ⑥斜线\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI31" bl "0" "")
)
(defun tianchong7 ()
(prompt "\n当前样式: ⑦斜线100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI31" "100" "0" "")
)
(defun tianchong8 ()
(prompt "\n当前样式: ⑧交叉线\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI37" bl "0" "")
)
(defun tianchong9 ()
(prompt "\n当前样式: ⑨交叉线\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI37" "100" "0" "")
)
(defun tianchong10 ()
(prompt "\n当前样式: ⑩金属20\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI32" "20" "0" "")
)
(defun tianchong11 ()
(prompt "\n当前样式: ⑾蜂窝\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "HONEY" "100" "0" "")
)
(defun tianchong12 ()
(prompt "\n当前样式: ⑿砖\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "AR-B816" "100" "0" "")
)
(defun tianchong13 ()
(prompt "\n当前样式: ⒀┏┏\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANGLE" "100" "0" "")
)
(defun tianchong14 ()
(prompt "\n当前样式: ⒁人字\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "AR-HBONE" "100" "0" "")
)
(prompt "\n***预设常用填充***命令:TC")
(princ) 本来就返回nil,看command函数帮助 哦哦. 本帖最后由 yfs719 于 2013-8-12 08:53 编辑
不好意思,再请教一下,论坛里面有一段关于设定常用填充的lsp.我下载后按结构设计使用习惯改一下,不过不知道为什么图层"hatch"建立及设定颜色都可以,就是改线宽不行,帮忙看一下。谢谢!!
(已放到一楼了。);;预设常用填充======================
;;V1.2 明经raimo 2012.07.30
;;优化代码,去掉拼凑代码重新设计
;;增加记忆功能,提高填充的使用方便性
;;在V1.1的基础上实现点选,与对象选择
;;并存,并且都可以多选。
;;非常感谢ZZXXQQ版主的指点与帮助!!
;;==================================
(defun c:TC (/ opt bl )
(setvar "measurement" 1) ; 设置公制单位
(setvar "cmdecho" 0) ; 关闭命令响应
(setq oldcolor (getvar "cecolor"))
(if (not (tblsearch "layer" "HATCH"))
(command "LAYER" "M" "HATCH" "c" "1" "" "lw" "0.05" "" "")
);加载图层HATCH
(command "layer" "s" "HATCH" "");设定填充图层
(command "color" "251");设定填充颜色
(if *num_HType*
(setq num_HType (getint (strcat "\n选择填充样式①█实体 ②砼 ③砼100 ④钢砼 ⑤钢砼100 ⑥/// ⑦//斜线100 ⑧×× ⑨××交叉线100 ⑩金属20 ⑾蜂窝 ⑿砖 ⒀┏ ⒁人字: <" (rtos *num_HType* 2 0) ">")))
(setq num_HType (getint "\n选择填充样式①█实体 ②砼 ③砼100 ④钢砼 ⑤钢砼100 ⑥/// ⑦//斜线100 ⑧×× ⑨××交叉线100 ⑩金属20 ⑾蜂窝 ⑿砖 ⒀┏ ⒁人字: " ))
)
(if
(or
(= num_HType 2)
(= num_HType 4)
(= num_HType 6)
(= num_HType 8)
)
(setq bl (getint (strcat "\请输入比例: ")));设置比例
)
(if (not num_HType)
(setq num_HType *num_HType*)
(setq *num_HType* num_HType)
)
(setq opt num_HType)
(if (< 0 opt 50) (eval (read(strcat "(tianchong" (itoa opt) ")"))));根据选项参数执行填充样式
(if (setq ss (ssget))
(command "bhatch" "s" ss "" "") ;如果选择集不为空,则执行对象填充
(progn;如果选择集为空,则执行点选命令
(prompt "\n请拾取填充内部点:\n")
(command "bhatch" pause)
(while (> (getvar "CMDACTIVE") 0) (command PAUSE))
))
(command "color" oldcolor)
(command "layerP")
(princ)
)
(defun tianchong1 ()
(prompt "\n当前样式: ①灰色实体填充100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "solid" "")
)
(defun tianchong2 ()
(prompt "\n当前样式: ②砼\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "混凝土" bl "0" "")
)
(defun tianchong3 ()
(prompt "\n当前样式: ③砼100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "混凝土" "100" "0" "")
)
(defun tianchong4 ()
(prompt "\n当前样式: ④钢砼\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "钢筋混凝土" bl "0" "")
)
(defun tianchong5 ()
(prompt "\n当前样式: ⑤钢砼100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "钢筋混凝土" "100" "0" "")
)
(defun tianchong6 ()
(prompt "\n当前样式: ⑥斜线\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI31" bl "0" "")
)
(defun tianchong7 ()
(prompt "\n当前样式: ⑦斜线100\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI31" "100" "0" "")
)
(defun tianchong8 ()
(prompt "\n当前样式: ⑧交叉线\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI37" bl "0" "")
)
(defun tianchong9 ()
(prompt "\n当前样式: ⑨交叉线\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI37" "100" "0" "")
)
(defun tianchong10 ()
(prompt "\n当前样式: ⑩金属20\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANSI32" "20" "0" "")
)
(defun tianchong11 ()
(prompt "\n当前样式: ⑾蜂窝\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "HONEY" "100" "0" "")
)
(defun tianchong12 ()
(prompt "\n当前样式: ⑿砖\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "AR-B816" "100" "0" "")
)
(defun tianchong13 ()
(prompt "\n当前样式: ⒀┏┏\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "ANGLE" "100" "0" "")
)
(defun tianchong14 ()
(prompt "\n当前样式: ⒁人字\n")
(prompt "\n请选择对象,跳过则为拾取内部点:\n")
(command "bhatch" "p" "AR-HBONE" "100" "0" "")
)
(prompt "\n***预设常用填充***命令:TC")
(princ) 为什么我回复不了?
各位有空看一下。
页:
[1]