- 积分
- 7470
- 明经币
- 个
- 注册时间
- 2010-8-7
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 tranney 于 2013-8-2 15:19 编辑
注:本代码是在本论坛高手拿来的代码,因为他本身的代码不是很好用,所以略做修改
修改后 适合1:1绘图,大样图为直接sc放大的情况,这个标注设置我个人觉得比较好修改,故发给大家,希望大家喜欢!
本人在2011天正环境调试成功,,不能保证r14能够使用
送切换标注比例样式代码:
(defun c:d10 ()(command "-DIMSTYLE" "R" "菜菜建筑1-10")(princ "\n当前标注样式:菜菜建筑1-10")(princ))
(defun c:d20 ()(command "-DIMSTYLE" "R" "菜菜建筑1-20")(princ "\n当前标注样式:菜菜建筑1-20")(princ))
(defun c:d25 ()(command "-DIMSTYLE" "R" "菜菜建筑1-25")(princ "\n当前标注样式:菜菜建筑1-25")(princ))
(defun c:d50 ()(command "-DIMSTYLE" "R" "菜菜建筑1-50")(princ "\n当前标注样式:菜菜建筑1-50")(princ))
(defun c:d100 ()(command "-DIMSTYLE" "R" "菜菜建筑1-100")(princ "\n当前标注样式:菜菜建筑1-100")(princ))
(defun c:dst () (command "-DIMSTYLE" "R" "standard")(princ "\n当前标注样式:standard")(princ))
启动命令 ccjz
;----------建立基本标注 开始
(defun CaiCaihz ()
(if (= (tblsearch "style" "菜菜hz") nil)
(progn
(princ "\n建立菜菜hz字体并设为当前。")
(command "style" "菜菜hz" "txt.shx,hztxt.shx" "0.0" "0.7" "" "" "" "")
)
(progn
(command "style" "菜菜hz" "txt.shx,hztxt.shx" "0.0" "0.7" "" "" "" "")
;(command "style" "菜菜hz" "" "" "" "" "" "")
(princ "\n检测到菜菜hz字体,将其设为当前。")
)
)
(princ)
)
;建立建筑标注标注界限块
(defun dimblk1(/ p1 p2 mp p3 p4 ent1 ent2 ifdimblk )
(setq p1 (list 0 0)
p2 (polar p1 (* 0.25 pi) 2)
mp (list (* 0.5 (car p2)) (* 0.5 (cadr p2)))
p3(list (- (car mp) 1.5) (cadr mp))
p4(list (+ (car mp) 1.5) (cadr mp))
)
(command "line" p3 p4 "")
(setq ent1 (entlast))
(command "pline" p1 "w" 0.5 0.5 p2 "")
(setq ent2 (entlast))
(setq ifdimblk (tblsearch "block" "ccjzDIM"))
(if ifdimblk (command "block" "ccjzDIM" "y" mp ent1 ent2 "")
(command "block" "ccjzDIM" mp ent1 ent2 "")
)
(princ)
)
(defun c:ccjz (/ cm)
(setq cm (getvar "cmdecho"))
;(setvar "cmdecho" 0)
(CaiCaihz)
(dimblk1)
(if (= (tblsearch "dimstyle" "菜菜建筑1-100") nil)
(progn (command "dimstyle" "s" "菜菜建筑1-100")
(setvar "DIMDSEP" ".") ;小数分隔符
(setvar "DIMADEC" 1) ;角度小数位数
(setvar "DIMALT" 0) ;选定的换算单位
(setvar "DIMALTD" 2) ;换算单位小数位数
(setvar "DIMALTF" 25.4000) ;换算单位比例因子
(setvar "DIMALTRND" 0.0000) ;换算单位舍入值
(setvar "DIMALTTD" 2) ;换算公差小数位数
(setvar "DIMALTTZ" 0) ;换算公差消零
(setvar "DIMALTU" 2) ;换算单位
(setvar "DIMALTZ" 0) ;换算单位消零
(setvar "DIMASZ" 0.7) ;箭头大小
(setvar "DIMATFIT" 3) ;箭头和文字调整
(setvar "DIMAUNIT" 0) ;角度单位格式
(setvar "DIMAZIN" 2) ;角度消零
(setvar "DIMBLK" "ccjzDIM") ;箭头块名
(setvar "DIMBLK1" "ccjzDIM") ;第一个箭头块名
(setvar "DIMBLK2" "ccjzDIM") ;第二个箭头块名
(setvar "DIMCEN" 0.0900) ;圆心标记大小
(setvar "DIMCLRD" 3) ;尺寸线和引线颜色(绿色)
(setvar "DIMCLRE" 3) ;尺寸界线颜色(绿色)
(setvar "DIMCLRT" 7) ;标注文字颜色(绿色)
(setvar "DIMDEC" 1) ;小数位数
(setvar "DIMDLE" 0.0000) ;尺寸线
(setvar "DIMDLI" 0.0000) ;尺寸线间距
(setvar "DIMEXE" 1.5000) ;尺寸界线在尺寸线上
(setvar "DIMEXO" 1.5000) ;尺寸界线原点偏移
(setvar "DIMFRAC" 0) ;分数格式
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMJUST" 0) ;尺寸线上的文字对正
(setvar "DIMLDRBLK" ".") ;引线块名
(setvar "DIMLFAC" (getvar "DIMLFAC")) ;线性单位比例因子
(setvar "DIMLIM" 0) ;生成标注界限
(setvar "DIMLUNIT" 2) ;线性单位格式
(setvar "DIMLWD" -2) ;尺寸线和引线线宽
(setvar "DIMLWE" -2) ;尺寸界线线宽
(setvar "DIMRND" 0.0000) ;舍入值
(setvar "DIMSAH" 0) ;独立的箭头块
(setvar "DIMSCALE" (getvar "dimscale")) ;全局比例因子
(setvar "DIMSD1" 0) ;隐藏第一条尺寸线
(setvar "DIMSD2" 0) ;隐藏第二条尺寸线
(setvar "DIMSE1" 0) ;隐藏第一条尺寸界线
(setvar "DIMSE2" 0) ;隐藏第二条尺寸界线
(setvar "DIMSOXD" 0) ;隐藏外侧尺寸线
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMTDEC" 1) ;公差小数位数
(setvar "DIMTFAC" 1.0000) ;公差文字高度比例因子
(setvar "DIMTIH" 0) ;尺寸界线内侧的文字水平放置
(setvar "DIMTIX" 1) ;将文字放置于尺寸界线内侧
(setvar "DIMTM" 0.0000) ;下偏差
(setvar "DIMTMOVE" 2) ;文字移动
(setvar "DIMTOFL" 1) ;强制在尺寸界线内侧画尺寸线
(setvar "DIMTOH" 0) ;外侧文字水平放置
(setvar "DIMTOL" 0) ;公差标注
(setvar "DIMTOLJ" 1) ;公差垂直对齐
(setvar "DIMTP" 0.0000) ;上偏差
(setvar "DIMTSZ" 0.0000) ;标记大小
(setvar "DIMTVP" 0.0000) ;文字垂直位置
(setvar "DIMTXSTY" "菜菜hz") ;文字样式
(setvar "DIMTXT" 2.500) ;文字高度
(setvar "DIMTZIN" 0) ;公差消零
(setvar "DIMUPT" 0) ;用户定位的文字
(setvar "DIMZIN" 8) ;消零
(princ "\n已新建标注样式菜菜建筑1-100,该样式符合本院标准,默认全局比例为1,修改比例请输入DIMSCALE。")
)
(progn
;;; (command "dimstyle" "s" "菜菜建筑1-100")
(setvar "DIMDSEP" ".") ;小数分隔符
(setvar "DIMADEC" 1) ;角度小数位数
(setvar "DIMALT" 0) ;选定的换算单位
(setvar "DIMALTD" 2) ;换算单位小数位数
(setvar "DIMALTF" 25.4000) ;换算单位比例因子
(setvar "DIMALTRND" 0.0000) ;换算单位舍入值
(setvar "DIMALTTD" 2) ;换算公差小数位数
(setvar "DIMALTTZ" 0) ;换算公差消零
(setvar "DIMALTU" 2) ;换算单位
(setvar "DIMALTZ" 0) ;换算单位消零
(setvar "DIMASZ" 0.70) ;箭头大小
(setvar "DIMATFIT" 3) ;箭头和文字调整
(setvar "DIMAUNIT" 0) ;角度单位格式
(setvar "DIMAZIN" 2) ;角度消零
(setvar "DIMBLK" "ccjzDIM") ;箭头块名
(setvar "DIMBLK1" "ccjzDIM") ;第一个箭头块名
(setvar "DIMBLK2" "ccjzDIM") ;第二个箭头块名
(setvar "DIMCEN" 0.0900) ;圆心标记大小
(setvar "DIMCLRD" 3) ;尺寸线和引线颜色(绿色)
(setvar "DIMCLRE" 3) ;尺寸界线颜色(绿色)
(setvar "DIMCLRT" 7) ;标注文字颜色(绿色)
(setvar "DIMDEC" 1) ;小数位数
(setvar "DIMDLE" 0.0000) ;尺寸线
(setvar "DIMDLI" 0.0000) ;尺寸线间距
(setvar "DIMEXE" 1.5000) ;尺寸界线在尺寸线上
(setvar "DIMEXO" 1.5000) ;尺寸界线原点偏移
(setvar "DIMFRAC" 0) ;分数格式
(setvar "DIMGAP" 0.8) ;尺寸线和文字的间距
(setvar "DIMJUST" 0) ;尺寸线上的文字对正
(setvar "DIMLDRBLK" ".") ;引线块名
(setvar "DIMLFAC" (getvar "DIMLFAC")) ;线性单位比例因子
(setvar "DIMLIM" 0) ;生成标注界限
(setvar "DIMLUNIT" 2) ;线性单位格式
(setvar "DIMLWD" -2) ;尺寸线和引线线宽
(setvar "DIMLWE" -2) ;尺寸界线线宽
(setvar "DIMRND" 0.0000) ;舍入值
(setvar "DIMSAH" 0) ;独立的箭头块
(setvar "DIMSCALE" (getvar "dimscale")) ;全局比例因子
(setvar "DIMSD1" 0) ;隐藏第一条尺寸线
(setvar "DIMSD2" 0) ;隐藏第二条尺寸线
(setvar "DIMSE1" 0) ;隐藏第一条尺寸界线
(setvar "DIMSE2" 0) ;隐藏第二条尺寸界线
(setvar "DIMSOXD" 0) ;隐藏外侧尺寸线
(setvar "DIMTAD" 1) ;文字位于尺寸线上方
(setvar "DIMTDEC" 1) ;公差小数位数
(setvar "DIMTFAC" 1.0000) ;公差文字高度比例因子
(setvar "DIMTIH" 0) ;尺寸界线内侧的文字水平放置
(setvar "DIMTIX" 1) ;将文字放置于尺寸界线内侧
(setvar "DIMTM" 0.0000) ;下偏差
(setvar "DIMTMOVE" 2) ;文字移动
(setvar "DIMTOFL" 1) ;强制在尺寸界线内侧画尺寸线
(setvar "DIMTOH" 0) ;外侧文字水平放置
(setvar "DIMTOL" 0) ;公差标注
(setvar "DIMTOLJ" 1) ;公差垂直对齐
(setvar "DIMTP" 0.0000) ;上偏差
(setvar "DIMTSZ" 0.0000) ;标记大小
(setvar "DIMTVP" 0.0000) ;文字垂直位置
(setvar "DIMTXSTY" "菜菜hz") ;文字样式
(setvar "DIMTXT" 2.500) ;文字高度
(setvar "DIMTZIN" 0) ;公差消零
(setvar "DIMUPT" 0) ;用户定位的文字
(setvar "DIMZIN" 8) ;消零
(princ "\n检测到标注样式:“菜菜建筑1-100”,为防止样式被改动,程序自动将其还原(全局比例不变)。")
)
)
(command "_.DIMSTYLE" "_SAVE" "菜菜建筑1-100" "y" "")
;(setvar "cmdecho" cm)
(princ)
(ccdimdayang)
)
;----------建立各种比例大样图所需的标注样式
(defun ccdimdayang(/ ACADDOCUMENT ACADOBJECT CURRDIMSTYLE MSPACE)
(PRINC "\n模型空间中,建立各种比例大样图所需的标注样式 :")
;;; 首先,返回当前的标注的样式
;;; 接着,设定新的样式。
;;; 最后,将样式恢复为原来的设定值。
(VL-LOAD-COM)
(setq AcadObject(vlax-get-acad-object)
AcadDocument(vla-get-ActiveDocument AcadObject)
mSpace(vla-get-ModelSpace AcadDocument)
)
;;; 返回激活文件当前的标注样式
(setq currDimStyle(vla-get-ActiveDimStyle AcadDocument))
;(princ "当前的标注型式是 ")(princ (vla-get-name currDimStyle))
;;; 建立标注样式 菜菜1-10
(setvar "dimlfac" 0.1);因为图元放大了10倍
(setvar "DIMCLRD" 1);改变颜色以区分
(setvar "dimclre" 1)
(if (not (tblsearch "dimstyle" "菜菜建筑1-10"))
(command "-dimstyle" "s" "菜菜建筑1-10")
(command "-dimstyle" "s" "菜菜建筑1-10" "y")
)
;;; 建立标注样式 菜菜1-20
(setvar "dimlfac" 0.20)
(setvar "DIMCLRD" 2)
(setvar "dimclre" 2)
(if (not (tblsearch "dimstyle" "菜菜建筑1-20"))
(command "-dimstyle" "s" "菜菜建筑1-20")
(command "-dimstyle" "s" "菜菜建筑1-20" "y")
)
;;; 建立标注样式 菜菜1-25
(setvar "dimlfac" 0.25)
(setvar "DIMCLRD" 4)
(setvar "dimclre" 4)
(if (not (tblsearch "dimstyle" "菜菜建筑1-25"))
(command "-dimstyle" "s" "菜菜建筑1-25")
(command "-dimstyle" "s" "菜菜建筑1-25" "y")
)
;;; 建立标注样式 菜菜1-50
(setvar "dimlfac" 0.5)
(setvar "DIMCLRD" 5)
(setvar "dimclre" 5)
(if (not (tblsearch "dimstyle" "菜菜建筑1-50"))
(command "-dimstyle" "s" "菜菜建筑1-50")
(command "-dimstyle" "s" "菜菜建筑1-50" "y")
)
(vla-put-ActiveDimStyle AcadDocument currDimStyle);; 将标注样式设回原来的标注样式
;(princ "标注型式重设为 ")(princ (vla-get-name currDimStyle))
(princ)
)
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|