获知工程图引线注释的文档

本文介绍如何通过编程获取工程图中引线注释所关联的零件或装配信息。当工程图的曲线变化时,引线的位置和内容随之更新。通过示例代码展示了如何确定引线绑定的几何线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道,工程图里的引线一般会和某个视图几何线绑定,作为对其的注释。当曲线发生变化,引线位置和内容也会联动。那如何得知引线注释的是哪个零件或装配?其实思路就是得到其绑定的几何线。以下是一段小小的代码样例,假定先选中一个引线(API对象是LeaderNote)。


Sub test()

    Dim oDoc As DrawingDocument
    Set oDoc = ThisApplication.ActiveDocument
    
    '选取一个引线
    Dim oLeaderNote As LeaderNote
    Set oLeaderNote = oDoc.SelectSet(1)
    
    '获得其Leader中最后一个节点,该节点指向几何线
    Dim oLastNode As LeaderNode
    Set oLastNode = oLeaderNote.Leader.AllNodes(oLeaderNote.Leader.AllNodes.Count)
    
    Dim oGeIntent As GeometryIntent
    Dim oAttachedDrawingCurve As DrawingCurve
    Dim oDrawingView As DrawingView
    Dim oModelG As Object
    
    '查看是否该引线和几何线绑定
    If Not oLastNode.AttachedEntity Is Nothing Then
        
        '得到对应的几何线
        Set oGeIntent = oLastNode.AttachedEntity
        Set oAttachedDrawingCurve = oGeIntent.Geometry
        
        '得到几何线所在视图
        Set oDrawingView = oAttachedDrawingCurve.Parent
        
        ' 查看该曲线属于哪个零件或装配
        
        '几何线对应的模型实体
         Set oModelG = oAttachedDrawingCurve.ModelGeometry
         If TypeOf oModelG Is Edge Then
         
             '模型实体的SurfaceBody
             Dim oSB As SurfaceBody
             Set oSB = oModelG.Parent
             
             '得知SurfaceBody所在的component definition
             Dim oDef As ComponentDefinition
             Set oDef = oSB.ComponentDefinition
             
             '得到对应文档
             Dim oSourceDoc As Document
             Set oSourceDoc = oDef.Document
         End If
         
         MsgBox "引线注释的视图是: " & oDrawingView.Name & vbCr & "注释的对应模型文档是: " & oSourceDoc.FullFileName
    Else
       
       MsgBox ("该引线和任何几何线无关联!")
         
    End If
 
End Sub


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值