Autodesk Inventor API. Первые шаги: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 21:
Например, математические 2D и 3D точки TransientGeometry используются для создания и манипуляции рабочими и эскизными точками, построения матриц преобразований и многого другого.
 
[[Изображение: TG_ObjectModel.png|thumb]]
 
 
Вот список объектов TransientGeometry:
[[Изображение: TG_ObjectModel.png|thumb]]
 
Line
 
Plane
 
Point — Point2d
 
UnitVector — UnitVector2d
 
Vector — Vector2d
 
Box — Box2d
 
BSplineCurve — BSplineCurve2d
 
BSplineCurveDefinition — BSplineCurve2dDefinition
 
Matrix — Matrix2d
 
Можно видеть, что все объекты, кроме Line и Plane, имеют 2D-аналоги.
 
Объекты транзитной геометрии представляют собой математические абстракции реальных геометрических объектов и лишены многих их свойств. Например, объект Line, в отличие, скажем, от эскизной линии SketchLine, имеет бесконечную длину. Line имеет выделенное направление Direction, заданное её единичным вектором типа UnitVector. Аналогично и объект Plane отличается от плоской грани отсутствием пространственных границ. В отличие от геометрической плоскости, известной нам из школьного курса математики, объект Plane имеет выделенное направление — это направление вектора нормали к плоскости Normal, заданное единичным вектором типа UnitVector. Именно это обстоятельство позволяет отличать одну сторону плоскости от другой.
 
Среди объектов транзитной геометрии наиболее употребительны Point, Point2d и Matrix.
 
 
=== Точки Point и Point2d ===
 
Объект Point описывает трехмерную математическую точку в декартовом пространстве на основе списка из трех ее координат X, Y и Z. Его двумерный аналог — объект Point2d — представляет собой математическую точку с координатами X и Y на плоскости. Оба объекта обеспечивают доступ к координатам и поддерживают ряд методов для проверки эквивалентности и геометрических преобразований.
 
Точки Point2d широко применяются при работе в двумерными эскизами. Чтобы создать в эскизе эскизную точку SketchPoint, используется метод Add коллекции эскизных точек SketchPoints.
Методу Add требуется знать положение, в котором следует создавать эскизную точку SketchPoint. Но эта точка может быть результатом произвольной последовательности преобразований и перемещений, или может быть точкой другого объекта. По этой причине метод Add опирается на объект Point2d.
 
 
' Поскольку пример демонстрационный,
' то с целью упрощения опущена проверка ошибок.
' Всегда проверяйте корректность типа возвращаемых значений.
 
Dim oApp As Inventor.Application
Set oApp = ThisApplication
 
Dim oPartDoc As PartDocument
Set oPartDoc = oApp.Documents.Add( _
kPartDocumentObject, _
oApp.GetTemplateFile(kPartDocumentObject))
 
' Создаем эскиз в плоскости XY
Dim oSketch As PlanarSketch
Set oSketch = oPartDoc.ComponentDefinition.Sketches.Add _
(oPartDoc.ComponentDefinition.WorkPlanes.Item(3))
Dim oTG As TransientGeometry
Set oTG = oApp.TransientGeometry
 
Dim oSkPnts As SketchPoints
Set oSkPnts = oSketch.SketchPoints
Call oSkPnts.Add(oTG.CreatePoint2d(30, 20), False)
 
 
 
 
 
 
=== Матрицы преобразований ===