Keith™ 发表于 2008-5-1 17:05:19

阻止计划创建者

我正在构建一个块明细表生成器,该生成器搜索所有打开的图形,并创建按类型过滤的块和描述明细表
我已经构建了基本代码,尽管我必须扩展它以允许计划命名、文本大小、层等。目标是让它完全由用户配置,因此它更适合多个学科的多个用户。我最初考虑这样做是为了我的电气时间表,后来决定它也适用于我的门窗
因此,我现在需要确定所有块的边界框,并将其缩放到由边界框确定的单高度空间或双高空间的空间约束中。(即,如果要将块缩放到小于70%以适合单个高度行,请将该行设置为双倍高度。(参见附图)我将根据我们的标准为门窗使用其他符号,但最终我希望用户能够选择是使用块还是块内的属性


Bryco 发表于 2008-5-1 17:52:00

听起来很酷,基思
要使它如此多功能,似乎需要做一些工作。

JohnF 发表于 2008-5-1 21:59:44

Keith,
当您在图形中循环时,您也可以计算要添加到明细表中的类似块的数量。

Keith™ 发表于 2008-5-3 01:41:37

好的。这是第一个化身。有限的错误检查和代码是'我真的很漂亮;我没有时间组织和优化…我甚至可能不会打扰它,它应该可以在2000年以后的任何版本的AutoCAD上工作(在不支持它的版本中没有TrueColor或配色系统)
在开始时,设置时间表将是一件痛苦的事,直到您输入所有的描述。(见下面的注释)
要做的事:
添加块“;图标“;(几何)到明细表中添加块计数到明细表,过滤已指定为明细表类型的现有块;删除计划模板;选项
允许在明细表中使用替代图标(而不是块几何图形)
在块列表中添加列排序
添加功能以打开其他图形以包括在明细表内
添加机制以在更改明细表类型时自动更新块列表
需要更多的错误检查
单击块列表中的项目以添加说明如果在单击“选项”后选择其他图形,则只会显示您定义为所有当前块的特定明细表所需的项目的描述(请参阅待办事项列表中的过滤项目);“获取所有块”;按钮,您需要再次单击它以更新阻止列表。同样,如果您更改计划类型或创建新的计划,则需要选择;“获取所有块”;再次按下按钮
;“获取所有块”;按钮更改为;插入附表;,必须再次选择它才能将明细表放置在激活图形中
操作:执行宏;MakeSchedule“&nbsp。。。它应该是程序中唯一暴露的sub
法律资料:实施Frank Oquendo的VLAX class版权1999-2001(见完整版权披露来源)
版权所有2008 ResourceCAD International

Keith™ 发表于 2008-5-5 16:52:58

仅供参考。GetSchedules函数中存在一个错误,导致程序在读取注册表以获取已定义时间表列表时失败。如果不存在计划,则会生成致命错误
需要在modCount模块中替换GetSchedules函数
[代码在调用函数(form initialize)中,将函数末尾的For X循环替换为:
    For X = 0 To UBound(Schedules, 1)
      If Schedules(X, 0)"" Then
            Set Lbl(X + 1) = New ScheduleLink
            ReDim Preserve Lbl(0 To (UBound(Lbl) + 1))
            Lbl(X + 1).Caption = Schedules(X, 0)
            Lbl(X + 1).Tag = Schedules(X, 0)
      End If
    Next X
我添加了一些其他函数,只要我把它们都整理好,我就会发布新代码。

Eloquintet 发表于 2008-5-5 19:21:32

基思,这看起来很有趣。我可能不得不下载并玩它,但我'我还发帖问你是否'我看过这个:
http://www.codezebra.com/livinglegend.html有一段时间我把它弄乱了,它'它很甜。我认为你想写你自己的,但这也可能给你一些其他的想法。祝你好运
页: [1]
查看完整版本: 阻止计划创建者