dage23wo 发表于 2015-7-14 11:30:48

动态块问题,实在找不出来哪错了,请各位前辈抽空看下源码

本帖最后由 dage23wo 于 2015-7-14 16:48 编辑

Private Sub CommandButton1_Click()

Dim PtPick As Variant
UserForm1.hide
PtPick = ThisDrawing.Utility.GetPoint(, "请在屏幕上选择起点:")
TextBox1.Text = PtPick(0)
TextBox2.Text = PtPick(1)
UserForm1.Show


    Dim blk As IAcadBlockReference2
    Dim ent As AcadEntity
    Dim pnt As Variant
   
    If ent.ObjectName = "立柱" Then
      Set blk = ent
    Else
      Exit Sub
    End If
   
    Dim dyBlkPropCol As Variant         ' 自定义特性的集合
    Dim dyBlkProp As AcadDynamicBlockReferenceProperty      ' 自定义特性
   
    Dim i As Long
   
    If blk.IsDynamicBlock Then
      ' 获得动态块的自定义特性
      dyBlkPropCol = blk.GetDynamicBlockProperties
      
   
            
      For i = 0 To UBound(dyBlkPropCol)
      Set DBlockProperties = dyBlkPropCol(i)
      With DBlockProperties
            If .PropertyName = "距离" Then
                .Value = CDbl(TextBox3.Text)
                Exit For
            End If
      End With
    Next i
            
End If
            
    Dim ptInsert(0 To 2) As Double
    ptInsert(0) = TextBox1.Text: ptInsert(1) = TextBox2.Text: ptInsert(2) = 0
    Set blk = ThisDrawing.ModelSpace.InsertBlock(ptInsert, "立柱", 1, 1, 1, 0)
    ZoomAll
   
   
   
End Sub

wangshuping42 发表于 2015-7-14 11:37:20

代码中错误很多,应该是先插入块参照blk,然后再更改块参照的动态参数,还有,ent也没见你赋值。
你这个问题,应该把dvb和含动态块的图纸一起发上来,否则没人帮你看的,谁会为了帮你还要自己辛辛苦苦照你代码做个窗体界面,还要画个动态块再调试?

dage23wo 发表于 2015-7-14 16:49:56

wangshuping42 发表于 2015-7-14 11:37 static/image/common/back.gif
代码中错误很多,应该是先插入块参照blk,然后再更改块参照的动态参数,还有,ent也没见你赋值。
你这个问题 ...

前辈,我把动态块和DVB文件传上去了,能否帮我看看。非常非常感谢您。谢谢

wangshuping42 发表于 2015-7-15 09:16:49

问题就不给你说了,自己看

dage23wo 发表于 2015-7-15 09:41:45

wangshuping42 发表于 2015-7-15 09:16 static/image/common/back.gif
问题就不给你说了,自己看

谢谢老师。

dage23wo 发表于 2015-7-15 11:42:29

前辈要是对自定义属性中的有列表的属性操作也是一样的么?

dage23wo 发表于 2015-7-15 11:43:07

wangshuping42 发表于 2015-7-15 09:16 static/image/common/back.gif
问题就不给你说了,自己看


前辈要是对自定义属性中的有列表的属性操作也是一样的么?

wangshuping42 发表于 2015-7-15 13:57:30

dage23wo 发表于 2015-7-15 11:43 static/image/common/back.gif
前辈要是对自定义属性中的有列表的属性操作也是一样的么?

一样的,就是赋值类型不一致,数值是double类型,列表应该是string类型,用cstr函数转换下
页: [1]
查看完整版本: 动态块问题,实在找不出来哪错了,请各位前辈抽空看下源码