您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > CAD-VBA的块和参照过滤方法
共享一下CAD-VBA中,屏幕选择集中对块参照的过滤方法,供参考:'''''''''''''''''''''''''''''''''''''''''''''''''''DimmelemAsAcadEntityDimselsetCollectionAsAcadSelectionSets'定义选择集集合Dimi,jAsLongDimentAsObject''''''''''''''''''''查找图形中的每个选择集,是否已存在SetselsetCollection=ThisDrawing.SelectionSetsi=0j=0ForEachFilterSetInselsetCollectionIfxxx=FilterSet.NameThen’’’’”xxx”为自己想用的选择集名j=1ExitForEndIfi=i+1NextIfj=0ThenSetFilterSet=ThisDrawing.SelectionSets.Add(xxx)ElseFilterSet.ClearEndIf‘’’’’’’定义过滤器数组,设定过滤参数DimsFilterType(1)AsIntegerDimsFilterData(1)AsVariantsFilterType(0)=100sFilterData(0)=AcDbBlockReferencesFilterType(1)=2sFilterData(1)=~FilterSet.SelectOnScreensFilterType,sFilterData‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’另附DXF组码表,以便对上段程式的理解;DXF下表列出了组码或组码范围以及组码值的解释。在此表中,“固定”表明组码始终具有相同的用途。如果组码不固定,则其用途取决于上下文。关于此表中使用的缩写和格式方面的信息。按数字次序排列的组码组码说明-5APP:永久反应器链-4APP:条件运算符(仅与ssget一起使用)-3APP:扩展数据(XDATA)标记(固定)-2APP:图元名参照(固定)-1APP:图元名。每次打开图形时,图元名都会发生变化,从不保存(固定)0表示图元类型的字符串(固定)1图元的主文字值2名称(属性标记、块名等)3-4其他文字或名称值5图元句柄;最多16个十六进制数字的字符串(固定)6线型名(固定)7文字样式名(固定)8图层名(固定)9DXF:变量名称标识符(仅在DXF文件的HEADER段中使用)10主要点;直线或文字图元的起点、圆的圆心,等等DXF:主要点的X值(后跟Y和Z值代码20和30)APP:三维点(三个实数的列表)11-18其他点DXF:其他点的X值(后跟Y值代码21-28和Z值代码31-38)APP:三维点(三个实数的列表)20,30DXF:主要点的Y值和Z值21-28,31-37DXF:其他点的Y值和Z值38DXF:如果非零,则为图元的标高39如果非零,则为图元的厚度(固定)40-48双精度浮点值(文字高度、缩放比例等)48线型比例;双精度浮点标量值;默认值适用于所有图元类型49重复的双精度浮点值。一个图元的可变长度表(例如,LTYPE表中的虚线长度)中可能会出现多个49组。7x组始终出现在第一个49组之前,用以指定表的长度50-58角度(在DXF文件中以度为单位,在AutoLISP和ObjectARX应用程序中以弧度为单位)60图元可见性;整数值;未赋值或值为0时表示可见;值为1时表示不可见62颜色号(固定)66“图元跟随”标志(固定)67空间—模型空间或图纸空间(固定)68APP:指示视口是处于打开状态但在屏幕上完全不可见,还是未激活或处于关闭状态69APP:视口标识号70-78整数值,例如重复计数、标志位或模式90-9932位整数值100子类数据标记(将派生类名作为字符串)从其他具体类派生的所有对象和图元类必须具有此标记。子类数据标记用于分离由同一对象的继承链中的不同类定义的数据。对于从ObjectARX派生的每个不同的具体类的DXF名称来说,这是必须满足的额外要求102控制字符串,后跟“{任意名称”或“}”。与扩展数据1002组码类似,不同之处在于当字符串以“{”开始时,其后可跟任意字符串,字符串的解释取决于应用程序。唯一允许的另外一个控制字符串是作为组结束符的“}”。除了执行图形核查操作期间外,AutoCAD不会解释这些字符串。它们供应用程序使用105DIMVAR符号表条目的对象句柄110UCS原点(仅当将代码72设置为1时才显示)DXF:X值;APP:三维点111UCSX轴(仅当将代码72设置为1时才显示)DXF:X值;APP:三维矢量112UCSY轴(仅当将代码72设置为1时才显示)DXF:X值;APP:三维矢量120-122DXF:UCS原点的Y值,UCSX轴和UCSY轴130-132DXF:UCS原点的Z值,UCSX轴和UCSY轴140-149双精度浮点值(例如点、标高和DIMSTYLE设置)170-17916位整数值,例如表示DIMSTYLE设置的标志位210拉伸方向(固定)DXF:拉伸方向的X值APP:三维拉伸方向矢量220,230DXF:拉伸方向的Y值和Z值270-27916位整数值280-28916位整数值290-299布尔标志值300-309任意字符串310-319具有相同表示和1004组码限制的任意二进制块:用最大长度为254个字符的十六进制字符串表示最大长度为127个字节的数据块320-329任意对象句柄;“按原样”获取的句柄值。它们在INSERT和XREF操作期间不进行转换330-339软指针句柄;指向同一个DXF文件或图形中的其他对象的任意软指针。在INSERT和XREF操作期间进行转换340-349硬指针句柄;指向同一个DXF文件或图形中的其他对象的任意硬指针。在INSERT和XREF操作期间进行转换350-359软所有者句柄;指向同一个DXF文件或图形中的其他对象的任意软所有者指针。在INSERT和XREF操作期间进行转换360-369硬所有者句柄;指向同一个DXF文件或图形中的其他对象的任意硬所有者指针。在INSERT和XREF操作期间进行转换370-379线宽枚举值(AcDb::LineWeight)。作为16位整数存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用371-379DXF组码,因为AutoCAD和AutoLISP都始终假定370组码是图元的线宽。这使370组码与其他“通用”图元字段具有相同的行为380-389PlotStyleName类型枚举(AcDb::PlotStyleNameType)。作为16位整数存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用381-389DXF组码,原因与上述线宽范围相同390-399表示PlotStyleName对象的句柄值的字符串,本质上是硬指针,但范围不同,更容易处理向后兼容。作为对象ID(在DXF文件中为句柄)和AutoLISP中的特殊类型存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用391-399DXF组码,原因与上述线宽范围相同400-40916位整数410-419字符串420-42732位整数值。与真彩色一同使用时,表示24位颜色值的32位整数。高阶字节(8位)为0;低阶字节为包含“蓝色”值(0-255)、然后是“绿色”值的无符号字符;次高阶字节是“红色”值。将此整数值转换为十六进制值将得到以下位掩码:0x00RRGGBB。例如,红色==200、绿色==100和蓝色==50的真彩色为0x00C86432,而在DXF中以十进制表示则为13132850430-437字符串;用于真彩色时,则为表示颜色名称的字符串440-44732位整数值。用于真彩色时,表示透明度值450-459长整数460-469双精度浮点值470-479字符串480-481硬指针句柄;指向同一个DXF文件或图形中的其他对象的任意硬指针。在INSERT和XREF操作期间进行转换999DXF:999组码指示后面的行是注释字符串。SAVEAS不会在DXF输出文件中包含这样的组,但OPEN则包括这些组并忽略注释。可以使用999组在您编辑的DXF文件中包含注释1000扩展数据中的ASCII字符串(最多可以包含255个字节)1001扩展数据的注册应用程序名(最多可以包含31个字节的ASCII字符串)1002扩展数据控制字符串(“{”或“}”)1003扩展数据图层名1004扩展数据中的字节数据块(最多可以包含127个字节)1005扩展数据中的图元句柄;最多可以包含16个十六进制数字的字符串1010扩展数据中的点DXF:X值(后跟1020和1030组)APP:三维点1020,1030DXF:点的Y值和Z值1011扩展数据中的三维世界空间位置DXF:X值(后跟1021和1031组)APP:三维点1021,1031DXF:世界空间位置的Y值和Z值1012扩展数据中的三维世界空间位移DXF:X值(后跟1022和1032组)APP:三维矢量1022,1032DXF:世界空间位移的Y值和Z值1013扩展数据中的三维空间方向DXF:X值(后跟1022和1032组)APP:三维矢量1023,1033DXF:世界空间方向的Y和Z值1040扩展数据双精度浮点值1041扩展数据距离值1042扩展数据缩放比例1070扩展数据16位有符号整数1071扩展数据32位有符号长整数
本文标题:CAD-VBA的块和参照过滤方法
链接地址:https://www.777doc.com/doc-5477216 .html