Inventor 2014 API 新功能 (4) 创建方程草图曲线

来源:互联网 发布:小角磨机淘宝网 编辑:程序博客网 时间:2024/06/10 13:04

草图第二个增强是可以通过方程创建曲线了!这是个相当有用的功能。以往如果你想画一条螺旋线,只能自己计算样条的拟合点,然后构建。

增加的新对象是:

SketchEquationCurves: 2D草图的方程曲线集合

SketchControlPointSplines3D: 3D草图的方程曲线集合

它们都提供了Add方法,返回一个方程曲线SketchEquationCurve或SketchEquationCurve3D。解释一下其参数。例如2D的曲线:

SketchEquationCurves.Add( EquationType As CurveEquationTypeEnum,
                                              CoordinateSystemType As CoordinateSystemTypeEnum,
                                              XValueOrRadius As String,
                                              YValueOrTheta As String,
                                              MinValue As Variant,
                                             MaxValue As Variant ) As SketchEquationCurve

EquationType : 帮助文档说可以是参数方程或显示方程。但我没有发现如何定义显示方程。似乎该方法只是为参数方程设计的。我已经联系开发部确认。
CoordinateSystemType : 坐标类型:笛卡尔坐标系或极坐标系
XValueOrRadius : 笛卡尔的X坐标或极坐标系半径的表达式,以t作为参数, 
YValueOrTheta : 笛卡尔的Y坐标或极坐标系角度的表达式,以t作为参数
MinValue :           t变化范围的最小值
MinValue :           t变化范围的最大值

Public Sub SketchEquationCurves()    ' 创建零件文档    Dim partDoc As PartDocument    Set partDoc = ThisApplication.Documents.Add(kPartDocumentObject, _                  ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))    Dim partDef As PartComponentDefinition    Set partDef = partDoc.ComponentDefinition        Dim tg As TransientGeometry    Set tg = ThisApplication.TransientGeometry            ' 基于 Y-Z 创建草图    Dim sketch2 As PlanarSketch    Set sketch2 = partDef.Sketches.Add(partDef.WorkPlanes.Item(1))        ' 创建2D螺旋线    Dim equationCurve As SketchEquationCurve    Set equationCurve = sketch2.SketchEquationCurves.Add(kParametric, kCartesian, _                                ".001*t * cos(t)", ".001*t * sin(t)", 0, 360 * 3)                                      ' 创建3D草图    Dim sketch3 As sketch3D    Set sketch3 = partDef.Sketches3D.Add         ' 创建3D螺旋线    Dim equationCurve2 As SketchEquationCurve3D    Set equationCurve2 = sketch3.SketchEquationCurves3D.Add(kCartesian, _                            ".001*t * cos(t) + 8", ".001*t * sin(t)", "0.002*t", 0, 360 * 3)                                ThisApplication.ActiveView.Fit    End Sub

在用户界面,选中该曲线,你甚至可以看到其方程定义。