inneedofmajorhe 发表于 2022-7-6 22:38:33

需要开发者2012的帮助

我正在创建一个应用程序,它可以打开一个绘图,自动将标记添加到标题栏。一切都很好,直到它开始透过物体看。我得到“无法获取文档对象”,我还使用公共和互操作导入。这就是问题所在。它开始搜索对象,然后失败。我还想知道是否有办法限制搜索,因为我只关心块。
 
For Each MyObj In MyDwgDoc.ModelSpace
         booMfgTag = False
         '** Find all Titleblocks
         If MyObj.ObjectName = "AcDbBlockReference" Then
               If MyObj.Name = "MSP-B-BORDER" Then
                   XOffset = (12 + 47 / 64) - 1.875
                   DScale = 1.0#
                   booMfgTag = True
               ElseIf MyObj.Name = "MSP-D-BORDER" Then
                   XOffset = (24 + 29 / 32) - 3.75
                   DScale = 2.0#
                   booMfgTag = True
               ElseIf MyObj.Name = "B-BORDER" Then
                   XOffset = (12 + 47 / 64) - 1.875
                   DScale = 1.0#
                   booMfgTag = True
               ElseIf MyObj.Name = "D-BORDER" Then
                   XOffset = (24 + 29 / 32) - 3.75
                   DScale = 2.0#
                   booMfgTag = True
               ElseIf MyObj.Name = "BLOCK1" Then
                   XOffset = (24 + 29 / 32) - 3.75
                   DScale = 2.0#
                   booMfgTag = True
               End If
               If booMfgTag Then
                   TBInsrtPt = MyObj.InsertionPoint
                   '** Set-up and insert MfgTag
                   InsertPnt(0) = TBInsrtPt(0) + XOffset * MyObj.XScaleFactor
                   InsertPnt(1) = TBInsrtPt(1)
                   InsertPnt(2) = TBInsrtPt(2)
                   MTObj = MyDwgDoc.ModelSpace.InsertBlock(InsertPnt, strBlock, _
                     MyObj.XScaleFactor * DScale, MyObj.YScaleFactor * DScale, MyObj.ZScaleFactor * DScale, 0.0#)
                   '** Change the attributes of the new block
                   RetVal = MTObj.GetAttributes
                   If IsDBNull(DataGridView3.Rows(ridx).Cells(4).Value) Then
                     DataGridView3.Rows(ridx).Cells(4).Value = " "
                   End If
                   If IsDBNull(DataGridView3.Rows(ridx).Cells(5).Value) Then
                     DataGridView3.Rows(ridx).Cells(5).Value = " "
                   End If
                   If IsDBNull(DataGridView3.Rows(ridx).Cells(6).Value) Then
                     DataGridView3.Rows(ridx).Cells(6).Value = " "
                   End If
                   If IsDBNull(DataGridView3.Rows(ridx).Cells(7).Value) Then
                     DataGridView3.Rows(ridx).Cells(7).Value = " "
                   End If
                   For intI = LBound(RetVal) To UBound(RetVal)
                     If RetVal(intI).TagString = "CSJOB" Then RetVal(intI).TextString = DataGridView3.Rows(ridx).Cells(3).Value
                     If RetVal(intI).TagString = "LOCATION" Then RetVal(intI).TextString = DataGridView3.Rows(ridx).Cells(4).Value
                     If RetVal(intI).TagString = "DESCRIPTION" Then RetVal(intI).TextString = DataGridView3.Rows(ridx).Cells(5).Value
                     If RetVal(intI).TagString = "RESPONSIBLE1" Then RetVal(intI).TextString = DataGridView3.Rows(ridx).Cells(6).Value
                     If RetVal(intI).TagString = "RESPONSIBLE2" Then RetVal(intI).TextString = DataGridView3.Rows(ridx).Cells(7).Value
                     If RetVal(intI).TagString = "QTY" Then RetVal(intI).TextString = DataGridView3.Rows(ridx).Cells(1).Value
                   Next intI
                   booChange = True
               End If
         End If
       Next

inneedofmajorhe 发表于 2022-7-6 22:49:54

我正在用VB创建一个应用程序。NET express 2010使用。NET FRAMEWORK 4.0。我已经编程多年了,但这是我第一次尝试使用autocad developer。我试图动态打开一个图形并搜索所有块对象,然后将标记附加到标题栏。现在,它打开CAD并打开图形。。然后我得到“未能获取文档对象”,它无限地抛出错误。我也在使用AutoCAD 2012。因此,我需要有关正确方法的帮助,以定位和编辑块,然后退出子例程。以下是头痛发生的相关代码。哦。。有没有一点我也不知道。我只有互操作和通用导入。

tzframpton 发表于 2022-7-6 23:00:13

把它扔出去,试试论坛http://www.theswamp.org-他们对那里的编程很感兴趣,很多。网络大师什么的。传播信息就是一切。
 

SLW210 发表于 2022-7-6 23:15:08

请阅读代码发布指南并编辑您的帖子。

SLW210 发表于 2022-7-6 23:21:15

请为同一个问题只发一条帖子。我组合了线程。

inneedofmajorhe 发表于 2022-7-6 23:37:14

好的,我已经使用代码指南重新发布了。。我想知道那是哪里。。所以一切都应该井然有序。。现在我希望它以这样的方式展示,我会得到一些好的提示

tzframpton 发表于 2022-7-6 23:39:47

别忘了我上面的帖子。你会在那里得到更好更快的帮助。
页: [1]
查看完整版本: 需要开发者2012的帮助