乐筑天下

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

[编程交流] 正在尝试设置Dimblk VB。网

[复制链接]

4

主题

13

帖子

9

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 12:53:22 | 显示全部楼层 |阅读模式
大家晚上好,我很好奇是否有人知道一个好方法,当块名已知并且在dwg中时,我可以获得块的objectid。我一直很难让它正常工作。。。我还在努力学习vbnet。其次,一旦我获得该objectid,我将尝试将Dimblk设置为该id。然而,如果该id不存在,我将需要导入它。如果有人问我这个问题,我很抱歉,但我还没有找到很多对我正在尝试做的事情有意义的解决方案,或者它们的编码方式让我不确定如何将其应用到我的代码中。以下是我目前掌握的代码:
 
  1. Private Function crwn_initdim(ByVal dimname As String, ByVal dimscale As Double, ByVal dimangdec As Integer, ByVal dimaltunits As Integer, ByVal dimaltdec As Integer, _
  2.                                 ByVal dimaltf As Integer, ByVal dimaltround As Integer, ByVal dimaltdec1 As Integer, ByVal dimaltzsup As Integer, ByVal dimaltunits1 As Integer, _
  3.                                 ByVal dimaltsup As Integer, ByVal dimapost As String, ByVal dimarcsymbol As Integer, ByVal dimarrowsize As Integer, ByVal dimatfit As Integer, _
  4.                                 ByVal dimaunit As Integer, ByVal dimazin As Integer, ByVal dimblock As String)
  5.        Dim crwn_dimid As ObjectId = Nothing 'dimid
  6.        Dim crwn_doclock As DocumentLock = Application.DocumentManager.MdiActiveDocument.LockDocument()
  7.        Dim crwn_database As Database = Application.DocumentManager.MdiActiveDocument.Database
  8.        Dim crwn_transaction As Transaction = crwn_database.TransactionManager.StartTransaction()
  9.        Dim crwn_dimstyle As DimStyleTableRecord
  10.        Try
  11.            Dim crwn_dimblktbl As BlockTable = crwn_transaction.GetObject(crwn_database.BlockTableId, OpenMode.ForNotify, False)
  12.            Dim crwn_dimtable As DimStyleTable = crwn_transaction.GetObject(crwn_database.DimStyleTableId, OpenMode.ForRead, False)
  13.            If crwn_dimblktbl.Has(dimblock) = False Then
  14.                MsgBox("Warning")
  15.            Else
  16.                'ObjectId
  17.            End If
  18.            If crwn_dimtable.Has(dimname) = False Then
  19.                crwn_dimstyle = New DimStyleTableRecord
  20.                crwn_dimstyle.Name = dimname
  21.                crwn_dimstyle.Dimscale = dimscale
  22.                crwn_dimstyle.Dimadec = dimangdec
  23.                crwn_dimstyle.Dimalt = dimaltunits
  24.                crwn_dimstyle.Dimaltd = dimaltdec
  25.                crwn_dimstyle.Dimaltf = dimaltf
  26.                crwn_dimstyle.Dimaltrnd = dimaltround
  27.                crwn_dimstyle.Dimalttd = dimaltdec1
  28.                crwn_dimstyle.Dimalttz = dimaltzsup
  29.                crwn_dimstyle.Dimaltu = dimaltunits1
  30.                crwn_dimstyle.Dimaltz = dimaltsup
  31.                crwn_dimstyle.Dimapost = dimapost
  32.                crwn_dimstyle.Dimarcsym = dimarcsymbol
  33.                crwn_dimstyle.Dimasz = dimarrowsize
  34.                crwn_dimstyle.Dimatfit = dimatfit
  35.                crwn_dimstyle.Dimaunit = dimaunit
  36.                crwn_dimstyle.Dimazin = dimazin
  37.                crwn_dimstyle.Dimblk = dimblock
  38.                crwn_dimtable.UpgradeOpen()
  39.                crwn_dimtable.Add(crwn_dimstyle)
  40.                crwn_transaction.AddNewlyCreatedDBObject(crwn_dimstyle, True)
  41.                crwn_dimtable.DowngradeOpen()
  42.            End If
  43.            crwn_dimid = crwn_dimtable.Item(dimname)
  44.            crwn_transaction.Commit()
  45.        Catch ex As Exception
  46.            crwn_transaction.Abort()
  47.        Finally
  48.            crwn_transaction.Dispose()
  49.            crwn_doclock.Dispose()
  50.        End Try
  51.        Return crwn_dimid
  52.    End Function
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:02 , Processed in 0.515770 second(s), 54 queries .

© 2020-2025 乐筑天下

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