您好,欢迎访问三七文档
第6章工程制图6.1API介绍本节讲解编程操作工程图文档所需的重要API。6.1.1操纵工程图文档的一般步骤(图1)图1操纵工程图文档的一般步骤6.1.2页面管理一个工程图文档可以有很多个页面,在创建页面前要先创建工程图文档。和零件文档与产品文档一样,DrawingDocument对象是整个工程图文档的根点。一般用如下代码创建DrawingDocument对象:DimoDrawingDocAsDrawingDocumentSetoDrawingDoc=CATIA.Documents.Add(“Drawing”)或打开已经存在的工程图文件:DimoDrawingDocAsDrawingDocumentSetoDrawingDoc=CATIA.Documents.Open(FileToOpen)6.1.2.1DrawingSheetsDrawingSheets集合对象是工程图文档中所有页面的集合,可以用Item方法遍历其中的元素。页面有两种类型,一种是普通页,一种是细节页,因而创建页面的方法有Add和AddDetail两种。可以用如下代码创建一个页面:获取Application对象获取DrawingDocument对象获取DrawingSheet对象获取DrawingView对象获取DrawingText对象获取Factory2D对象图形创建文本编辑视图管理页面管理页面设置DimoSheetAsDrawingSheetSetoSheet=oDrawingDoc.Sheets.Add(“FirstSheet”)6.1.2.2DrawingSheetDrawingSheet即指具体的页面。在进行视图生成前要对页面进行设置。一般在交互界面中,新建文档时会显示一个设置对话框,用户可以预定义一些页面属性,如纸张大小,所采用的标准等等。这些设置也可在文档创建后进行设置,即在目录树选中页面,从右键菜单中选择属性。页面设置的属性对话框如下图所示。编程中所进行的所有设置内容都来自这个对话框。一段典型的页面设置代码如下所示:SetoSheets=oDrawingDoc.SheetsSetoSheet=oSheets.ActiveSheetoDrawingDoc.Standard=catISOoSheet.PaperSize=catPaperA1oSheet.[Scale]=1oSheet.Orientation=catPaperLandScape(1)Standard属性功能:设置页面所使用的标准。注意这里的标准是针对oDrawingDoc设置的,即整个文档使用同一个标准。标准设置可以为以下值:·catANSI:ANSI标准·catISO:ISO标准·catJIS:JIS标准(2)PaperSize属性功能:设置页面大小。页面大小可以为以下值:·catPaperLetter:8.5X11”大小;·catPaperLetter:8.5X14”大小;·catPaperA0至catPaperA4:ISO标准大小;·catPaperA至catPaperF:ANSI标准大小;·catPaperUser:自定义大小。(3)Scale属性功能:设置图形比例。注意代码写法,无论是在线帮助或是VB的对象浏览器看到的这个属性都应该是Scale,但如果写成oSheet.Scale=0.5则根本无法进行。(4)Orientation属性功能:设置页面放置方向。页面放置方向可以为以下值:·catPaperProtrait:竖向;·catPaperLandscape:横向;·catPaperBestFit:打印时自动选择方向以适合图形。尽管可以设置投影方法,但这可能会造成与使用的标准不符。6.1.3视图管理DrawingView对象描述了页面对象中的视图对象,DrawingView对象通过DrawingViews集合对象来进行添加、删除等操作。可以用如下代码创建一个视图对象:DimoSheetAsDrawingSheetSetoSheet=MyDrawingDoc.Sheets.ActiveSheetDimoViewAsDrawingViewSetoView=oSheet.Views.Add(“FrontView”)DrawingView对象在页面总以如图所示的方向定位。页面视图AngleY视图坐标系X页面坐标系其中X,Y和Angle属性用于DrawingView对象在页面中定位。如下代码将视图移动到(550,425),并将它顺时针旋转45°:PI=3.1415926535oView,x=550oView,y=425oView,angle=-PI/4一张工程图一般有一个主视图,若干个投影视图和剖切视图。CATIA中视图有很多种,视图的类型要由DrawingViewGenerativeBehavior来定义。6.1.3.1DrawingViewGenerativeBehaviorDrawingViewGenerativeBehavior对象提供了对视图操作的许多额外属性。一般可以用如下代码获得DrawingViewGenerativeBehavior对象:DimoViewGBAsDrawingViewGenerativeBehaviorSetoViewGB=oView.GenerativeBehavior一般视图是从零件文档生成的,DrawingViewGenerativeBehavior对象的Document属性使得视图和零件文档相关联,例如要和名为Bolt的文档关联应该这么写:DimPartToDrawAsPartDocumentSetPartToDraw=CATIA.Documents.Item(“Bolt”)oViewGB.Document=PartToDraw和零件文档关联后,就可以定义视图的投影平面了。DrawingViewGenerativeBehavior对象提供了DefineXXXView方法以定义视图类型。其中XXX代表视图的类型,部分视图类型和创建方法如下所示:视图类型需要父视图需要参考视图创建方法主视图否否DefineFrontView等轴测否否DefineIsometricView投影视图是是DefineProjectionView剖切视图是是DefineSectionView细节视图是否DefineCircularDetailView辅助视图是是DefineAuxiliaryView(1)DefineFrontView功能:定义视图为主视图,并确定投影方向。语法:DefineFrontView(doubleiX1,doubleiY1,doubleiZ1,doubleiX2,doubleiY2,doubleiZ2)参数:·iX1、iY1、iZ1:水平坐标分量在三维坐标系系统中飞分量;·iX2、iY2、iZ2:垂直坐标分量在三维坐标系系统中飞分量;示例:如下代码定义当前视图为主视图,并把投影方向设为YX平面:oViewGB.DefineFrontView0,1,0,0,0,1(2)DefineIsometricView功能:定义视图为等轴测视图。语法:DefineIsometricView(doubleiX1,doubleiY1,doubleiZ1,doubleiX2,doubleiY2,doubleiZ2)参数:·iX1、iY1、iZ1:水平坐标分量在三维坐标系统中的分量;·iX2、iY2、iZ2:垂直坐标分量在三维坐标系统中的分量。示例:如下代码把当前视图定义为等轴测视图,并把投影平面设为绕Z轴顺时针旋转45°的平面:oViewGB.DefineIsometricView-0.707,0.707,0,0,0,1.(3)DefineProjectionView功能:定义视图为投影视图。语法:DefineProjectionView(CATIAGenerativeViewBehavioriParentViewGenerativeBehavior,CatProjViewTypeiType)参数:·iParentViewGenerativeBehavior:父视图的DrawingViewGenerativeBehavior对象;·iType:投影视图类型。其中投影视图类型可以为以下值:·catRightView:右视图;·catLeftView:左视图;·catTopView:顶视图;·catBottomView:底视图;·catRearView:后视图。示例:以下代码把视图定义为主视图的右视图:oRightViewGB.DefineProjectionViewoFrontViewGB,catRightView(4)DefineSectionView功能:定义剖切视图。语法:DefineSectionView(CATSafeArrayVariantiProfile,CATBSTRiSectionType,CATBSTRiProfileType,ShortiSideToDraw,CATIAGenerativeViewBehavioriParentViewGenerativeBehavior)参数:·iProfile:剖切线通过点的数组,长度为2n;·iSectionType:截面的类型,可为SectionCut或SectionView;·iProfileType:剖切线类型,可为Offset或Aligned;·iSideToDraw:要投影截面的位置,0为顺时针方向,1为逆时针方向,如图所示;·iParentViewGenerativeBehavior:父视图的DrawingViewGenerativeBehavior对象。截面视图看到的将是这个方向1-逆时针截面线起点截面线终点截面线起点截面线终点0-顺时针截面视图看到的将是这个方向示例:如下代码将当前视图定义为主视图的剖切视图,并设定剖切截面为(10,200)-(100,200)-(100,50)-(300,50)DimSectionProfileReDimSectionProfile(7)SectionProfile(0)=10.SectionProfile(1)=200.SectionProfile(2)=100.SectionProfile(3)=200.SectionProfile(4)=100.SectionProfile(5)=50.SectionProfile(6)=300.SectionProfile(7)=50.oSectionViewGB.DefineSectionViewSectionProfile.SectionView,Offset,0,oFrontViewGB(5)DefineCircularDetailView功能:定义圆形的细节视图。语法:DefineCircularDetailView(doubleiXCenter,doubleiYCenter,doubleiRadius,CATIAGenerativeViewBehavioriParentViewGenerativeBehavior)参数:·iXCenter,iYCenter:圆心坐标;·iRadius:圆半径;·iParentViewGenerativeBehavior:父视图的DrawingViewGenerativeBehavior对象。示例:如下代码定义视图为主视图的圆形细节视图,圆心位置为(100,150),半径为75mm。oDetailViewGB.DefineCircularDetailView100,150,75,oFrontViewGB(6)DefineAuxiliaryView功能:定义视图为辅助视图。语法:DefineAuxiliaryView(doubleiXStartPoint,doubleiYStartPoint,doubleiXEndPoint,doubleiYEndPoint,shortiSideToDraw,CATIAGenerativeViewBehavioriParen
本文标题:第六章工程图设计
链接地址:https://www.777doc.com/doc-2166036 .html