如何快速修改标注的线性比例
gatebaba
gatebaba Lv.7
2010年04月09日 08:29:35
只看楼主

作图详图习惯,经常讲对象放大后再进行标注,为正确标注,在标注特性栏中修改标注的线性比例,觉得很烦,请问有没有什么命令可以直接点取修改标注的线性比例,这样就不用去标注特性中翻动修改线性比例了,高人们请给个方法,谢谢了!

作图详图习惯,经常讲对象放大后再进行标注,为正确标注,在标注特性栏中修改标注的线性比例,觉得很烦,请问有没有什么命令可以直接点取修改标注的线性比例,这样就不用去标注特性中翻动修改线性比例了,高人们请给个方法,谢谢了!
免费打赏
小萝卜的头
2010年04月09日 21:03:08
2楼
;; 命令: TT
(defun C:TT (/ E I O SCALE SS)
(princ "\n作者:小萝卜头 QQ:95818608 Rev 2010.04.11")
(princ "\n欢迎使用: 修改线型比例 ")
;; (if (setq SS (ssget '((0 . "*LINE,CIRCLE,ARC,ELLIPSE,RAY"))))
(if (setq SS (ssget))
(while (setq SCALE (getreal "\n输入新的比例 <退出> :"))
(repeat (setq I (sslength SS))
(and (setq E (ssname SS (setq I (1- I))))
(setq O (vlax-ename->vla-object E))
(vla-put-linetypescale O SCALE)
)
)
)
)
(princ)
)

[ 本帖最后由 carrot1983 于 2010-4-11 20:51 编辑 ]
回复
gatebaba
2010年04月11日 20:23:15
3楼
谢谢版主,我要修改的是尺寸标注的线性比例,不是线型比例,还请帮想个办法,不过版主的这个线型比例改工具也很好用,多谢了
回复
小萝卜的头
2010年04月11日 20:46:35
4楼


不知道你说的什么叫线性比例:

; IAcadDimRotated: AutoCAD Rotated Dimension 接口
;特性值:
; AltRoundDistance = 0.0
; AltSuppressLeadingZeros = 0
; AltSuppressTrailingZeros = 0
; AltSuppressZeroFeet = -1
; AltSuppressZeroInches = -1
; AltTextPrefix = ""
; AltTextSuffix = ""
; AltTolerancePrecision = 3
; AltToleranceSuppressLeadingZeros = 0
; AltToleranceSuppressTrailingZeros = 0
; AltToleranceSuppressZeroFeet = -1
; AltToleranceSuppressZeroInches = -1
; AltUnits = 0
; AltUnitsFormat = 2
; AltUnitsPrecision = 3
; AltUnitsScale = 0.0393701
; Application (RO) = #<VLA-OBJECT IAcadApplication 00d73d3c>
; Arrowhead1Block = ""
; Arrowhead1Type = 0
; Arrowhead2Block = ""
; Arrowhead2Type = 0
; ArrowheadSize = 2.5
; DecimalSeparator = ","
; DimensionLineColor = 0
; DimensionLineExtend = 0.0
; DimensionLinetype = "ByBlock"
; DimensionLineWeight = -2
; DimLine1Suppress = 0
; DimLine2Suppress = 0
; DimLineInside = 0
; Document (RO) = #<VLA-OBJECT IAcadDocument 01e1e158>
; ExtensionLineColor = 0
; ExtensionLineExtend = 1.25
; ExtensionLineOffset = 0.625
; ExtensionLineWeight = -2
; ExtLine1Linetype = "ByBlock"
; ExtLine1Suppress = 0
; ExtLine2Linetype = "ByBlock"
; ExtLine2Suppress = 0
; ExtLineFixedLen = 1.0
; ExtLineFixedLenSuppress = 0
; Fit = 3
; ForceLineInside = -1
; FractionFormat = 0
; Handle (RO) = "1B1"
; HasExtensionDictionary (RO) = 0
; HorizontalTextPosition = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 06f58ff4>
; Layer = "0"
; LinearScaleFactor = 1.0
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Measurement (RO) = 1305.47
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 2130330504
; ObjectName (RO) = "AcDbRotatedDimension"
; OwnerID (RO) = 2130324728
; PlotStyleName = "ByLayer"
; PrimaryUnitsPrecision = 2
; Rotation = 0.0
; RoundDistance = 0.0
; ScaleFactor = 1.0
; StyleName = "ISO-25"
; SuppressLeadingZeros = 0
; SuppressTrailingZeros = -1
; SuppressZeroFeet = -1
; SuppressZeroInches = -1
; TextColor = 0
; TextFill = 0
; TextFillColor = 0
; TextGap = 0.625
; TextHeight = 2.5
; TextInside = 0
; TextInsideAlign = 0
; TextMovement = 0
; TextOutsideAlign = 0
; TextOverride = ""
; TextPosition = (1810.93 730.258 0.0)
; TextPrefix = ""
; TextRotation = 0.0
; TextStyle = "Standard"
; TextSuffix = ""
; ToleranceDisplay = 0
; ToleranceHeightScale = 1.0
; ToleranceJustification = 0
; ToleranceLowerLimit = 0.0
; TolerancePrecision = 2
; ToleranceSuppressLeadingZeros = 0
; ToleranceSuppressTrailingZeros = -1
; ToleranceSuppressZeroFeet = -1
; ToleranceSuppressZeroInches = -1
; ToleranceUpperLimit = 0.0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 06f98568>
; UnitsFormat = 2
; VerticalTextPosition = 1
; Visible = -1
;支持的方法:
; ArrayPolar (3)
; ArrayRectangular (6)
; Copy ()
; Delete ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; Mirror (2)
; Mirror3D (3)
; Move (2)
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()

;; 命令: TT
(defun C:TT (/ E I O SCALE SS)
(princ "\n作者:小萝卜头 QQ:95818608 2010.04.12")
(princ "\n欢迎使用: 指定线性标注测量单位的全局比例因子 ")
(if (setq SS (ssget '((0 . "Dimension"))))
(while (setq SCALE (getreal "\n输入新的比例 <退出> :"))
(repeat (setq I (sslength SS))
(and (setq E (ssname SS (setq I (1- I))))
(setq O (vlax-ename->vla-object E))
(vla-put-LinearScaleFactor O SCALE)
)
)
)
)
(princ)
)

[ 本帖最后由 carrot1983 于 2010-4-12 09:04 编辑 ]
回复
gatebaba
2010年04月11日 22:40:59
5楼
谢谢斑竹的热心,我指的是一个标注的对象特性中,主单位栏中的那个标注线性比例,有劳了
回复
fujinxi2004
2010年04月12日 11:48:15
6楼
(defun c:wzbb(/ i ss ed dimscle)
(command "._undo" "_begin")
(princ "\n选择尺寸标注")
(setq ss (ssget '((0 . "DIMENSION"))))
(setq dimscle (getreal "请输入比例:"))
(setq i -1)
(repeat (sslength ss)
(setq ed (entget (ssname ss (setq i (1+ i)))))
(setq ed (subst (cons 1 (rtos(* (cdr (assoc 42 ed)) dimscle))) (assoc 1 ed) ed))
(entmod ed)
)
(command "._undo" "_end")
(prin1)
)
回复
wangmin11831
2010年04月17日 09:27:36
7楼
其实修改一个再刷一便就这么简单
回复
fujinxi2004
2010年04月19日 00:00:14
8楼


其实只要有简单的画线工具就可以把所有的图画出来了,关键是要求方便,求速度。cad二次开发的意义就在这里
回复
nanyuantk
2010年05月14日 10:16:23
9楼
LTS
回复
wdtufei
2012年08月04日 13:44:19
10楼
carrot1983,fujinxi2004,都是正解哦,这两个
回复
kangshuimiao
2012年10月26日 15:04:37
11楼
如果你是用探索者画图的话,它就有这个功能,你先按1:1画图,画好后再用变比例(bbl)转换为你要的比例(1:100,1:50,1:30都可以),尺寸标注也会相应的变化,很方便的。如果你是CAD的话,那就到网上搜索下小插件,应该也是可以直接改的。
回复

相关推荐

APP内打开