乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 88|回复: 3

[例程]使用尺寸--引线标注

[复制链接]

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2002-5-28 21:00:00 | 显示全部楼层 |阅读模式
Public Sub CreateLeader()
    ThisDrawing.ActiveTextStyle.fontFile = "c:\windows\fonts\simsun.ttf"
   
    Dim leaderObj As AcadLeader
    Dim points(0 To 8) As Double
    Dim xPnt As Variant, I As Integer
    Dim leaderType As Integer
    Dim annotation As AcadObject
   
    '选择用来确定引线的点数组
    xPnt = ThisDrawing.Utility.GetPoint(, " 选择第 1个点: ")
    points(0) = xPnt(0): points(1) = xPnt(1): points(2) = xPnt(2)
    For I = 1 To 2
        xPnt = ThisDrawing.Utility.GetPoint _
               (xPnt, "选择第" & I + 1 & "点: ")
        points(3 * I) = xPnt(0)
        points(3 * I + 1) = xPnt(1)
        points(3 * I + 2) = xPnt(2)
    Next
   
    '定义引线的形式
    leaderType = acLineWithArrow         '带箭头的直线段
    'leaderType = acSplineWithArrow
    '不使用标注注释
    'Set annotation = Nothing
        
    '在模型空间创建引线标注
    Set leaderObj = ThisDrawing.ModelSpace.AddLeader _
                    (points, annotation, leaderType)
                        
'---------------------------------------------------------
    Dim mtxtObj As AcadMText
    Dim Width As Double
    Dim mtxtStr As String
    Dim inspnt1(0 To 2) As Double
    Dim inspnt2 As Variant
   
    '确定多行文字的书写宽度
    Width = ThisDrawing.Utility.GetReal("选择文字书写宽度: ")
    '从的命令行输入文字
    mtxtStr = ThisDrawing.Utility.GetString(True, "输入标注文字: ")
   
    'On Error Resume Next
    'inspnt2 = ThisDrawing.Utility.GetPoint(xPnt, "选择文字插入点:")
    'If Err  0 Then
    '    inspnt1(0) = xPnt(0): inspnt1(1) = xPnt(1) + 3.5: inspnt1(2) = xPnt(2)
    '    Set mtxtObj = ThisDrawing.ModelSpace.AddMText(inspnt1, Width, mtxtStr)
    'Else
    '    Set mtxtObj = ThisDrawing.ModelSpace.AddMText(inspnt2, Width, mtxtStr)
    'End If
    'mtxtObj.Height = 7
   
    '创建多行文字对象
    'Dim insertPnt(0 To 2) As Double
    'insertPnt(0) = xPnt(0): insertPnt(1) = xPnt(1) + 3.5: insertPnt(2) = xPnt(2)
    xPnt(1) = xPnt(1) + 3.5
    Set annotation = ThisDrawing.ModelSpace.AddMText _
                      (xPnt, Width, mtxtStr)
    '设置多行文字的高度
    annotation.Height = 7
   
    'insPnt = annotation.insertionPoint
    'insPnt(1) = insPnt(1) + 3.5
    'annotation.insertionPoint = insPnt
   
   
    'ZoomAll
'-----------------------------------------------------------
    'leaderObj.ArrowheadType = acArrowOpen
    'leaderObj.TextGap = 3
    'leaderObj.TextHeight = 7 不支持该属性
    leaderObj.ArrowheadSize = 10      '设置箭头的尺寸
    'leaderObj.VerticalTextPosition = acVertCentered
   
End Sub
回复

使用道具 举报

4

主题

19

帖子

2

银币

初来乍到

Rank: 1

铜币
35
发表于 2005-1-19 21:15:00 | 显示全部楼层
这个工具不是太理想,要求输入的太多,能不能改一下,点选插入点,放置点,输入文字,结束。文字在引线的上方,下划线自动和文字宽度对齐,这样的功能好做吗?
回复

使用道具 举报

31

主题

227

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
351
发表于 2013-3-8 16:01:00 | 显示全部楼层
谢谢供应,修改下来用用。
回复

使用道具 举报

58

主题

274

帖子

14

银币

中流砥柱

Rank: 25

铜币
507
发表于 2013-3-8 17:09:00 | 显示全部楼层
谢谢楼主,收藏 使用
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-29 17:58 , Processed in 0.531898 second(s), 61 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表