《Java教程第7章符号表.ppt》由会员分享,可在线阅读,更多相关《Java教程第7章符号表.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、符号表符号表主讲人:李恒凯主讲人:李恒凯主讲人:李恒凯主讲人:李恒凯联系电话:联系电话:联系电话:联系电话:电子邮件:电子邮件:电子邮件:电子邮件:本次课内容v1 1 符号表分类符号表分类v2 2 图层图层v3 3 文字样式文字样式v4 4 标注样式标注样式v5 5 视图视图v6 UCS6 UCS1 符号表分类块表块表(BlockTable)(BlockTable)块表记录块表记录(BlockTableRecord)(BlockTableRecord):包含模型空间、图纸空间和用户创建的块定义。块表包含模型空间、图纸空间和用户创建的块定义。块表记录中保存了图形数据库中的实体。记录中保存了图形数
2、据库中的实体。层表层表(LayerTable)(LayerTable)层表记录层表记录(LayerTableRecord)(LayerTableRecord):保存了图形中所有的图层,每一个图层对应着一条层保存了图形中所有的图层,每一个图层对应着一条层表记录,可通过表记录,可通过AutoCADAutoCAD中的中的LayerLayer命令查看。命令查看。文字样式表文字样式表(TextStyleTable)(TextStyleTable)文字样式表记录文字样式表记录(TextStyleTableRecord)(TextStyleTableRecord):存储图形中的文字样式,:存储图形中的文字样
3、式,通过通过AutoCADAutoCAD中的中的StyleStyle命令查看。命令查看。符号表分类线型表线型表(LinetypeTable(LinetypeTable)线型表记录线型表记录(LinetypeTableRecord)LinetypeTableRecord):保存了图形中加载的线型,:保存了图形中加载的线型,通过通过AutoCADAutoCAD中的中的LtypeLtype命令查看。命令查看。视图表视图表(ViewTableViewTable)视图表记录视图表记录(ViewTableRecordViewTableRecord):存储了图形中保存的视图,通过:存储了图形中保存的视图,通
4、过AutoCADAutoCAD中的中的ViewView命令查看。命令查看。UCSUCS表表(UCSTableUCSTable)UCSUCS表记录表记录(UCSTableRecordUCSTableRecord):保:保存图形中的存图形中的UCS(UCS(用户坐标系用户坐标系),通过,通过AutoCADAutoCAD中的中的UCSUCS命令访问。命令访问。符号表分类视口表视口表(ViewportTable)(ViewportTable)视口表记录视口表记录(ViewportTableRecord)(ViewportTableRecord):保存图形中视口的设置,:保存图形中视口的设置,通过通过A
5、utoCADAutoCAD中的中的VportVport命令访问。命令访问。注册应用程序表注册应用程序表(RegAppTable)(RegAppTable)注册应用程序表记注册应用程序表记录录(RegAppTableRecord)(RegAppTableRecord):在使用扩展数据等特性时,:在使用扩展数据等特性时,需要根据应用程序名称来区别不同程序使用的数据,需要根据应用程序名称来区别不同程序使用的数据,这就需要注册一个应用程序。这就需要注册一个应用程序。AutoCADAutoCAD中未提供直接中未提供直接访问的命令。访问的命令。标注样式表标注样式表(DimStyleTable)(DimSt
6、yleTable)标注样式表记录标注样式表记录(DimStyleTableRecord)(DimStyleTableRecord):保存标注样式,通过:保存标注样式,通过AutoCADAutoCAD中的中的DimstyleDimstyle命令访问。命令访问。符号表所有的符号表都继承自DatabaseServices命名空间的SymbolTable类,所有的符号表记录都继承白DatabaseServices命名空间的SymbolTableRecord类。从数据库获得各种符号表和符号表记录都是用事务处理的方式进行的。2 图层思路步骤效果小结思路要对任何一个符号表进行处理,都必须先以要对任何一个符号
7、表进行处理,都必须先以“读读”或者或者“写写”的方式打开该符号表,再以的方式打开该符号表,再以“读读”或者或者“写写”的方式打开其对应的符号表记录,然后对符号表的方式打开其对应的符号表记录,然后对符号表记录进行读取、删除、修改等操作,或者是新建一记录进行读取、删除、修改等操作,或者是新建一个符号表记录。个符号表记录。整个过程都必须以整个过程都必须以事务处理事务处理的方式进行。的方式进行。创建新的图层,实际上就是创建一个新的创建新的图层,实际上就是创建一个新的层表记录层表记录,并将其添加到层表中。并将其添加到层表中。思路修改图层的颜色,可以从层表中获得指定的记录,然修改图层的颜色,可以从层表中获
8、得指定的记录,然后使用后使用LayerTableRecordLayerTableRecord类的类的ColorColorColorColor函数设置层表记录函数设置层表记录的颜色。的颜色。删除删除一个图层,需要首先从层表中获得指定的层表记一个图层,需要首先从层表中获得指定的层表记录,然后将层表记录设置一个删除的标记。录,然后将层表记录设置一个删除的标记。导出图层列表和图层特性,需要遍历访问每一个层表导出图层列表和图层特性,需要遍历访问每一个层表记录,将层表记录的记录,将层表记录的名称名称、颜色颜色、线型线型和和线宽线宽以以“,”作分隔符连接成一个字符串对象,然后使用作分隔符连接成一个字符串对象
9、,然后使用CstdioFileCstdioFile类的类的WriteStringWriteString函数写入到文本文件中。函数写入到文本文件中。步骤新建类库项目,添加新建类库项目,添加acbdmgd.dllacbdmgd.dll与与acmdg.dllacmdg.dll的引的引用。用。添加的引用。添加的引用。在在LayerLayer类中注册类中注册delLayerdelLayer命令,用于删除图层。命令,用于删除图层。在在LayerLayer类中注册类中注册ExportLayerExportLayer命令,用于导出图层命令,用于导出图层信息。信息。见VS.NET效果小结创建图层的方法加载线型的
10、方法设置和修改图层颜色、线宽、线型的方法删除数据库对象的方法遍历图层的方法写文本文件的方法3 文字样式说明思路步骤效果小结说明AutoCAD中可以使用Style命令创建新的文字样式,包括设置样式名、选择字体文件和确定字体效果三个步骤。思路获取当前图形的文字样式表(获取当前图形的文字样式表(TextStyleTableTextStyleTable)创建新的文字样式表记录创建新的文字样式表记录(TextStyleTableRecordTextStyleTableRecord)对象对象用用TextStyleTableRecordTextStyleTableRecord类的类的NameName属性设置
11、文字样式表记属性设置文字样式表记录的名称录的名称用用TextStyleTableRecordTextStyleTableRecord类的类的 FileNameFileName属性设置文字样式属性设置文字样式表记录的字体表记录的字体用用TextStyleTableRecordTextStyleTableRecord类的类的XScaleXScale属性设置文字样式的属性设置文字样式的宽度比例宽度比例用用TextStyleRecordTextStyleRecord类的类的ObliquingAngleObliquingAngle属性设置字体属性设置字体的倾斜角度的倾斜角度 将新的文字样式表记录添加到文
12、字样式表中将新的文字样式表记录添加到文字样式表中步骤添加引用,注册netStyle命令注册getTextStyle命令,用于得到文字的字体名称。具体代码见具体代码见VS.NETVS.NET效果小结设置文字样式的方法如何查看某一字体的字体文件名称如何得到文字对象所使用的字体名称4 标注样式思路步骤效果小结思路创建一个新的标注样式表记录对象创建一个新的标注样式表记录对象(DimStyleTable(DimStyleTable类类)。设置标注样式表记录设置标注样式表记录(DimStyleTableRecordDimStyleTableRecord类类)的各的各项特性,例如标注样式的名称、文字高度、箭
13、头大项特性,例如标注样式的名称、文字高度、箭头大小等。小等。将新的标注样式表记录添加到当前图形的标注样式将新的标注样式表记录添加到当前图形的标注样式表中。表中。步骤添加引用,添加ISO-25的函数,用于获得与ISO-25相同的标注样式。注册netdimStyle命令,用于标注样式的创建。具体代码见具体代码见VS.NETVS.NET效果小结如果要修改更多的标注特性,可参照IS025函数进行相应的属性设置。5 视图说明说明思路思路步骤步骤效果效果小结小结说明在AutoCAD中,视图是指图形窗口显示的内容,使用Zoom命令能够缩放视图,使用Pan命令能够移动视图,使用View命令能管理视图。本节的实
14、例,是要模拟比例缩放、范围缩放、三维动态观察、实时平移和实时缩放的实现。思路NETNET中中DatabaseServicesDatabaseServices命名空间的命名空间的ViewTableRecordViewTableRecord类类用于表示用于表示AutoCADAutoCAD中的视图,它从中的视图,它从AbstractViewTableRecordAbstractViewTableRecord类继承了多个成员函数。在调类继承了多个成员函数。在调整视图时,一般要先通过命令行对象整视图时,一般要先通过命令行对象(Editor(Editor类类)的的GetCurrentViewGetCurr
15、entView函数获得当前视图,设置某些特性,然函数获得当前视图,设置某些特性,然后使用命令行对象后使用命令行对象(Editor(Editor类类)的的SetCurrentViewSetCurrentView函数来更函数来更新视图。新视图。AutoCAD AutoCAD 安装目录下的安装目录下的acmgdintemalacmgdintemaldlldll文件中封装了文件中封装了一些有关视图操作的函数,可大大简化某些视图操作的一些有关视图操作的函数,可大大简化某些视图操作的程序。程序。步骤选择选择【项目项目】【】【添加类添加类】菜单项,菜单项,在模板中选择在模板中选择【类类】,插入一个新类,导入
16、,插入一个新类,导入ApplicationServicesApplicationServices、DatabaseServicesDatabaseServices、EditorlnputEditorlnput和和RuntimeRuntime命名空间。命名空间。注册注册netviewScalenetviewScale命令,用于视图的比例缩放。命令,用于视图的比例缩放。添加对添加对AutoCAD AutoCAD 安装目录下安装目录下acmgdinternalacmgdinternaldlldll文件文件的引用,的引用,将其将其“复制本地复制本地 属性改为属性改为“False”False”。导。导入
17、入AutodeskAutodeskAutoCADAutoCADInternalInternal命名空间,注册命名空间,注册netZoomnetZoom命令,用于实现范围缩放命令,用于实现范围缩放具体代码见具体代码见VS.NETVS.NET效果小结NET中有关视图的基本操作方法。如何得到和设置当前视图。AutodeskAutoCADInternal命名空间Utils类中的视图操作。6 视口思路步骤效果小结思路在在NETNET中有两个代表视口的类:中有两个代表视口的类:ViewportTableRecordViewportTableRecord和和ViewportViewport。其中,。其中,V
18、iewportTableRecordViewportTableRecord类表示模型类表示模型空间的视口空间的视口(在在AutoCADAutoCAD中称为平铺视口中称为平铺视口),ViewportViewport类类则表示图纸空间的视口则表示图纸空间的视口(在在AutoCADAutoCAD中称为浮动视口中称为浮动视口)。创建平铺视口与创建一个普通的符号表记录类似。创建平铺视口与创建一个普通的符号表记录类似。步骤具体代码见具体代码见VS.NETVS.NET效果小结NET中有关视口的基本操作方法。如何设置当前视口。7 UCS说明思路步骤效果小结说明在AutoCAD中,用户可以通过创建UCS来不断调
19、整图形的参考系,简化绘图中繁琐的计算,这在三维建模时最为普遍。本节的实例演示了创建新的UCS、移动UCS的原点、旋转UCS,以及在UCS中创建图形对象思路在在NETNET中创建中创建UCSUCS的方法为:的方法为:由原点、由原点、x x轴和轴和Y Y轴方向轴方向来决定来决定UCSUCS的位置,用的位置,用UCSTableRecordUCSTableRecord类的类的0rigin0rigin、XAxisXAxis和和YAxisYAxis三个属性分别设置或得到原点、三个属性分别设置或得到原点、x x轴的方轴的方向和向和Y Y轴的方向。轴的方向。命令行编辑器命令行编辑器EditorEditor类的
20、类的CurrentUserCoordinateSystemCurrentUserCoordinateSystem属性用于设置当前属性用于设置当前UCSUCS,该函数接受一个,该函数接受一个Matrix3dMatrix3d类型的参数。类型的参数。NETNET中创建实体时指定的坐标必须是中创建实体时指定的坐标必须是WCSWCS中的坐标,中的坐标,但是很多情况下需要根据但是很多情况下需要根据UCSUCS中的坐标来创建实体,这中的坐标来创建实体,这就必须使用就必须使用TransformByTransformBy子程序将子程序将UCSUCS中的坐标转换到中的坐标转换到WCSWCS中。中。步骤具体代码见具体代码见VS.NETVS.NET效果小结理解NET中处理UCS的基本方法。了解如何在UCS中创建图形对象。