Модельная геометрия (класс ModelGeometry)#
Общий класс ModelGeometry не имеет конструктора. Это произвольный набор геометрических объектов, который может быть ассоциирован с каким-то уровнем детализации стиля.
В зависимости от того, сколько уровней детализации будет использоваться шаблоном стиля, столько экземпляров класса ModelGeometry необходимо создать в скрипте.
1local detailedGeometry = ModelGeometry() --детальная геометрия
2local symbolicGeometry = ModelGeometry() --условная геометрия
3local symbolGeometry = ModelGeometry() --символьная геометрия
Каждый уровень детализации стиля может быть наполнен различными геометрическими примитивами. Для детального уровня детализации это могут быть:
Двумерная геометрия (для создания вспомогательной геометрии).
Для условного и символьного уровня детализации это может быть двумерная геометрия.
Методы класса#
Добавление твёрдотельной 3D-геометрии#
- :AddSolid(solid)
- Parameters:
solid (Solid) – Задается твердотельная 3D-геометрия.
Добавление двумерной геометрии#
- :AddGeometrySet2D(geometrySet, placement)
- Parameters:
geometrySet (GeometrySet2D) – Задается двумерная геометрия.
placement (Placement3D) – (optional) Задает локальную систему координат, в которой строится двумерная геометрия. Если не задана, то для построения используется глобальная система координат.
Примеры#
Создание детального уровня детализации стиля#
1local detailedGeometry = ModelGeometry()
2local solid = CreateBlock(size, size, size, placement)
3
4detailedGeometry:AddSolid(solid)
5Style.SetDetailedGeometry(detailedGeometry)
Создание детального уровня детализации стиля со вспомогательной геометрией#
Важно
Вспомогательная геометрия — дополнительная плоская геометрия. Обычно используется для создания не существующей в реальном объекте геометрии (направление потока, условное обозначение). Не специфицируется.
1local detailedGeometry = ModelGeometry()
2local solid = CreateBlock(size, size, size, placement)
3local auxGeometry = GeometrySet2D()
4local region = FillArea({contours})
5
6auxGeometry:AddMaterialColorSolidArea(region)
7detailedGeometry:AddSolid(solid)
8detailedGeometry:AddGeometrySet2D(auxGeometry, placement))
9Style.SetDetailedGeometry(detailedGeometry)
Создание условного уровня детализации стиля#
1local symbolicGeometry = ModelGeometry()
2local planeGeometry = GeometrySet2D()
3local curve2D = CreateRectangle2D(centerPoint, angle, size, size)
4
5planeGeometry:AddCurve(curve2D)
6symbolicGeometry:AddGeometrySet2D(planeGeometry, placement)
7Style.SetSymbolicGeometry(symbolicGeometry)
Создание символьного уровня детализации стиля#
Символьная геометрия, в отличии от условной геометрии, не масштабируется. С помощью символьного уровня детализации создаются условно-графические отображения (УГО) с заданными размерами (указанных в стандартах по выполнению чертежей).
1local symbolGeometry = ModelGeometry()
2local planeGeometry = GeometrySet2D()
3local curve2D = CreateRectangle2D(centerPoint, angle, size, size)
4
5planeGeometry:AddCurve(curve2D)
6symbolGeometry:AddGeometrySet2D(planeGeometry)
7Style.SetSymbolGeometry(symbolGeometry)
Операторы#
Добавлено в версии 1.1: Проверить равенство с другой модельной геометрией
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Добавлено в версии 1.1: Проверить неравенство с другой модельной геометрией
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean