乐筑天下

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

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

[复制链接]

12

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2015-7-14 11:30:00 | 显示全部楼层 |阅读模式
  1. Private Sub CommandButton1_Click()
  2. Dim PtPick As Variant
  3. UserForm1.hide
  4. PtPick = ThisDrawing.Utility.GetPoint(, "请在屏幕上选择起点:")
  5. TextBox1.Text = PtPick(0)
  6. TextBox2.Text = PtPick(1)
  7. UserForm1.Show
  8.     Dim blk As IAcadBlockReference2
  9.     Dim ent As AcadEntity
  10.     Dim pnt As Variant
  11.    
  12.     If ent.ObjectName = "立柱" Then
  13.         Set blk = ent
  14.     Else
  15.         Exit Sub
  16.     End If
  17.    
  18.     Dim dyBlkPropCol As Variant         ' 自定义特性的集合
  19.     Dim dyBlkProp As AcadDynamicBlockReferenceProperty      ' 自定义特性
  20.    
  21.     Dim i As Long
  22.    
  23.     If blk.IsDynamicBlock Then
  24.         ' 获得动态块的自定义特性
  25.         dyBlkPropCol = blk.GetDynamicBlockProperties
  26.         
  27.      
  28.             
  29.         For i = 0 To UBound(dyBlkPropCol)
  30.         Set DBlockProperties = dyBlkPropCol(i)
  31.         With DBlockProperties
  32.             If .PropertyName = "距离" Then
  33.                 .Value = CDbl(TextBox3.Text)
  34.                 Exit For
  35.             End If
  36.         End With
  37.     Next i
  38.             
  39.   End If
  40.             
  41.     Dim ptInsert(0 To 2) As Double
  42.     ptInsert(0) = TextBox1.Text: ptInsert(1) = TextBox2.Text: ptInsert(2) = 0
  43.     Set blk = ThisDrawing.ModelSpace.InsertBlock(ptInsert, "立柱", 1, 1, 1, 0)
  44.     ZoomAll
  45.    
  46.    
  47.    
  48. End Sub



这是动态块文件


这是DVB的文件

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

8

主题

72

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
104
发表于 2015-7-14 11:37:00 | 显示全部楼层
代码中错误很多,应该是先插入块参照blk,然后再更改块参照的动态参数,还有,ent也没见你赋值。
你这个问题,应该把dvb和含动态块的图纸一起发上来,否则没人帮你看的,谁会为了帮你还要自己辛辛苦苦照你代码做个窗体界面,还要画个动态块再调试?
回复

使用道具 举报

12

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2015-7-14 16:49:00 | 显示全部楼层

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

使用道具 举报

8

主题

72

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
104
发表于 2015-7-15 09:16:00 | 显示全部楼层
问题就不给你说了,自己看
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:afjcahx0zgo.dvb 
下载次数:0  文件大小:48 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]



请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:vlbgmn01bgd.dwg 
下载次数:0  文件大小:74.88 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]



回复

使用道具 举报

12

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2015-7-15 09:41:00 | 显示全部楼层

谢谢老师。
回复

使用道具 举报

12

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2015-7-15 11:42:00 | 显示全部楼层
前辈要是对自定义属性中的有列表的属性操作也是一样的么?
回复

使用道具 举报

12

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2015-7-15 11:43:00 | 显示全部楼层

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

使用道具 举报

8

主题

72

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
104
发表于 2015-7-15 13:57:00 | 显示全部楼层

一样的,就是赋值类型不一致,数值是double类型,列表应该是string类型,用cstr函数转换下
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-4-20 05:16 , Processed in 1.728322 second(s), 76 queries .

© 2020-2025 乐筑天下

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