Inventor API 实训讲义.ppt_第1页
Inventor API 实训讲义.ppt_第2页
Inventor API 实训讲义.ppt_第3页
Inventor API 实训讲义.ppt_第4页
Inventor API 实训讲义.ppt_第5页
免费预览已结束,剩余184页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AutodeskInventor2008API,实训内容安排,Inventor开发概览用户界面文档和属性工作特征零件建模装配建模工程图选择与交互数据读写及格式转换考试,InventorAPI开发的优秀产品,ANSYS,Inc.DesignSpaceforAutodeskInventorbuttonDefinition=m_inventorApplication.CommandManager.ControlDefinitions.AddButtonDefinition(“DisplayName”,invrSampleCommand,CommandTypesEnum.kShapeEditCmdType,strAddInGUID,“DescriptionText”,“Tooltip”,standardIconIPictureDisp,standardIconIPictureDisp,ButtonDisplayEnum.kDisplayTextInLearningMode);,使用ButtonDefinition,监听OnExecute事件实现用户单击按钮的操作如:privatevoidButtonDefinition_OnExecute(NameValueMapContext)System.Windows.Forms.MessageBox.Show(Hello,Inventor!);,工具栏,CommandBar,例子:工具栏的创建,/设置到用户界面管理器的引用UserInterfaceManageruserInterfaceManager;userInterfaceManager=m_inventorApplication.UserInterfaceManager;/创建新工具栏CommandBarcommandBar;commandBar=userInterfaceManager.CommandBars.Add(TestBar,intTestBar“,CommandBarTypeEnum.kRegularCommandBar,strAddInGUID);/将按钮控件添加到工具栏中commandBar.Controls.AddButton(buttonDefinition,0);,查找特定工具栏,/查找到装配工具栏CommandBarasmCmdBar;asmCmdBar=userInterfaceManager.CommandBarsAMxAssemblyPanelCmdBar;,添加了自定义按钮的部件面板,弹出控件,普通弹出控件(kPopupControl)MRU拆分按钮(kSplitButtonMRUControl)拆分按钮(kSplitButtonControl)弹出按钮(kButtonPopupControl),弹出控件,ButtonPopUpButtonPopUp,SplitButtonSplitButtonMRUComboBoxMacro,将工具栏添加到工具面板列表,/获得零件环境Inventor.EnvironmentpartEnv;partEnv=userInterfaceManager.EnvironmentsPMxPartEnvironment;/设置到PanelBar对象的引用PanelBarpanelBar;panelBar=partEnv.PanelBar;/将工具栏添加到工具面板的列表中panelBar.CommandBarList.Add(commandBar);,例2-1定制复杂的菜单,Page27Page30,环境,在工具面板(Panel)中默认显示的工具栏。在标准工具栏(standardtoolbar)中显示的工具栏。作为菜单显示的工具栏。在工具面板中可以切换的工具栏列表。在右键单击现有的工具栏或菜单时显示的工具栏列表。通过该列表中可以隐藏或显示其中列出的任何工具栏。,环境对象模型图,例2-2添加新环境,例2-3设置当前编辑环境,重载环境属性,EnvironmentManagerOverrideEnvironment设置文档的重载环境,浏览器,树状列表强大而又方便的扩充能力能够添加新窗格(即ActiveX控件)ActiveX控件可以包含任何类型的信息,甚至可以包含另一个ActiveX控件,浏览器API的对象模型图,例2-4添加窗格(可交互),浏览器节点,遍历浏览器节点,publicvoidQueryModelTree()/获得文档对象Inventor.Documentdoc;doc=m_inventorApplication.ActiveDocument;if(m_inventorApplication.Documents.Count=0)MessageBox.Show(Therearenoopendocuments!);/获得模型子页浏览器窗格中的顶级节点Inventor.BrowserNodetopNode;topNode=doc.BrowserPanes模型.TopNode;/从顶级节点开始,调用recurse函数recurse(topNode);,遍历浏览器节点(续),privatevoidrecurse(Inventor.BrowserNodenode)if(node.Visible)MessageBox.Show(node.BrowserNodeDefinition.Label);foreach(Inventor.BrowserNodebninnode.BrowserNodes)recurse(bn);,例2-5创建自定义窗格并添加浏览器节点,自定义用户界面,插件程序的界面处理firstTime标识,版本,Version插件维护的Long类型的注册项publicconstintVersion=1;在AutodeskInventor2008中,通过“AssemblyInfo.cs”文件的如下代码可以修改插件的版本号:assembly:AssemblyVersion(1.0.*)插件卸载Deactivation事件删除ControlDefinitionCLSID被Inventor保留下来,以便下次重新加载插件时建立界面控件与ControlDefinition的关联,练习2,(1)ButtonDefinition对象需要使用_对象的AddButtonDefinition方法来创建。A.ControlsB.CommandBarC.ControlDefinitionsD.ControlDefinition(2)判断题(正确的在括号内画“”,错误的画“”)()一个ButtonDefinition对象可以被多个按钮控件引用。()CommandBarControl的概念即包括ControlDefinition对象也包括CommandBar对象。()在命令栏中既可以添加菜单也可以添加按钮。()自定义的浏览器窗格既可以是ActiveX控件,也可以是普通的控件。(3)实际完成本章中的范例,掌握AutodeskInventor各种界面元素的定制方法。,文档和属性,Documents对象PropertySets、PropertySet和Property对象的获得和使用方法。AttributeSets、AttributeSet和Attribute对象的关系和使用方法。AttributeManager对象的获得和使用方法。,Documents对象文档子类型,Inventor对不同的数据类型,有唯一对应的文档类型零件(*.ipt)部件(*.iam)工程图(*.idw)表达视图(*.ipn)在API中,每一种文档类型都有对应的对象,Documents对象API与用户界面对应关系,创建新的文档Documents.Add打开存在的文档Documents.Open访问已经打开的文档Documents.Item(遍历所有的文档,包括那些被其它文档参考并在位编辑或打开的文档。),文档模版,FileManager对象的GetTemplateFile方法可以得到任何默认的模版文件的路径GetTemplateFile(DocumentTypeAsDocumentTypeEnum,SystemOfMeasureAsSystemOfMeasureEnum=kDefaultSystemOfMeasure,DraftingStandardAsDraftingStandardEnum=kDefault_DraftingStandard,DocumentSubType)AsString,文档操作初显身手,PublicSubOpenDoc()打开一个指定的文档DimoDocAsDocumentSetoDoc=ThisApplication.Documents.Open(C:TempPart1.ipt)EndSubPublicSubCreateDoc()用指定的文档模版创建一个文档DimoDocAsPartDocumentSetoDoc=ThisApplication.Documents.Add(kPartDocumentObject,_ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject),_True)EndSubPublicSubCreateDoc2()用缺省的模版创建一个文档DimoDocAsPartDocumentSetoDoc=ThisApplication.Documents.Add(kPartDocumentObject,True)EndSub,保存文档,如果文档第一次被保存,应该用SaveAs方法,并将SaveCopyAs标志设为FalseDimoDocAsPartDocumentSetoDoc=ThisApplication.Documents.Add(kPartDocumentObject)CalloDoc.SaveAs(C:TempSaveTest.ipt,False)如果文档已经被保存过了,你可以用Save或者SaveAs方法。如果用SaveAs方法,将SaveCopyAs标志设为TrueCalloDoc.SaveCalloDoc.SaveAs(C:TempSaveTest2.ipt,True),关闭文档,Document.Close(SkipSaveAsBoolean=False)SkipSave=False可以抑制“询问文件是否保留”对话框,迫使文件不保留而关闭如果你将某个文件作为模版打开,修改了它,然后把它另存为一个新的文件。用这种方式,你可以关闭原来的文件而无须保存修改。,iProperties代表文档特性用户可以在“自定义”(“Custom“)页创建自定义的特性可以用InventorAPI,也可以用学徒服务器(Apprentice)API获取/修改文件特性,iProperties,iPropertiesPropertySets,各种特性组合在特性集集合对象(PropertySets)中PropertySets对象具有支持遍历和访问所有的特性集对象的方法,API访问文档特性,Inventor中的API学徒中的API,特性对象模型图,获取PropertySets集合,DimoPropSetsAsPropertySetsSetoPropSets=ThisApplication.ActiveDocument.PropertySets,Property是名-值匹配Property对象的识别:ID(唯一)Name(唯一)DisplayName(可能变化),iPropertiesProperty,Inventor中预定义的特性集及其内部名,Property值的类型是Variants.支持下列数据类型:Integer,Long,Double,String,Date,Boolean,Byte,Objectandarrays在ObjectBrowser中可以找到特性集的InternalNames,也可以在SDKIncludePropFMTIDs.h文件中找到特性对象的ID在各种与特性关联的枚举中可以找到,如PropertiesForDocSummaryInformationEnum(文档摘要),iProperties,获得特性集,DimoMyPropSetAsPropertySetSetomyPropSet=propSets设计跟踪特性;DimoMyPropSet1AsPropertySetSetoMyPropSet1=propSets32853F0F-3444-11d1-9E93-0060B03C1CA6;,访问特性集中的对象,foreach(PropertypropinpropSet)/获得特性名Stringname;name=prop.Name;/获得特性值objectvalue;value=prop.Value;/获得特性的IdlongpropID;propID=prop.PropId;,iProperties创建特性,PropertySets.Add(NameAsString,InternalName)AsPropertySetName和InternalName必须是唯一的添加一个新的特性集对象到特性集集合(PropertySets)中PropertySet.Add(PropValue,Name,PropId)AsPropertyInventor允许在新建的特性集或者自定义的特性集中添加特性,但是不允许向标准的特性集中添加属性Name和PropId在该特性集中必须是唯一的PropertySet和Property能被创建为隐藏的只要把它的名字的第一个字符设为下划线“_”。这样,它就不会被遍历到。它仍然可以通过传递完整的名字访问到,创建新特性集和特性对象,/添加新PropertySet对象PropertySetnewPropSet;newPropSet=propSets.Add(NewPropertySet,null);/在新PropertySet对象中添加新特性newPropSet.Add(AValue,NewProperty,2);,特性集的显示名和内部名/ID,唯一缺省可自动创建1ID255,保存特性,在InventorAPI中,保存文档时会自动保存特性的修改在学徒服务器中(Apprentice),还可以用特性集集合对象的FlushToFile方法保存-InventorAPI不支持该方法。DimoApprenticeAsApprenticeServerComponentSetoApprentice=NewApprenticeServerComponentDimoDocAsApprenticeServerDocumentSetoDoc=oApprentice.Open(C:TempPart.ipt)oDoc.PropertySets.Item(DesignTrackingProperties).Item(Designer).Value=FredAstairoDoc.PropertySets.FlushToFile,改变特性,DimoDocAsPartDocumentSetoDoc=Thisapplication.ActiveDocumentAccessaparticularpropertyset.Inthiscaseweaccessdesigntrackingpropertiesset.Accessingthesamepropertysetbyusingthenameisnotdependablebecausethedisplaynamecanbelocalized,sotheinternalnameispreferred.DimoDTPropsAsPropertySetSetoDTProps=oDoc.PropertySets.Item(32853F0F-3444-11d1-9E93-0060B03C1CA6)Getaspecificproperty,inthiscasethedesignerproperty.Youcanalsousethename,butthishasthesameproblemthatthenamecanbelocalized.PleasecheckPropertiesForDesignTrackingPropertiesEnumforthePropIdDimoDesignerPropAsPropertySetoDesignerProp=oDTProps.ItemByPropId(kDesignerDesignTrackingProperties)Showthenameandvalue.Debug.PrintOld/使用名称获得PropertySet对象propSet=propSetsNewPropertySet;/遍历集合中的特性并删除foreach(PropertypropinpropSet)prop.Delete();/删除PropertySet对象propSet.Delete();,属性(Attributes)和属性集(AttributeSets),为对象附加指定的数据一个对象可以包含任意多个AttributeSets,而每个AttributeSet又可以包含任意多个AttributesInventor用户界面中没有直观地操作Attributes的功能,通过API访问属性,创建AttributesSet,AttributeSetsattribSets;attribSets=myPart.AttributeSets;AttributeSetattribSet;if(attribSet=attribSets.Add(MyAttribSet,false)=null)attribSet=attribSetsMyAttribSet;,遍历Attribute,遍历属性值1.特性名查找2.数字索引查找AttributeSetsattribSets;attribSets=myPart.AttributeSets;Inventor.Attributeattrib;attrib=attribSetsMyAttribSetMyAttrib;MessageBox.Show(attrib.Value.ToString();,删除属性,可以直接删除属性和属性集,但一般的做法是在删除属性集之前先检查其中是否有包含的属性。如果属性集中包含了属性,应该在删除属性集之前先删除这些属性。编程人员应该确保安全地删除属性和属性集。AttributeSetsattribSets;attribSets=myPart.AttributeSets;if(attribSets.get_NameIsUsed(MyAttribSet)Inventor.Attributeattrib;attrib=attribSetsMyAttribSetMyAttrib;attrib.Delete();attribSetsMyAttribSet.Delete();,AttributeManager对象,通过文档对象的AttributeManager属性获取通配符查找(速度快)可以使用属性名称或者属性值的部分字符串来查找属性OpenAttributeSetsAttributeSetsEnumeratorAttributeSet对象的链表,例3-1查找AttributeSet,在面对象中查找名为“Test”的AttributeSet,练习3,(1)关于特性集的正确描述是_。A.预定义Property的特性名和特性值都不能被修改B.预定义Property的特性值可以被修改,但特性名不能被修改C.自定义Property的内部名可以被修改D.自定义Property的特性名和特性值都能被修改(2)可以直接从文档获得的对象有_A.PropertySets和AttributeSetsB.AttributeSets和AttributeManagerC.PropertySets和AttributeManagerD.PropertySets和PropertySet,练习3(续),(3)删除属性的正确方法是_A.先删除属性再删除属性集B.先删除属性集再删除属性C.直接删除所有属性D.直接删除属性集(4)判断题(正确的在括号内画“”,错误的画“”)()通过API可以在Inventor的标准特性集中添加新特性。()PropertySets是一个或多个Property对象的集合。()AttributeSets是由文档对象获得的。()AttributeManager支持属性名和属性值的通配符查询。,工作特征(WorkPoint,WorkAxis,WorkPlane),所有的工作特征都有创建、查询和编辑功能除了固定的工作点以外,API也支持固定的工作平面和固定的工作轴在部件图中,只能用AddFixed方法来创建特征;装配约束用于控制工作特征的位置,工作特征API的作用,工作特征集合对象(WorkPoints、WorkAxes、WorkPlanes)是不会为空的。缺省情况下,每个集合对象都分别包含了它们的基准点、基准轴或基准平面。例如,WorkAxes集合对象总是会依次包含X、Y、Z三个基本轴对象。如果该工作特征不是作为构造几何图形的基础,那么这个新的名称还会显示在Inventor浏览器中,工作点、工作轴和工作平面的对象模型图,创建工作点,PartDocumentpartDoc;partDoc=(PartDocument)inventorApplication.ActiveDocument;PartComponentDefinitionpartCompDef;partCompDef=partDoc.ComponentDefinition;TransientGeometrytrans;trans=inventorApplication.TransientGeometry;Pointpnt;pnt=trans.CreatePoint(2,3,4);WorkPointworkPoint1;workPoint1=partCompDef.WorkPoints.AddFixed(pnt,false);,创建工作轴,WorkPointworkPoint2;pnt=trans.CreatePoint(0,0,0);workPoint2=partCompDef.WorkPoints.AddFixed(pnt,false);WorkAxisworkAxis;workAxis=partCompDef.WorkAxes.AddByTwoPoints(workPoint1,workPoint2,false);,创建工作平面,WorkPlaneworkPlane;workPlane=partCompDef.WorkPlanes.AddByLinePlaneAndAngle(workAxis,partCompDef.WorkPlanesYZPlane,45,false);workPlane.Name=MyFirstWorkPlane;,练习4,(1)判断题(正确的在括号内画“”,错误的画“”)()工作特征集合对象是通过文档对象获得的。()工作特征集合对象在缺省情况下为空。()通过API创建的工作特征不会显示在浏览器中。(2)使用API创建通过点(4,3,3)且与Y轴平行的工作轴,以及通过该工作轴和原点的工作平面。,零件建模,草图及草图图元、轮廓的创建和使用方法。草图约束的创建和使用方法。零件特征的创建方法。BRep的概念和查询方法。,零件文档中的草图,用户界面草图和API草图区别,使用API时没有约束的推断,程序员必须精确地定义每个约束和坐标。API草图提供了一些底层草图细节这些细节在用户界面中是被隐藏了的。被隐藏的最主要特征是所有的草图图元实际上是依赖于草图点的。草图点是唯一可以单独存在的草图图元,任何其他图元都必须依赖草图点来定义它们的位置,草图图元通过重合约束绑定到草图点上用户界面中隐藏了大多数的草图点,TransientGeometry,辅助类型的对象,具有数学和几何处理功能也是操作图形对象的方法可以创建2D对象,如点、向量、矩阵,也可以处理这些对象的运算不可见,没有对应的图形组件,也没有工作特征或草图点零件文档里面,草图大量的需要用点对象,部件图中也经常需要用到矩阵和矩阵转换,TransientGeometry数学对象,你可以用TransientGeometry对象来创建一些数学对象,一些函数的参数就是这些数学对象,你也可以用它们来处理一些纯粹的数学运算Vector,Vector2dUnitVector,UnitVector2dBox,Box2dMatrix,Matrix2d,Vectors,Vectors定义了一个方向和大小Vector能表示零件的移动,如下图所示UnitVector定义了方向;它的大小总是1,VectorMethods,两个向量的比较方法:AngleToIsEqualToIsParallelToIsPerpendicularTo向量的操作:AddVector,Normalize,SubtractVector,TransformBy向量分析:CrossProduct定义一个新的向量,该向量垂直于由两个已知向量确定的平面,Boxes,有两个点,代表Box的最小坐标点和最大坐标点大量运用于boundingboxes.Inventorsboundingboxes总是与坐标轴平行的,矩阵(matrix),Matrix是一个矩形数组3-Dmatrix是一个4x4矩形数组2-Dmatrix是一个3x3矩形数组,1000010000100001,100010001,Matrix与坐标系,在Inventor中,你可以从两个角度来看一个矩阵:矩阵定义了一个坐标系矩阵定义了转换矩阵如何定义一个坐标系?,Matrix与坐标系(续),一个“归一化”(“Identity”)矩阵定义的一个坐标系是一个基础坐标系(没有转换量).设置一个矩阵来定义不同的坐标系,0.707-0.7070100.7070.7070500100001,1000010000100001,Matrix与变换(Transform),变换矩阵使用情况如:在部件图中重新定位某组件从一个坐标系转变成另一个坐标系。如,在一个部件图里,将一个零件中的点映射到另外一个零件中对于一个变换而言,矩阵定义了三角形变化,这个变化可能导致物体的移动或旋转,Matrix函数,Matrix.Invert反转矩阵Matrix.TransformBy矩阵相乘Matrix.Cell-get/set矩阵的每个数据元素与矩阵相关的函数:SetCoordinateSystem,SetToAlignCoordinateSystems,SetToIdentity,SetToRotateTo,SetToRotation,SetTranslation,零件图(草图),草图是大多数特征的基础草图由草图实体组成(线,圆等等),这些实体的行为受几何和尺寸约束控制零件图的草图对象(PlanarSketch)是从普通的草图(Sketch)对象派生的,零件图(草图),草图包含了真正的2D几何体草图有一个2D的坐标系草图定位于3D空间,跟线性几何体关联(线性平面或者工作平面),创建PlanarSketch,Add(PlanarEntityAsObject,UseFaceEdgesAsBoolean=False)AsPlanarSketch等同于二维草图命令.方向是Inventor自动定义是否包含输入平面的边参数(UseFaceEdges)可选AddWithOrientation(PlanarEntityAsObject,AxisEntityAsObject,NaturalAxisDirectionAsBoolean,AxisIsXAsBoolean,OriginAsObject,UseFaceEdgesAsBoolean=False)AsPlanarSketchAPIonlyfunctionality,你可以用它充分的定义草图方向并创建一个草图,草图实体基础,草图的组成元素:草图实体几何约束尺寸约束草图实体总是(always)伴随有草图点,并且通过重合约束与草图点连接在一起,画两条相交的线,实际上,三个草图点,两条草图线和四个几何约束被创建了,模型空间草图空间,草图是3D空间的2D平面,有时候空间转换是很方便的:ModelToSketchSpace取模型空间的一个3D点,返回一个2D点,这个点代表3D点在草图平面的投影SketchToModelSpace取草图平面上的一个2D点,返回模型空间对应的3D点ModelToSketchTransform,SketchToModelTransform返回变换矩阵,草图约束的对象模型图,草图几何约束,几何约束约束简单实体的行为:ground,vertical,andhorizontal.DimoHorizontalAsHorizontalConstraintSetoHorizontal=oSketch.GeometricConstraints.AddHorizontal(oSketchLine1)定义了两个实体之间的关系DimoParallelAsParallelConstraintSetoParallel=oSketch.GeometricConstraints.AddParallel(oSketchLine1,_oSketchLine2),草图尺寸约束,尺寸约束定义了实体的大小尺寸,以及实体之间的距离或夹角很多尺寸约束作用于草图点DimoTwoPointDimAsTwoPointDistanceDimConstraintSetoTwoPointDim=oSketch.DimensionConstraints.AddTwoPointDistance(_oSketchLine1.StartSketchPoint,oSketchLine1.EndSketchPoint,_kAlignedDim,oTG.CreatePoint2d(3,4),False),例5-1草图绘制,轮廓对象(Profiles),创建特征往往需要草图,但是真正的参数并不是草图,而是轮廓(Profiles)或者轮廓路径(ProfilePaths)轮廓可能是闭合的,也可能是不闭合的闭合的轮廓由一些闭合的回路组成不闭合的轮廓由一些端点相连的实体组成,创建轮廓,Profiles.AddForSolid(CombineAsBoolean=True,Curves,reserved)AsProfile创建一个封闭的由一些草图实体组成的轮廓;也支持包含文本框的草图Curves参数用来指定那些草图实体需要被包含在轮廓中Profiles.AddForSurface(Curve)AsProfile创建一个不闭合的由一套连着的草图实体组成的轮廓,Combine=False,Combine=True,轮廓路径(ProfilePath),每个ProfilePath对象返回一个ProfileEntity对象的列表,列表中的ProfileEntity对象按照它们之间的关联排序用在扫掠特征、分割特征、矩形阵列中当创建轮廓路径时,需要提供一个简单的实体,Inventor会找到所有端点相连的实体链,例5-2草图约束,特征对象(Features),很多特征对象的创建都需要草图作为参数来定义特征的形状或者位置,这些特征如Extrude,Revolve,Hole,Rib,Loft,Sweep,Coil,Split,Emboss,andBoundaryPatch.用API来创建特征,也象通过界面创建特征一样,需要用草图作为参数,如:AddByDistanceExtent(ProfileAsProfile,Distanceasvariant,ExtentDirectionAsPartFeatureExtentDirectionEnum,OperationAsPartFeatureOperationEnum,TaperAngle)AsExtrudeFeature,特征的对象模型图,PartFeatures,各种零件特征集合类型的集合例如,ExtrudeFeatures,例5-3由轮廓创建拉伸特征,边界表达BRep,B-Rep(BoundaryRepresentation)提供了实体模型的几何描述。不关心实体特征是如何创建的。提供拓扑结构和几何造型的访问方法。,PartDocument(B-Rep),PartDocument(B-Rep),PartDocument(B-Rep),PartDocument(B-Rep),PartDocument(B-Rep),PartDocument(B-Rep),B-Rep访问,SurfaceBodies集合对象总是包含0或1个以上SurfaceBody对象访问B-Rep实体提取B-Rep结构从现有特征提取(Faces,EndFaces,StartFaces,SideFaces)在指定点附近提取(LocateUsingPoint)和指定矢量相交(FindUsingRay)由用户交互提取基于原有特性提取,几何对象的求值程序(Evaluators),面(Surface)和曲面(Curve)求值程序对象提供了对通用的几何查询功能:曲率(Curvatures)NormalsParameterspace/ModelspaceconversionsTangentsParameterRangeArea(Face)Lengths(Curves)微商(Derivatives),例5-4遍历BRep树,练习5,(1)关于零件文档中草图的正确描述是_。A.零件文档的草图包括圆弧、圆、椭圆弧、椭圆、直线、多段线、几何约束和尺寸约束等B.当使用API创建草图图元时,不会自动添加任何约束C.Sketches集合支持Add和AddWithOrientation两种创建草图的方法D.使用Sketches集合的Add方法创建草图时可以控制草图的方位(2)判断题(正确的在括号内画“”,错误的画“”)()一个Point2d对象表达的是二维空间中的一个几何点。()草图点是草图中唯一可以单独存在的草图图元。()API支持AddForSolid和AddForSurface两种创建轮廓的方法。()ProfilePath对象是有方位的。()几何约束可以去除图元的自由度。()在API中创建拉伸特征需要输入草图图元。()每个SurfaceBody只能包含一个FaceShell对象。,装配建模,部件、子部件及零件的关系。如何创建部件文档。如何在部件中添加零部件引用并设定装配约束。BOM的概念和BOMAPI的用法。,装配环境的对象模型图,ComponentDefinition,在部件图中装入零部件可以被想象为添加零部件的引用,被引用的零部件可以是子部件,也可以是零件AddByComponentDefinition插入矩阵插入零部件引用需要一个矩阵,即使是空矩阵也可以,AssemblyDocument,Assemblydocuments包含:零件引用约束工作特征只有零件引用其它部件(装配中的特征除外),References:Axle.iptWheel.iptOccurrences:Axle:1,Reference1,(0,0,0,),Visible,Wheel:1,Reference2,(0,0,-2,),Visible,Wheel:2,Reference2,(0,0,2,),Visible,WheelAssembly.iam,AssemblyDocument遍历,例6-1创建装配,引用零件,指定Options来插入零件,AddWithOptions(FullDocumentNameAsString,PositionAsMatrix,OptionsAsNameValueMap)AsComponentOccurrenceOptionsPrivateRepresentationFileNameDesignViewRepresentationPositionalRepresentation,LevelOfDetailRepresentationUseiMateDesignViewAssociative,AddWithOptions示范,创建一个NameValueMap对象,代表OptionsDimoOptionsAsNameValueMapSetoOptions=ThisApplication.TransientObjects.CreateNameValueMap设置Options.CalloOptions.Add(LevelOfDetailRepresentation,MyLODRep)CalloOptions.Add(PositionalRepresentation,MyPositionalRep)CalloOptions.Add(DesignViewRepresentation,MyDesignViewRep)CalloOptions.Add(DesignViewAssociative,True)设置插入矩阵DimoTGAsTransientGeometrySetoTG=ThisApplication.TransientGeometryDimoMatrixAsMatrixSetoMatrix=oTG.CreateMatrix插入零件.DimoOccAsComponentOccurrenceSetoOcc=oAsmCompDef.Occurrences.AddWithOptions(_C:TempReps.iam,oMatrix,oOptions),装配约束,PublicFunctionAddMateConstraint(_ByValEntityOneAsObject,_ByValEntityTwoAsObject,_ByValOffsetAsVariant,_OptionalByValEntityOneInferredTypeAsInferredTypeEnum=24833,_OptionalByValEntityTwoInferredTypeAsInferredTypeEnum=24833,_OptionalByValBiasPointOneAsVariant,_OptionalByValBiasPointTwoAsVariant_)AsMateConstraint,例6-2装配约束,BOM(BillofMaterials),BOM中至少包含该部件的下级零部件的代号、名称和数量。零部件的原材料牌号和规格,BOMAPI的作用,可以查询和导出数据。可以修改数量例如,修改其值或者将其设为参数值。可以修改BOM零部件类型(BOM结构)。,例6-3查询部件并获得BOM数据,练习6,(1)在部件图中插入了一个零件,就是在部件图的ComponentOccurrences集合中添加了一个_对象。A.ComponentDefinitionB.ComponentOccurrenceC.PartDefinitionD.AssemblyDefinition(2)零件的位置可以通过_进行控制。A.插入零件时使用的矩阵B.装配约束C.插入零件时使用的矩阵和装配约束D.装配约束和尺寸约束,练习6(续),(3)判断题(正确的在括号内画“”,错误的画“”)()对一个ComponentOccurrence的多次引用可以使用同一个ComponentDefinition。()在部件图中插入零部件时可以使用空矩阵。()插入零部件时使用的矩阵决定了零部件的最终位置,不能被改变。()从零件的ComponentDefinition中也可以获得BOM对象。()BOM视图可以被重新算号或者重新排序。()对部件进行修改会导致BOM中的数据自动发生改变。,工程图,工程图API的用法和工程视图的创建方法。引出序号API的使用,工程图API,基础视图投影视图剖视图草图视图DrawingViewEvents获得因模型被修改而导致工程图进行关联更新的消息通报DrawingView和SectionDrawingView对象提供了很多用于在工程图、模型和页面空间中进行点坐标转换的方法,包括DrawingViewToModelSpace、DrawingViewToSheetSpace、ModelToDrawingViewSpace、ModelToSheetSpace、SheetToModelSpace和SheetToDrawingViewSpace等,工程视图的对象模型图,创建基础视图,PublicFunctionAddBaseView(_ByValModelAs_Document,_ByValPlacementPointAsPoint2d,_ByValScaleAsDouble,_ByValViewOrientationAsViewOrientationTypeEnum,_ByValViewStyleAsDrawingViewStyleEnum,_OptionalByValModelViewNameAsString=,_OptionalByValArbitraryCameraAsVariant,_OptionalByValAdditionalOptionsAsVariant_)AsDrawingView,例7-1创建基础视图,创建剖视图,定义剖面线PublicFunctionAddSectionView(_ByValParentViewAsDrawingView,_ByValSectionLineSketchAsDrawingSketch,_ByValPlacementPointAsPoint2d,_ByValViewStyleAsDrawingViewStyleEnum,_OptionalByValScaleAsVariant,_OptionalByValShowScaleAsBoolean=True,_OptionalByValNameAsString=,_OptionalByValShowNameAsBoolean=True,_OptionalByValFullDepthAsBoolean=True,_OptionalByValSectionDepthAsVariant_)AsSectionDrawingView,例7-2创

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论