第五章 创建标注和公差
5.1 创建多行文字
可以使用 AddMText 方法来创建多行文字对象(MText 对象)。 此方法需要输入三个值:文字字符串、图形中用于放置文字的插入点和文字边框的宽度。
例 1 在模型空间中的 (2,2,0) 坐标处创建 MText 对象。
Sub Ch4_CreateMText()
Dim mtextObj As AcadMText
Dim insertPoint(0 To 2) As Double
Dim width As Double
Dim textString As String
insertPoint(0) = 2
insertPoint(1) = 2
insertPoint(2) = 0
width = 4
textString = "This is a text string for the mtext object."
' 在模型空间中创建文字对象
Set mtextObj = ThisDrawing.ModelSpace. _
AddMText(insertPoint, width, textString)
ZoomAll
End Sub
5.2 创建线性标注
线性标注可以是对齐标注或转角标注。 对齐标注的尺寸线与尺寸界线原点所在的线平行; 而转角标注的尺寸线与尺寸界线原点形成一定的角度。
要创建对齐标注,使用 AddDimAligned 方法。 这个方法需要输入三个坐标值:两条尺寸界线的原点和文字位置。
要创建转角标注,使用 AddDimRotated 方法。 这个方法需要输入三个坐标值和尺寸线的角度。 三个坐标值分别是两条尺寸界线的原点和文字位置值。 角度必须以弧度提供,代表尺寸线的旋转角度。
5.3 创建半径标注
半径标注用于测量圆弧和圆的半径与直径。 要创建半径标注,使用 AddDimRadial 方法。
要创建半径标注,使用 AddDimRadial 或 AddDimDiametric 方法。 这些方法都需要输入三个值:圆或圆弧的圆心坐标、引线附着的坐标以及引线的长度。
例2 在模型空间中创建半径标注。
Sub Ch5_CreateRadialDimension()
Dim dimObj As AcadDimRadial
Dim center(0 To 2) As Double
Dim chordPoint(0 To 2) As Double
Dim leaderLen As Integer
' 定义标注
center(0) = 0
center(1) = 0
center(2) = 0
chordPoint(0) = 5
chordPoint(1) = 5
chordPoint(2) = 0
leaderLen = 5
' 在模型空间中创建半径标注
Set dimObj = ThisDrawing.ModelSpace. _
AddDimRadial(center, chordPoint, leaderLen)
ZoomAll
End Sub
5.4 创建角度标注
角度标注用于测量两条线或三个点之间的角度。 例如,可以使用它们来测量圆的两个半径之间的角度。 尺寸线会形成一个圆弧。
要创建角度标注,使用 AddDimAngular 方法。 这个方法需要输入四个值:角度顶点、两
条尺寸界线端点和文字起始位置。 AngleVertex 是圆或圆弧的圆心,或是被标注的两条线之间的公共顶点。
例3 在模型空间中创建角度标注。
Sub Ch5_CreateAngularDimension()
Dim dimObj As AcadDimAngular
vba 字符串转数组 Dim angVert(0 To 2) As Double
Dim FirstPoint(0 To 2) As Double
Dim SecondPoint(0 To 2) As Double
Dim TextPoint(0 To 2) As Double
' 定义标注
angVert(0) = 0
angVert(1) = 5
angVert(2) = 0
FirstPoint(0) = 1
FirstPoint(1) = 7
FirstPoint(2) = 0
SecondPoint(0) = 1
SecondPoint(1) = 3
SecondPoint(2) = 0
TextPoint(0) = 3
TextPoint(1) = 5
TextPoint(2) = 0
' 在模型空间中创建角度标注
Set dimObj = ThisDrawing.ModelSpace. _
AddDimAngular(angVert, FirstPoint, SecondPoint, TextPoint)
ZoomAll
End Sub
5.5 创建坐标标注
坐标标注由带引线的 X 或 Y 坐标组成。 X 基准坐标标注沿着 X 轴测量特征与基准点之间的距离。 Y 基准坐标标注沿着 Y 轴测量相同的距离。 AutoCAD 使用当前坐标系 (UCS) 的原点确定测量的坐标。 坐标使用绝对值。
要创建坐标标注,使用 AddDimOrdinate 方法。 这个方法需要输入三个值:用于指定要标注的点的坐标 (A)、用于指定引线端点的坐标 (B) 以及用于指定标注是 X 基准坐标标注还是 Y 基准坐标标注的布尔标志。 如果为布尔标志输入 TRUE,该方法将创建 X 基准坐标标注。
如果输入 FALSE,则会创建 Y 基准坐标标注。
例4 在模型空间中创建坐标标注。
Sub Ch5_CreatingOrdinateDimension()
Dim dimObj As AcadDimOrdinate
Dim definingPoint(0 To 2) As Double
Dim leaderEndPoint(0 To 2) As Double
Dim useXAxis As Long
' 定义标注
definingPoint(0) = 50
definingPoint(1) = 50
definingPoint(2) = 0
leaderEndPoint(0) = 100
leaderEndPoint(1) = 50
leaderEndPoint(2) = 0
useXAxis = 5 ‘不等于零的数都为真值
' 在模型空间中创建坐标标注
Set dimObj = ThisDrawing.ModelSpace. _
AddDimOrdinate(definingPoint, _
leaderEndPoint, useXAxis)
ZoomAll
End Sub
5.6 替代标注文字
可以使用 TextOverride 特性来替换所显示的标注值。 使用此特性可以完全替换所显示的标注值,也可以向该值附加文字。
例5 向标注值附加了文字,所以既显示字符串,又显示标注值。
Sub Ch5_OverrideDimensionText()
Dim dimObj As AcadDimAligned
Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
Dim location(0 To 2) As Double
' 定义标注
point1(0) = 50#: point1(1) = 30#: point1(2) = 0#
point2(0) = 100#: point2(1) = 30#: point2(2) = 0#
location(0) = 75: location(1) = 50#: location(2) = 0#
' 在模型空间中创建对齐标注对象
Set dimObj = ThisDrawing.ModelSpace. _
AddDimAligned(point1, point2, location)
' 修改标注的字符串
dimObj.TextOverride = "The value is <>"
dimObj.Update
End Sub
5.7 创建、修改和复制标注样式
要创建新的标注样式,使用 Add 方法。 这个方法需要输入新标注样式的名称。
也可以复制一种现有样式或一组替代。 使用 CopyFrom 方法,将标注样式从源对象复制到新标注样式中。 源对象可以是另一个 DimStyle 对象、标注、Tolerance 或 Leader 对象,甚至可以是 Document 对象。 如果从另一个标注样式复制样式设置,则样式被精确复制。 如果从标注、Tolerance 或 Leader 对象复制样式的设置,则当前设置(包括所有对象替代)会被复制到新样式中。 如果复制 Document 对象的样式,则活动标注样式加上所有的图形替代,会被复制到新样式。
例6 创建三个新的标注样式,并将文档、给定标注样式和给定标注的当前设置分别复制到各个新的标注样式中。 如果在运行此样例之前进行适当的设置,将发现创建的是不同的标注样式。
预先设置内容:
1创建新的图形并使其成为活动的图形。
2在新的图形中创建线性标注。 此标注应该是图形中仅有的对象。
3将标注线的颜更改为黄。
4将 DIMCLRD 系统变量改为 5(蓝)。
Sub Ch5_CopyDimStyles()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论