版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Autodesk Inventor 2008 API,实训内容安排,Inventor 开发概览 用户界面 文档和属性 工作特征 零件建模 装配建模 工程图 选择与交互 数据读写及格式转换 考试,Inventor API开发的优秀产品,ANSYS, Inc. DesignSpace for Autodesk Inventor buttonDefinition = m_inventorApplication.CommandManager.ControlDefinitions.AddButtonDefinition( “Display Name”, invrSampleCommand, Comman
2、dTypesEnum.kShapeEditCmdType, strAddInGUID, “Description Text”, “Tooltip”, standardIconIPictureDisp, standardIconIPictureDisp, ButtonDisplayEnum.kDisplayTextInLearningMode);,使用ButtonDefinition,监听OnExecute事件 实现用户单击按钮的操作 如: private void ButtonDefinition_OnExecute(NameValueMap Context) System.Windows.F
3、orms.MessageBox.Show(Hello, Inventor!); ,工具栏,CommandBar,例子:工具栏的创建,/设置到用户界面管理器的引用 UserInterfaceManager userInterfaceManager; userInterfaceManager = m_inventorApplication.UserInterfaceManager; /创建新工具栏 CommandBar commandBar; commandBar = userInterfaceManager.CommandBars.Add(Test Bar, intTestBar“, Comma
4、ndBarTypeEnum.kRegularCommandBar, strAddInGUID); /将按钮控件添加到工具栏中 commandBar.Controls.AddButton(buttonDefinition, 0);,查找特定工具栏,/查找到装配工具栏 CommandBar asmCmdBar; asmCmdBar = userInterfaceManager.CommandBarsAMxAssemblyPanelCmdBar;,添加了自定义按钮的部件面板,弹出控件,普通弹出控件(kPopupControl) MRU拆分按钮(kSplitButtonMRUControl) 拆分按钮
5、(kSplitButtonControl) 弹出按钮(kButtonPopupControl),弹出控件,Button PopUp ButtonPopUp,SplitButton SplitButtonMRU ComboBox Macro,将工具栏添加到工具面板列表,/获得零件环境 Inventor.Environment partEnv; partEnv = userInterfaceManager.EnvironmentsPMxPartEnvironment; /设置到PanelBar对象的引用 PanelBar panelBar; panelBar = partEnv.PanelBar;
6、 /将工具栏添加到工具面板的列表中 panelBar.CommandBarList.Add(commandBar);,例2-1 定制复杂的菜单,Page 27 Page 30,环境,在工具面板(Panel)中默认显示的工具栏。 在标准工具栏(standard toolbar)中显示的工具栏。 作为菜单显示的工具栏。 在工具面板中可以切换的工具栏列表。 在右键单击现有的工具栏或菜单时显示的工具栏列表。通过该列表中可以隐藏或显示其中列出的任何工具栏。,环境对象模型图,例2-2 添加新环境,例2-3 设置当前编辑环境,重载环境属性,EnvironmentManager OverrideEnviron
7、ment 设置文档的重载环境,浏览器,树状列表 强大而又方便的扩充能力 能够添加新窗格(即ActiveX控件) ActiveX控件可以包含任何类型的信息,甚至可以包含另一个ActiveX控件,浏览器API的对象模型图,例2-4 添加窗格(可交互),浏览器节点,遍历浏览器节点,public void QueryModelTree() /获得文档对象 Inventor.Document doc; doc = m_inventorApplication.ActiveDocument; if(m_inventorApplication.Documents.Count = 0) MessageBox.S
8、how(There are no open documents!); /获得模型子页浏览器窗格中的顶级节点 Inventor.BrowserNode topNode; topNode = doc.BrowserPanes模型.TopNode; /从顶级节点开始,调用recurse函数 recurse(topNode); ,遍历浏览器节点(续),private void recurse(Inventor.BrowserNode node) if (node.Visible) MessageBox.Show(node.BrowserNodeDefinition.Label); foreach (I
9、nventor.BrowserNode bn in node.BrowserNodes) recurse(bn); ,例2-5创建自定义窗格并添加浏览器节点,自定义用户界面,插件程序的界面处理 firstTime标识,版本,Version 插件维护的Long类型的注册项 public const int Version = 1; 在Autodesk Inventor 2008中,通过“AssemblyInfo.cs”文件的如下代码可以修改插件的版本号: assembly: AssemblyVersion(1.0.*) 插件卸载 Deactivation事件 删除ControlDefinitio
10、n CLSID被Inventor保留下来,以便下次重新加载插件时建立界面控件与ControlDefinition的关联,练习 2,(1)ButtonDefinition对象需要使用_对象的AddButtonDefinition方法来创建。 A. Controls B. CommandBar C. ControlDefinitions D. ControlDefinition (2)判断题(正确的在括号内画“”,错误的画“”) ( )一个ButtonDefinition对象可以被多个按钮控件引用。 ( ) CommandBarControl的概念即包括ControlDefinition 对象也包
11、括CommandBar 对象。 ( )在命令栏中既可以添加菜单也可以添加按钮。 ( )自定义的浏览器窗格既可以是ActiveX控件,也可以是普通的控件。 (3)实际完成本章中的范例,掌握Autodesk Inventor各种界面元素的定制方法。,文档和属性,Documents 对象 PropertySets、PropertySet和Property对象的获得和使用方法。 AttributeSets、AttributeSet和Attribute对象的关系和使用方法。 AttributeManager对象的获得和使用方法。,Documents对象文档子类型,Inventor对不同的数据类型,有唯一
12、对应的文档类型 零件(*.ipt) 部件(*.iam) 工程图(*.idw) 表达视图(*.ipn) 在API中,每一种文档类型都有对应的对象,Documents对象API与用户界面对应关系,创建新的文档 Documents.Add 打开存在的文档 Documents.Open 访问已经打开的文档 Documents.Item (遍历所有的文档,包括那些被其它文档参考并在位编辑或打开的文档。),文档模版,FileManager 对象的GetTemplateFile方法可以得到任何默认的模版文件的路径 GetTemplateFile(DocumentType As DocumentTypeEnu
13、m,SystemOfMeasure As SystemOfMeasureEnum = kDefaultSystemOfMeasure, DraftingStandard As DraftingStandardEnum = kDefault_DraftingStandard,DocumentSubType) As String,文档操作初显身手,Public Sub OpenDoc() 打开一个指定的文档 Dim oDoc As Document Set oDoc = ThisApplication.Documents.Open(C:TempPart1.ipt) End Sub Public S
14、ub CreateDoc() 用指定的文档模版创建一个文档 Dim oDoc As PartDocument Set oDoc = ThisApplication.Documents.Add(kPartDocumentObject, _ ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject), _ True) End Sub Public Sub CreateDoc2() 用缺省的模版创建一个文档 Dim oDoc As PartDocument Set oDoc = ThisApplication.Documents.
15、Add(kPartDocumentObject, ,True) End Sub,保存文档,如果文档第一次被保存,应该用SaveAs方法,并将SaveCopyAs 标志设为False Dim oDoc As PartDocument Set oDoc = ThisApplication.Documents.Add(kPartDocumentObject) Call oDoc.SaveAs(C:TempSaveTest.ipt, False) 如果文档已经被保存过了,你可以用Save或者SaveAs方法。如果用SaveAs方法,将SaveCopyAs标志设为True Call oDoc.Save
16、Call oDoc.SaveAs(C:TempSaveTest2.ipt, True),关闭文档,Document.Close(SkipSave As Boolean = False) SkipSave=False 可以抑制“询问文件是否保留”对话框,迫使文件不保留而关闭 如果你将某个文件作为模版打开,修改了它,然后把它另存为一个新的文件。用这种方式,你可以关闭原来的文件而无须保存修改。,iProperties 代表文档特性 用户可以在“自定义”(“Custom“)页创建自定义的特性 可以用 Inventor API,也可以用学徒服务器(Apprentice)API获取/修改文件特性,iPro
17、perties,iPropertiesProperty Sets,各种特性组合在特性集集合对象(PropertySets)中 PropertySets对象具有支持遍历和访问所有的特性集对象的方法,API访问文档特性,Inventor 中的API 学徒中的API,特性对象模型图,获取PropertySets集合,Dim oPropSets As PropertySets Set oPropSets = ThisApplication.ActiveDocument.PropertySets,Property是名-值匹配 Property 对象的识别: ID (唯一) Name (唯一) Displ
18、ayName (可能变化),iPropertiesProperty,Inventor中预定义的特性集及其内部名,Property值的类型是Variants.支持下列数据类型: Integer, Long, Double, String, Date, Boolean, Byte, Object and arrays 在Object Browser中可以找到特性集的InternalNames,也可以在SDKIncludePropFMTIDs.h文件中找到 特性对象的ID在各种与特性关联的枚举中可以找到,如PropertiesForDocSummaryInformationEnum(文档摘要),iP
19、roperties,获得特性集,Dim oMyPropSet As PropertySet Set omyPropSet = propSets设计跟踪特性; Dim oMyPropSet1 As PropertySet Set oMyPropSet1 = propSets32853F0F-3444-11d1-9E93-0060B03C1CA6;,访问特性集中的对象,foreach(Property prop in propSet) /获得特性名 String name; name = prop.Name; /获得特性值 object value; value = prop.Value; /获得
20、特性的Id long propID; propID = prop.PropId; ,iProperties创建特性,PropertySets.Add(Name As String, InternalName) As PropertySet Name和InternalName必须是唯一的 添加一个新的特性集对象到特性集集合(PropertySets)中 PropertySet.Add(PropValue, Name, PropId) As Property Inventor允许在新建的特性集或者自定义的特性集中添加特性,但是不允许向标准的特性集中添加属性 Name和PropId在该特性集中必须是
21、唯一的 Property Set和Property能被创建为隐藏的 只要把它的名字的第一个字符设为下划线“_”。这样,它就不会被遍历到。它仍然可以通过传递完整的名字访问到,创建新特性集和特性对象,/添加新PropertySet对象 PropertySet newPropSet; newPropSet = propSets.Add(New PropertySet, null); /在新PropertySet对象中添加新特性 newPropSet.Add(A Value, New Property, 2);,特性集的显示名和内部名/ID,唯一 缺省可自动创建 1 ID 255,保存特性,在Inve
22、ntor API中, 保存文档时会自动保存特性的修改 在学徒服务器中(Apprentice),还可以用特性集集合对象的FlushToFile方法保存 - Inventor API不支持该方法。 Dim oApprentice As ApprenticeServerComponent Set oApprentice = New ApprenticeServerComponent Dim oDoc As ApprenticeServerDocument Set oDoc = oApprentice.Open(C:TempPart.ipt) oDoc.PropertySets.Item(Design
23、 Tracking Properties).Item(Designer).Value = Fred Astair oDoc.PropertySets.FlushToFile,改变特性,Dim oDoc As PartDocument Set oDoc = Thisapplication.ActiveDocument Access a particular property set. In this case we access design tracking properties set. Accessing the same property set by using the name is
24、 not dependable because the display name can be localized, so the internal name is preferred. Dim oDTProps As PropertySet Set oDTProps = oDoc.PropertySets.Item(32853F0F-3444-11d1-9E93-0060B03C1CA6) Get a specific property, in this case the designer property. You can also use the name, but this has t
25、he same problem that the name can be localized. Please check PropertiesForDesignTrackingPropertiesEnum for the PropId Dim oDesignerProp As Property Set oDesignerProp = oDTProps.ItemByPropId(kDesignerDesignTrackingProperties) Show the name and value. Debug.Print Old /使用名称获得PropertySet对象 propSet = pro
26、pSetsNew PropertySet; /遍历集合中的特性并删除 foreach(Property prop in propSet) prop.Delete(); /删除PropertySet对象 propSet.Delete();,属性(Attributes)和属性集(AttributeSets),为对象附加指定的数据 一个对象可以包含任意多个AttributeSets,而每个AttributeSet又可以包含任意多个Attributes Inventor用户界面中没有直观地操作Attributes的功能,通过API访问属性,创建AttributesSet,AttributeSets a
27、ttribSets; attribSets = myPart.AttributeSets; AttributeSet attribSet; if(attribSet = attribSets.Add(MyAttribSet, false) = null) attribSet = attribSetsMyAttribSet; ,遍历Attribute,遍历属性值 1. 特性名查找 2. 数字索引查找 AttributeSets attribSets; attribSets = myPart.AttributeSets; Inventor.Attribute attrib; attrib = at
28、tribSetsMyAttribSetMyAttrib; MessageBox.Show(attrib.Value.ToString();,删除属性,可以直接删除属性和属性集,但一般的做法是在删除属性集之前先检查其中是否有包含的属性。如果属性集中包含了属性,应该在删除属性集之前先删除这些属性。编程人员应该确保安全地删除属性和属性集。 AttributeSets attribSets; attribSets = myPart.AttributeSets; if(attribSets.get_NameIsUsed(MyAttribSet) Inventor.Attribute attrib; at
29、trib = attribSetsMyAttribSetMyAttrib; attrib.Delete(); attribSetsMyAttribSet.Delete(); ,AttributeManager对象,通过文档对象的AttributeManager属性获取 通配符查找(速度快) 可以使用属性名称或者属性值的部分字符串来查找属性 OpenAttributeSets AttributeSetsEnumerator AttributeSet对象的链表,例3-1 查找AttributeSet,在面对象中查找名为“Test”的AttributeSet,练习 3,(1)关于特性集的正确描述是_
30、。 A. 预定义Property的特性名和特性值都不能被修改 B. 预定义Property的特性值可以被修改,但特性名不能被修改 C. 自定义Property的内部名可以被修改 D. 自定义Property的特性名和特性值都能被修改 (2)可以直接从文档获得的对象有_ A. PropertySets和AttributeSets B. AttributeSets和AttributeManager C. PropertySets和AttributeManager D. PropertySets和PropertySet,练习 3 (续),(3)删除属性的正确方法是_ A. 先删除属性再删除属性集 B
31、. 先删除属性集再删除属性 C. 直接删除所有属性 D. 直接删除属性集 (4)判断题(正确的在括号内画“”,错误的画“”) ( )通过API可以在Inventor的标准特性集中添加新特性。 ( )PropertySets是一个或多个Property 对象的集合。 ( )AttributeSets是由文档对象获得的。 ( )AttributeManager支持属性名和属性值的通配符查询。,工作特征(WorkPoint,WorkAxis,WorkPlane),所有的工作特征都有创建、查询和编辑功能 除了固定的工作点以外,API也支持固定的工作平面和固定的工作轴 在部件图中,只能用AddFixed
32、方法来创建特征; 装配约束用于控制工作特征的位置,工作特征API的作用,工作特征集合对象(WorkPoints、WorkAxes、WorkPlanes)是不会为空的。缺省情况下,每个集合对象都分别包含了它们的基准点、基准轴或基准平面。例如,WorkAxes集合对象总是会依次包含X、Y、Z三个基本轴对象。 如果该工作特征不是作为构造几何图形的基础,那么这个新的名称还会显示在Inventor浏览器中,工作点、工作轴和工作平面的对象模型图,创建工作点,PartDocument partDoc; partDoc = (PartDocument)inventorApplication.ActiveDoc
33、ument; PartComponentDefinition partCompDef; partCompDef = partDoc.ComponentDefinition; TransientGeometry trans; trans = inventorApplication.TransientGeometry; Point pnt; pnt = trans.CreatePoint(2, 3, 4); WorkPoint workPoint1; workPoint1 = partCompDef.WorkPoints.AddFixed(pnt, false);,创建工作轴,WorkPoint
34、workPoint2; pnt = trans.CreatePoint(0, 0, 0); workPoint2 = partCompDef.WorkPoints.AddFixed(pnt, false); WorkAxis workAxis; workAxis = partCompDef.WorkAxes.AddByTwoPoints(workPoint1, workPoint2, false);,创建工作平面,WorkPlane workPlane; workPlane = partCompDef.WorkPlanes.AddByLinePlaneAndAngle(workAxis, pa
35、rtCompDef.WorkPlanesYZ Plane, 45, false); workPlane.Name = MyFirstWorkPlane;,练习 4,(1)判断题(正确的在括号内画“”,错误的画“”) ( )工作特征集合对象是通过文档对象获得的。 ( )工作特征集合对象在缺省情况下为空。 ( )通过API创建的工作特征不会显示在浏览器中。 (2)使用API创建通过点(4,3,3)且与Y轴平行的工作轴,以及通过该工作轴和原点的工作平面。,零件建模,草图及草图图元、轮廓的创建和使用方法。 草图约束的创建和使用方法。 零件特征的创建方法。 BRep的概念和查询方法。,零件文档中的草图,
36、用户界面草图和API草图区别,使用API时没有约束的推断,程序员必须精确地定义每个约束和坐标。 API草图提供了一些底层草图细节 这些细节在用户界面中是被隐藏了的。被隐藏的最主要特征是所有的草图图元实际上是依赖于草图点的。草图点是唯一可以单独存在的草图图元,任何其他图元都必须依赖草图点来定义它们的位置,草图图元通过重合约束绑定到草图点上 用户界面中隐藏了大多数的草图点,Transient Geometry,辅助类型的对象,具有数学和几何处理功能 也是操作图形对象的方法 可以创建2D 对象, 如点、向量、矩阵,也可以处理这些对象的运算 不可见,没有对应的图形组件,也没有工作特征或草图点 零件文档
37、里面,草图大量的需要用点对象,部件图中也经常需要用到矩阵和矩阵转换,TransientGeometry数学对象,你可以用TransientGeometry对象来创建一些数学对象,一些函数的参数就是这些数学对象,你也可以用它们来处理一些纯粹的数学运算 Vector, Vector2d UnitVector, UnitVector2d Box, Box2d Matrix, Matrix2d,Vectors,Vectors定义了一个方向和大小 Vector能表示零件的移动,如下图所示 UnitVector定义了方向;它的大小总是1,Vector Methods,两个向量的比较方法: AngleTo
38、IsEqualTo IsParallelTo IsPerpendicularTo 向量的操作:AddVector, Normalize, SubtractVector, TransformBy 向量分析: CrossProduct 定义一个新的向量,该向量垂直于由两个已知向量确定的平面,Boxes,有两个点,代表Box的最小坐标点和最大坐标点 大量运用于 bounding boxes. Inventors bounding boxes总是与坐标轴平行的,矩阵(matrix),Matrix是一个矩形数组 3-D matrix是一个4x4矩形数组 2-D matrix 是一个 3x3矩形数组,1
39、0 0 0 0 1 0 0 0 0 1 0 0 0 0 1,1 0 0 0 1 0 0 0 1,Matrix与坐标系,在Inventor中, 你可以从两个角度来看一个矩阵: 矩阵定义了一个坐标系 矩阵定义了转换 矩阵如何定义一个坐标系?,Matrix与坐标系(续),一个“归一化”(“Identity”)矩阵定义的一个坐标系是一个基础坐标系(没有转换量). 设置一个矩阵来定义不同的坐标系,0.707 -0.707 0 10 0.707 0.707 0 5 0 0 1 0 0 0 0 1,1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1,Matrix 与变换(Transform),变
40、换矩阵使用情况如: 在部件图中重新定位某组件 从一个坐标系转变成另一个坐标系。如,在一个部件图里,将一个零件中的点映射到另外一个零件中 对于一个变换而言,矩阵定义了三角形变化,这个变化可能导致物体的移动或旋转,Matrix 函数,Matrix.Invert 反转矩阵 Matrix.TransformBy 矩阵相乘 Matrix.Cell - get/set 矩阵的每个数据元素 与矩阵相关的函数: SetCoordinateSystem, SetToAlignCoordinateSystems, SetToIdentity, SetToRotateTo, SetToRotation, SetTr
41、anslation,零件图 (草图),草图是大多数特征的基础 草图由草图实体组成(线,圆等等),这些实体的行为受几何和尺寸约束控制 零件图的草图对象(PlanarSketch)是从普通的草图(Sketch)对象派生的,零件图 (草图),草图包含了真正的2D几何体 草图有一个2D的坐标系 草图定位于3D空间,跟线性几何体关联(线性平面或者工作平面),创建 Planar Sketch,Add(PlanarEntity As Object, UseFaceEdges As Boolean = False) As PlanarSketch 等同于 二维草图 命令. 方向是Inventor自动定义 是否
42、包含输入平面的边参数(UseFaceEdges)可选 AddWithOrientation(PlanarEntity As Object, AxisEntity As Object, NaturalAxisDirection As Boolean, AxisIsX As Boolean, Origin As Object, UseFaceEdges As Boolean = False) As PlanarSketch API only functionality,你可以用它充分的定义草图方向并创建一个草图,草图实体基础,草图的组成元素: 草图实体 几何约束 尺寸约束 草图实体总是(alway
43、s)伴随有草图点,并且通过重合约束与草图点连接在一起,画两条相交的线,实际上,三个草图点,两条草图线 和四个几何约束被创建了,模型空间草图空间,草图是3D空间的2D平面,有时候空间转换是很方便的: ModelToSketchSpace 取模型空间的一个3D点,返回一个2D点,这个点代表3D点在草图平面的投影 SketchToModelSpace 取草图平面上的一个2D点,返回模型空间对应的3D点 ModelToSketchTransform, SketchToModelTransform 返回变换矩阵,草图约束的对象模型图,草图几何约束,几何约束 约束简单实体的行为: ground, vert
44、ical, and horizontal. Dim oHorizontal As HorizontalConstraint Set oHorizontal = oSketch.GeometricConstraints.AddHorizontal(oSketchLine1) 定义了两个实体之间的关系 Dim oParallel As ParallelConstraint Set oParallel = oSketch.GeometricConstraints.AddParallel(oSketchLine1, _ oSketchLine2),草图尺寸约束,尺寸约束 定义了实体的大小尺寸,以及实体
45、之间的距离或夹角 很多尺寸约束作用于草图点 Dim oTwoPointDim As TwoPointDistanceDimConstraint Set oTwoPointDim = oSketch.DimensionConstraints.AddTwoPointDistance( _ oSketchLine1.StartSketchPoint, oSketchLine1.EndSketchPoint, _ kAlignedDim, oTG.CreatePoint2d(3, 4), False),例5-1 草图绘制,轮廓对象(Profiles),创建特征往往需要草图,但是真正的参数并不是草图,而
46、是轮廓(Profiles)或者轮廓路径(ProfilePaths) 轮廓可能是闭合的,也可能是不闭合的 闭合的轮廓由一些闭合的回路组成 不闭合的轮廓由一些端点相连的实体组成,创建轮廓,Profiles.AddForSolid(Combine As Boolean = True, Curves, reserved) As Profile 创建一个封闭的由一些草图实体组成的轮廓;也支持包含文本框的草图 Curves参数用来指定那些草图实体需要被包含在轮廓中 Profiles.AddForSurface(Curve) As Profile 创建一个不闭合的由一套连着的草图实体组成的轮廓,Combin
47、e = False,Combine = True,轮廓路径( ProfilePath),每个ProfilePath对象返回一个ProfileEntity对象的列表,列表中的ProfileEntity对象按照它们之间的关联排序 用在扫掠特征、分割特征、矩形阵列中 当创建轮廓路径时,需要提供一个简 单的实体,Inventor会找到 所有端点相连的实体链,例5-2 草图约束,特征对象(Features),很多特征对象的创建都需要草图作为参数来定义特征的形状或者位置,这些特征如 Extrude, Revolve, Hole, Rib, Loft, Sweep, Coil, Split, Emboss,
48、 and Boundary Patch. 用API来创建特征,也象通过界面创建特征一样,需要用草图作为参数,如: AddByDistanceExtent( Profile As Profile, Distance as variant, ExtentDirection As PartFeatureExtentDirectionEnum, Operation As PartFeatureOperationEnum, TaperAngle) As ExtrudeFeature,特征的对象模型图,PartFeatures,各种零件特征集合类型的集合 例如,ExtrudeFeatures,例5-3 由
49、轮廓创建拉伸特征,边界表达BRep,B-Rep(Boundary Representation)提供了实体模型的几何描述 。 不关心实体特征是如何创建的。 提供拓扑结构和几何造型的访问方法。,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 结构 从现有特征
50、提取 (Faces, EndFaces, StartFaces, SideFaces) 在指定点附近提取 (LocateUsingPoint) 和指定矢量相交 (FindUsingRay) 由用户交互提取 基于原有特性提取,几何对象的求值程序(Evaluators),面(Surface)和曲面(Curve)求值程序对象提供了对通用的几何查询功能: 曲率(Curvatures) Normals Parameter space / Model space conversions Tangents Parameter Range Area (Face) Lengths (Curves) 微商(Der
51、ivatives),例5-4 遍历BRep树,练习 5,(1)关于零件文档中草图的正确描述是_。 A. 零件文档的草图包括圆弧、圆、椭圆弧、椭圆、直线、多段线、几何约束和尺寸约束等 B. 当使用API创建草图图元时,不会自动添加任何约束 C. Sketches集合支持Add和AddWithOrientation两种创建草图的方法 D. 使用Sketches集合的Add方法创建草图时可以控制草图的方位 (2)判断题(正确的在括号内画“”,错误的画“”) ( )一个Point2d对象表达的是二维空间中的一个几何点。 ( )草图点是草图中唯一可以单独存在的草图图元。 ( )API支持AddForSo
52、lid和AddForSurface两种创建轮廓的方法。 ( )ProfilePath对象是有方位的。 ( )几何约束可以去除图元的自由度。 ( )在API中创建拉伸特征需要输入草图图元。 ( )每个SurfaceBody只能包含一个FaceShell对象。,装配建模,部件、子部件及零件的关系。 如何创建部件文档。 如何在部件中添加零部件引用并设定装配约束。 BOM的概念和BOM API的用法。,装配环境的对象模型图,ComponentDefinition,在部件图中装入零部件可以被想象为添加零部件的引用,被引用的零部件可以是子部件,也可以是零件 AddByComponentDefinition
53、 插入矩阵 插入零部件引用需要一个矩阵,即使是空矩阵也可以,Assembly Document,Assembly documents 包含: 零件引用 约束 工作特征 只有零件引用其它部件 (装配中的特征除外),References: Axle.ipt Wheel.ipt Occurrences: Axle:1, Reference 1, (0,0,0,), Visible, Wheel:1, Reference 2, (0,0,-2,), Visible, Wheel:2, Reference 2, (0,0,2,), Visible, ,WheelAssembly.iam,Assembly
54、 Document遍历,例6-1 创建装配,引用零件,指定Options来插入零件,AddWithOptions(FullDocumentName As String, Position As Matrix, Options As NameValueMap) As ComponentOccurrence Options PrivateRepresentationFileName DesignViewRepresentation PositionalRepresentation,LevelOfDetailRepresentation UseiMate DesignViewAssociative,
55、AddWithOptions 示范,创建一个NameValueMap 对象,代表Options Dim oOptions As NameValueMap Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap 设置Options. Call oOptions.Add(LevelOfDetailRepresentation, MyLODRep) Call oOptions.Add(PositionalRepresentation, MyPositionalRep) Call oOptions.Add(DesignVie
56、wRepresentation, MyDesignViewRep) Call oOptions.Add(DesignViewAssociative, True) 设置插入矩阵 Dim oTG As TransientGeometry Set oTG = ThisApplication.TransientGeometry Dim oMatrix As Matrix Set oMatrix = oTG.CreateMatrix 插入零件. Dim oOcc As ComponentOccurrence Set oOcc = oAsmCompDef.Occurrences.AddWithOption
57、s( _ C:TempReps.iam, oMatrix, oOptions),装配约束,Public Function AddMateConstraint( _ ByVal EntityOne As Object, _ ByVal EntityTwo As Object, _ ByVal Offset As Variant, _ Optional ByVal EntityOneInferredType As InferredTypeEnum = 24833, _ Optional ByVal EntityTwoInferredType As InferredTypeEnum = 24833,
58、 _ Optional ByVal BiasPointOne As Variant, _ Optional ByVal BiasPointTwo As Variant _ ) As MateConstraint,例6-2 装配约束,BOM ( Bill of Materials ),BOM中至少包含该部件的下级零部件的代号、名称和数量。 零部件的原材料牌号和规格,BOM API的作用,可以查询和导出数据。 可以修改数量例如,修改其值或者将其设为参数值。 可以修改BOM零部件类型(BOM结构)。,例6-3 查询部件并获得BOM数据,练习 6,(1)在部件图中插入了一个零件,就是在部件图的ComponentOccurrences集合中添加了一个_对象。 A. ComponentDefinition B. ComponentOccurrence C. PartDefinition D. AssemblyDefinition (2)零件的位置可以通过_进行控制。 A. 插入零件时使用的矩阵 B. 装配约束 C. 插入零件时使用的矩阵和装配约束 D. 装配约束和尺寸约束,练习 6 (续),(3)判断题(正确的在括号内画“”,错误的画“”) ( )对一个ComponentOccurrence 的多次引用可以使用同一个ComponentDef
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年商丘职业技术学院单招综合素质考试题库有答案详细解析
- 2026年甘肃钢铁职业技术学院单招职业适应性测试题库附答案详细解析
- 2026年宁夏回族自治区中卫市高职单招综合素质考试题库含答案详细解析
- 2026年福建生物工程职业技术学院单招综合素质考试题库有答案详细解析
- 2026年科尔沁艺术职业学院单招职业技能考试题库及答案详细解析
- 2026年安徽新闻出版职业技术学院单招职业适应性测试题库含答案详细解析
- 2026年江西制造职业技术学院单招综合素质考试题库及答案详细解析
- 2026年安阳学院单招职业技能考试题库及答案详细解析
- 2026年用人单位职业健康管理培训试题及答案
- 发药差错报告制度
- 《嵌入式系统原理及应用》课件第3章ARM指令系统
- 《电力工程 第3版》课件 鞠平 第1-7章 绪论、输电设备-电力系统潮流
- 患者术中体温管理课件
- 【课件】美术的曙光-史前与早期文明的美术+课件-2024-2025学年高中美术人教版(2019)必修美术鉴赏
- 4农业现代化背景下2025年智慧农业大数据平台建设成本分析
- 口腔癌前病变
- 2025年高考数学全国一卷试题真题及答案详解(精校打印)
- GB/T 42230-2022钢板卷道路运输捆绑固定要求
- 2025年上海高考数学二轮复习:热点题型6 数列(九大题型)原卷版+解析
- 浙江金峨生态建设有限公司介绍企业发展分析报告
- 中学语文课程标准与教材研究 第2版 课件全套 第1-6章 语文课程-语文课程资源
评论
0/150
提交评论