乐筑天下

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

插入动态块

[复制链接]

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2008-4-10 11:19:52 | 显示全部楼层
这是随附的代码
  1. Public Sub insblk(blkname As String, strLayer As String, Optional strVisibilityState As String)
  2.       Dim blkr As AcadBlockReference
  3.       Dim inspt As Variant
  4.       Dim strCurrentLayer As AcadLayer, newLayer As AcadLayer
  5.       Dim dybprop As Variant, i As Integer
  6.       inspt = ThisDrawing.Utility.GetPoint(, "Enter a point: ")
  7.       Set strCurrentLayer = ThisDrawing.ActiveLayer
  8.       Set newLayer = ThisDrawing.Layers.Add(strLayer)
  9.       ThisDrawing.ActiveLayer = newLayer
  10.       Set blkr = ThisDrawing.ModelSpace.InsertBlock(inspt, blkname, 1, 1, 1, 0)
  11.       If blkr.IsDynamicBlock Then
  12.             dybprop = blkr.GetDynamicBlockProperties
  13.             For i = LBound(dybprop) To UBound(dybprop)
  14.                   If dybprop(i).PropertyName = "Visibility" Then
  15.                         dybprop(i).Value = strVisibilityState
  16.                   End If
  17.             Next i
  18.       End If
  19.       ThisDrawing.ActiveLayer = strCurrentLayer
  20. End Sub

回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
254
发表于 2008-4-10 12:57:09 | 显示全部楼层
更糟糕的是,如果除了我调用子的dvb之外,如果加载了任何dvb,那么愚蠢的vbastmt会给我一个语法错误。 任何想法为什么这个东西是PITA?
回复

使用道具 举报

34

主题

118

帖子

1

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
254
发表于 2008-4-10 13:45:25 | 显示全部楼层
我使用以下命令从不同的DVB加载/运行模块。
  1. (defun DVBLoader (strDVBName strDVBModule / )
  2.    (command "-vbarun" (strcat strDVBName "!" strDVBModule))
  3.    (princ)
  4. )
  5. ^C^C^P(load" VBA-Apps");(DVBLoader "PrintManager.dvb" "modMain.Main");

回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2008-4-10 13:58:22 | 显示全部楼层
嘿,马特,把论点传递给dvb怎么样? 这就是杀死我的原因
回复

使用道具 举报

12

主题

102

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
156
发表于 2008-4-28 12:41:27 | 显示全部楼层
好吧,现在我真的卡住了。看起来我不能从LISP或带有CUI的宏向dvb传递参数。有什么想法吗?我不想做的是仅仅为了插入一个愚蠢的动态块而编写大量的3行lisp代码
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-4 21:53 , Processed in 0.889059 second(s), 60 queries .

© 2020-2025 乐筑天下

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