在钢筋图中常常用到带圈的数字序号,可符号库中一般只有10以下的数字,10以上的如何输入?如何确保带圈的数字与文字字体相同?
在钢筋图中常常用到带圈的数字序号,可符号库中一般只有10以下的数字,10以上的如何输入?
如何确保带圈的数字与文字字体相同?
2楼
我也正在为这事范愁,不知哪位能帮忙解决不?我只知道在天正里面就可以,普通的CAD如何解决呢?:hug: :(
回复
3楼
关键点,输入文字时选用的字体是:stedi字体,文字输入命令是“单行文字”如12数字带圈:输入12后接着输入“%%153”可得到正确的显示。输入“%%159”得一级钢筋符号,输入“%%160”二级钢筋符号。其他的有关问题上网搜索能解决。
回复
4楼
回复
5楼
提供一种思路:
先写数字再画圈。
以下vba程序,须先选择对象。
Option Explicit
' 创建众多数字的外接圆
Public Sub CreateCirclesToNumbers()
Dim SSet As AcadSelectionSet
Set SSet = ThisDrawing.PickfirstSelectionSet
If SSet.Count = 0 Then
MsgBox "未选择对象"
Exit Sub
End If
Dim objText As AcadEntity
Dim ptMin As Variant, ptMax As Variant
Dim ptCenter(0 To 2) As Double
Dim radius As Double
For Each objText In SSet
If TypeName(objText) Like "IAcad*Text2" Then
If IsNumeric(objText.TextString) Then
' 获得文字的包围框
objText.GetBoundingBox ptMin, ptMax
' 获得圆心和半径
ptCenter(0) = (ptMin(0) + ptMax(0)) / 2
ptCenter(1) = (ptMin(1) + ptMax(1)) / 2
ptCenter(2) = 0
radius = Sqr((ptMin(0) - ptMax(0)) ^ 2 + (ptMin(1) - ptMax(1)) ^ 2) / 2
' 创建圆
ThisDrawing.ModelSpace.AddCircle ptCenter, radius
End If
End If
Next
ThisDrawing.Regen True
End Sub
回复