乐筑天下

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

如何判断布局是否已经存在

[复制链接]

9

主题

29

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2012-11-23 09:03:00 | 显示全部楼层 |阅读模式
如:Layout1
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2012-11-23 19:18:00 | 显示全部楼层
public Autodesk.AutoCAD.DatabaseServices.ObjectId LayoutDictionaryId { get; }
    Autodesk.AutoCAD.DatabaseServices.Database 的成员
public bool Contains(string entryName)
    Autodesk.AutoCAD.DatabaseServices.DBDictionary 的成员
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2012-11-23 19:21:00 | 显示全部楼层
另外有个苯办法是,遍历块表,把里面是布局的块记录取出,进而取得其布局;
public bool IsLayout { get; }
    Autodesk.AutoCAD.DatabaseServices.BlockTableRecord 的成员
public Autodesk.AutoCAD.DatabaseServices.ObjectId LayoutId { set; get; }
    Autodesk.AutoCAD.DatabaseServices.BlockTableRecord 的成员
回复

使用道具 举报

9

主题

29

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2012-11-27 16:49:00 | 显示全部楼层

多谢多谢,用笨办法搞定!
'''
    ''' 判断布局是否存在
    '''
    ''' 布局名字
    '''
    '''
    Public Shared Function LayoutNameIndexOf(ByVal layName As String) As Boolean
      
        Dim doc As Document = Application.DocumentManager.MdiActiveDocument
        Dim db As Database = doc.Database
        Dim b As Boolean = False
        Using trans As Transaction = db.TransactionManager.StartTransaction()
            Dim lydiid As ObjectId = db.LayoutDictionaryId
            '获取数据字典
            Dim lydi As DBDictionary = trans.GetObject(lydiid, OpenMode.ForRead)
            '字典计数器
            Dim di As DbDictionaryEnumerator = lydi.GetEnumerator()
            '遍历布局
            While (di.MoveNext())
                Dim lyid As ObjectId = di.Value
                '获取布局
                Dim lyt As Layout = trans.GetObject(lyid, OpenMode.ForRead)
                '因此处区分大小写,所以将名字都转化为大写后再比较
                If UCase(lyt.LayoutName) = UCase(layName) Then
                    b = True
                    Exit While
                End If                           
            End While
        End Using
        Return b
    End Function
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:10 , Processed in 0.357924 second(s), 60 queries .

© 2020-2025 乐筑天下

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