LISP代码运行后有点小问题,求帮助,谢谢
代码如下,是建立图层、文字样式、标注样式的,但是多建几个文字样式和标注样式就不行了。还有我想加一个打印样式进去,这样一键可以设置好模板,到别人的图里面也不担心了(DEFUN C:JMB ()(COMMAND "LAYER" "M" "轮廓线-粗" "C" "7" "" "")
(COMMAND "LAYER" "M" "轮廓线-中" "C" "2" "" "")
(COMMAND "LAYER" "M" "轮廓线-细" "C" "5" "" "")
(COMMAND "LAYER" "M" "填充" "C" "252" "" "")
(COMMAND "LAYER" "M" "标注" "C" "3" "" "")
(COMMAND "LAYER" "M" "文字" "C" "4" "" "")
(COMMAND "CLAYER" "0")
;;;接下来建立文字样式
(entmake (list
'(0 . "STYLE")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbTextStyleTableRecord")
'(2 . "BJ") ;样式名
'(70 . 0) ;标准标志值
'(40 . 0.0) ;预设文字高度
'(41 . 1.0) ;字宽比例
'(3 . "gbenor.shx") ;主字体文件名
'(4 . "gbcbig.shx"))) ;大字体文件名
;;;接下来建立标注样式
(progn
(command "-DIMSTYLE" "s" "DIMBJ");建立布局标注
(setvar "DIMDLI" 7.0000) ;尺寸线间距(基线间距)
(setvar "DIMEXE" 2.0000) ;尺寸界线在尺寸线上(超出尺寸线)
(setvar "DIMEXO" 2.0000) ;尺寸界线原点偏移
(setvar "DIMBLK" "_ArchTick") ;箭头块名
(setvar "DIMBLK1" "_ArchTick") ;第一个箭头块名
(setvar "DIMBLK2" "_ArchTick") ;第二个箭头块名
(setvar "DIMLDRBLK" "_DOT") ;引线块名
(setvar "DIMASZ" 2.0) ;箭头大小
(setvar "DIMTXSTY" "BJ") ;文字样式
(setvar "DIMCLRT" 4);标注文字颜色(绿色)
(setvar "DIMTXT" 2.500) ;文字高度
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMJUST" 0);将文字置于尺寸线之上,并在尺寸界线之间置中对正
(setvar "DIMTXTDIRECTION" 0) ;以从左到右阅读的样式显示标注文字
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMTIX" 1);将文字放置于尺寸界线内侧
(setvar "DIMTMOVE" 2) ;允许标注文字自由移动而不用添加引线
(setvar "DIMSCALE" 0.0) ;将标注缩放到布局(模型作图就修改)
(setvar "DIMLUNIT" 2) ;线性标注单位格式
(setvar "DIMDEC" 0);精度
(setvar "DIMDSEP" ".") ;小数分隔符
(princ "")
)
;-------------------------------------------------------------------
(progn
(command "-DIMSTYLE" "s" "DIM-100");建立比例100标注
(setvar "DIMDLI" 7.0000) ;尺寸线间距(基线间距)
(setvar "DIMEXE" 2.0000) ;尺寸界线在尺寸线上(超出尺寸线)
(setvar "DIMEXO" 2.0000) ;尺寸界线原点偏移
(setvar "DIMBLK" "_ArchTick") ;箭头块名
(setvar "DIMBLK1" "_ArchTick") ;第一个箭头块名
(setvar "DIMBLK2" "_ArchTick") ;第二个箭头块名
(setvar "DIMLDRBLK" "_DOT") ;引线块名
(setvar "DIMASZ" 2.0) ;箭头大小
(setvar "DIMTXSTY" "BJ") ;文字样式
(setvar "DIMCLRT" 4);标注文字颜色(绿色)
(setvar "DIMTXT" 2.500) ;文字高度
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMJUST" 0);将文字置于尺寸线之上,并在尺寸界线之间置中对正
(setvar "DIMTXTDIRECTION" 0) ;以从左到右阅读的样式显示标注文字
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMTIX" 1);将文字放置于尺寸界线内侧
(setvar "DIMTMOVE" 2) ;允许标注文字自由移动而不用添加引线
(setvar "DIMSCALE" 100.0) ;将标注缩放到布局(模型作图就修改)
(setvar "DIMLUNIT" 2) ;线性标注单位格式
(setvar "DIMDEC" 0);精度
(setvar "DIMDSEP" ".") ;小数分隔符
(princ "")
)
) 注意命令顺序(defun C:JMB ()
(command "LAYER" "M" "轮廓线-粗" "C" "7" "" "")
(command "LAYER" "M" "轮廓线-中" "C" "2" "" "")
(command "LAYER" "M" "轮廓线-细" "C" "5" "" "")
(command "LAYER" "M" "填充" "C" "252" "" "")
(command "LAYER" "M" "标注" "C" "3" "" "")
(command "LAYER" "M" "文字" "C" "4" "" "")
(setvar "CLAYER" "0")
;;;接下来建立文字样式
(entmake (list
'(0 . "STYLE")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbTextStyleTableRecord")
'(2 . "BJ") ;样式名
'(70 . 0) ;标准标志值
'(40 . 0.0) ;预设文字高度
'(41 . 1.0) ;字宽比例
'(3 . "gbenor.shx") ;主字体文件名
'(4 . "gbcbig.shx"))) ;大字体文件名
;;;接下来建立标注样式
(progn
(setvar "DIMDLI" 7.0) ;尺寸线间距(基线间距)
(setvar "DIMEXE" 2.0) ;尺寸界线在尺寸线上(超出尺寸线)
(setvar "DIMEXO" 2.0) ;尺寸界线原点偏移
(setvar "DIMBLK" "_ArchTick") ;箭头块名
(setvar "DIMBLK1" "_ArchTick") ;第一个箭头块名
(setvar "DIMBLK2" "_ArchTick") ;第二个箭头块名
(setvar "DIMLDRBLK" "_DOT") ;引线块名
(setvar "DIMASZ" 2.0) ;箭头大小
(setvar "DIMTXSTY" "BJ") ;文字样式
(setvar "DIMCLRT" 4);标注文字颜色(绿色)
(setvar "DIMTXT" 2.5) ;文字高度
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMJUST" 0);将文字置于尺寸线之上,并在尺寸界线之间置中对正
;(setvar "DIMTXTDIRECTION" 0) ;以从左到右阅读的样式显示标注文字
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMTIX" 1);将文字放置于尺寸界线内侧
(setvar "DIMTMOVE" 2) ;允许标注文字自由移动而不用添加引线
(setvar "DIMSCALE" 0.0) ;将标注缩放到布局(模型作图就修改)
(setvar "DIMLUNIT" 2) ;线性标注单位格式
(setvar "DIMDEC" 0);精度
(setvar "DIMDSEP" ".") ;小数分隔符
(if (tblsearch "DIMSTYLE" "DIMBJ")
(command "-DIMSTYLE" "S" "DIMBJ" "Y");建立布局标注
(command "-DIMSTYLE" "R" "DIMBJ")
)
)
;-------------------------------------------------------------------
(progn
(setvar "DIMDLI" 7.0) ;尺寸线间距(基线间距)
(setvar "DIMEXE" 2.0) ;尺寸界线在尺寸线上(超出尺寸线)
(setvar "DIMEXO" 2.0) ;尺寸界线原点偏移
(setvar "DIMBLK" "_ArchTick") ;箭头块名
(setvar "DIMBLK1" "_ArchTick") ;第一个箭头块名
(setvar "DIMBLK2" "_ArchTick") ;第二个箭头块名
(setvar "DIMLDRBLK" "_DOT") ;引线块名
(setvar "DIMASZ" 2.0) ;箭头大小
(setvar "DIMTXSTY" "BJ") ;文字样式
(setvar "DIMCLRT" 4);标注文字颜色(绿色)
(setvar "DIMTXT" 2.5) ;文字高度
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMJUST" 0);将文字置于尺寸线之上,并在尺寸界线之间置中对正
;(setvar "DIMTXTDIRECTION" 0) ;以从左到右阅读的样式显示标注文字
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMTIX" 1);将文字放置于尺寸界线内侧
(setvar "DIMTMOVE" 2) ;允许标注文字自由移动而不用添加引线
(setvar "DIMSCALE" 100.0) ;将标注缩放到布局(模型作图就修改)
(setvar "DIMLUNIT" 2) ;线性标注单位格式
(setvar "DIMDEC" 0);精度
(setvar "DIMDSEP" ".") ;小数分隔符
(if (tblsearch "DIMSTYLE" "DIM-100")
(command "-DIMSTYLE" "S" "DIM-100" "Y")
(command "-DIMSTYLE" "S" "DIM-100");建立比例100标注
)
)
(princ)
)
ZZXXQQ 发表于 2014-11-18 21:18 static/image/common/back.gif
注意命令顺序
多谢!虽然有点小问题,但是被我修复了!大概有些懂得这意思了,以后再慢慢完善。附上运行成功的代码(defun C:JMB ()
(command "LAYER" "M" "轮廓线-粗" "C" "7" "" "")
(command "LAYER" "M" "轮廓线-中" "C" "2" "" "")
(command "LAYER" "M" "轮廓线-细" "C" "5" "" "")
(command "LAYER" "M" "填充" "C" "252" "" "")
(command "LAYER" "M" "标注" "C" "3" "" "")
(command "LAYER" "M" "文字" "C" "4" "" "")
(setvar "CLAYER" "0")
;;;接下来建立文字样式
(entmake (list
'(0 . "STYLE")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbTextStyleTableRecord")
'(2 . "BJ") ;样式名
'(70 . 0) ;标准标志值
'(40 . 0.0) ;预设文字高度
'(41 . 1.0) ;字宽比例
'(3 . "gbenor.shx") ;主字体文件名
'(4 . "gbcbig.shx"))) ;大字体文件名
;;;接下来建立标注样式
(progn
(setvar "DIMDLI" 7.0) ;尺寸线间距(基线间距)
(setvar "DIMEXE" 2.0) ;尺寸界线在尺寸线上(超出尺寸线)
(setvar "DIMEXO" 2.0) ;尺寸界线原点偏移
(setvar "DIMBLK" "_ArchTick") ;箭头块名
(setvar "DIMBLK1" "_ArchTick") ;第一个箭头块名
(setvar "DIMBLK2" "_ArchTick") ;第二个箭头块名
(setvar "DIMLDRBLK" "_DOT") ;引线块名
(setvar "DIMASZ" 2.0) ;箭头大小
(setvar "DIMTXSTY" "BJ") ;文字样式
(setvar "DIMCLRT" 4);标注文字颜色(绿色)
(setvar "DIMTXT" 2.5) ;文字高度
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMJUST" 0);将文字置于尺寸线之上,并在尺寸界线之间置中对正
(setvar "DIMTXTDIRECTION" 0) ;以从左到右阅读的样式显示标注文字
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMTIX" 1);将文字放置于尺寸界线内侧
(setvar "DIMTMOVE" 2) ;允许标注文字自由移动而不用添加引线
(setvar "DIMSCALE" 0.0) ;将标注缩放到布局(模型作图就修改)
(setvar "DIMLUNIT" 2) ;线性标注单位格式
(setvar "DIMDEC" 0);精度
(setvar "DIMDSEP" ".") ;小数分隔符
(if (tblsearch "DIMSTYLE" "DIMBJ")
(command "-DIMSTYLE" "S" "DIMBJ" "Y");建立布局标注
(command "-DIMSTYLE" "S" "DIMBJ")
)
)
;-------------------------------------------------------------------
(progn
(setvar "DIMDLI" 7.0) ;尺寸线间距(基线间距)
(setvar "DIMEXE" 2.0) ;尺寸界线在尺寸线上(超出尺寸线)
(setvar "DIMEXO" 2.0) ;尺寸界线原点偏移
(setvar "DIMBLK" "_ArchTick") ;箭头块名
(setvar "DIMBLK1" "_ArchTick") ;第一个箭头块名
(setvar "DIMBLK2" "_ArchTick") ;第二个箭头块名
(setvar "DIMLDRBLK" "_DOT") ;引线块名
(setvar "DIMASZ" 2.0) ;箭头大小
(setvar "DIMTXSTY" "BJ") ;文字样式
(setvar "DIMCLRT" 4);标注文字颜色(绿色)
(setvar "DIMTXT" 2.5) ;文字高度
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMJUST" 0);将文字置于尺寸线之上,并在尺寸界线之间置中对正
(setvar "DIMTXTDIRECTION" 0) ;以从左到右阅读的样式显示标注文字
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMTIX" 1);将文字放置于尺寸界线内侧
(setvar "DIMTMOVE" 2) ;允许标注文字自由移动而不用添加引线
(setvar "DIMSCALE" 100.0) ;将标注缩放到布局(模型作图就修改)
(setvar "DIMLUNIT" 2) ;线性标注单位格式
(setvar "DIMDEC" 0);精度
(setvar "DIMDSEP" ".") ;小数分隔符
(if (tblsearch "DIMSTYLE" "DIM-100")
(command "-DIMSTYLE" "S" "DIM-100" "Y")
(command "-DIMSTYLE" "S" "DIM-100");建立比例100标注
)
)
(princ)
)
页:
[1]