Объект App GeoFeature, или формально App::GeoFeature
, является базовым классом большинства объектов, отображающих геометрические элементы в 3D виде, поскольку включает свойство ДанныеPlacement (Размещение).
Упрощённая схема взаимосвязей между основными объектами в FreeCAD
App GeoFeature - это внутренний объект, поэтому его нельзя создать из графического интерфейса. Обычно он не предназначен для прямого использования, скорее его можно подклассифицировать, чтобы получить пустой объект, который имеет только базовое свойство ДанныеPlacement (Размещение) для определения его положения в 3D виде.
Ниже приведены некоторые из наиболее важных производных объектов:
При создании этого объекта в Python вместо подкласса App::GeoFeature
следует использовать подкласс App::GeometryPython
, поскольку последний включает провайдера представления по умолчанию и атрибуты Proxy
для самого объекта и его провайдера представления. Смотри Написание скриптов.
Все типы свойств, которыми могут обладать объекты скриптов, смотри в разделе Свойства.
Класс App GeoFeature (App::GeoFeature
) является производным от базового класса App DocumentObject (App::DocumentObject
) и наследует все его свойства. Кроме того, у него есть свойство ДанныеPlacement (Размещение), которое управляет его положением в 3D виде.
Все типы свойств, которыми могут обладать объекты скриптов, смотри в разделе Свойства.
Класс App GeometryPython (App::GeometryPython
) является производным от базового класса App GeoFeature (App::GeoFeature
) и наследует все его свойства. У него также есть несколько дополнительных свойств.
Это свойства, доступные в редакторе свойств. Скрытые свойства можно показать с помощью команды Show hidden (Показать скрытые) в контекстном меню редактора свойств.
See Part Feature for an explanation of the properties listed below.
Основные
PythonObject
): пользовательский класс, связанный с этим объектом.Placement
): положение объекта в 3D виде. Размещение определяется точкой (вектором) Base (База)
и Rotation (Поворотом)
(ось и угол). Смотри Placement (Размещение).
0°
(ноль градусов).0
и 1
. Если какое-либо значение больше 1
, вектор нормализуется так, чтобы его величина была равна 1
. По умолчанию это положительная ось Z, (0, 0, 1)
.(0, 0, 0)
.Строка
): редактируемое пользователем имя этого объекта, представляющее собой произвольную строку в кодировке UTF-8.Строка
): более длинное, редактируемое пользователем описание этого объекта, представляющее собой произвольную строку UTF-8, которая может включать новые строки. По умолчанию это пустая строка ""
.ExpressionEngine
): список выражений. По умолчанию он пуст []
.Булево
): отображать объект или нет.
Base
Base (База)
PythonObject
): пользовательский класс viewprovider, связанный с этим объектом.Display Options
Display Options (Параметры Отображения)
Булево
): если это значение true
, то объект будет показывать ограничивающую рамку в 3D виде.Перечисление
): смотри информацию в разделе App FeaturePython.Булево
): смотри информацию в разделе App FeaturePython.Булево
): смотри информацию в разделе App FeaturePython.Object Style
Object Style (Стиль Объекта)
Цвет
): кортеж из трёх значений RGB с плавающей точкой (r,g,b)
для определения цвета граней в 3D виде; по умолчанию это (0.8, 0.8, 0.8)
, который отображается как [204, 204, 204]
на базе 255, и это светло серый .Material (Материал)
): App Material, связанный с этим объектом. По умолчанию он пуст.Процент
): целое число от 0
до 100
, определяющее уровень прозрачности граней в 3D view. Значение 100
означает полностью прозрачные грани; грани невидимы, но их можно выбрать, если ВидSelectable (Выбираемый) имеет значение true
.Selection
Selection (Выбор)
Перечисление
): смотри информацию в разделе App FeaturePython.Булево
): если он равен true
, объект можно выбрать курсором в 3D виде. В противном случае объект не может быть выбран до тех пор, пока этот параметр не будет установлен в true
.Перечисление
): смотри информацию в разделе App FeaturePython.
Смотри так же: Основы составления скриптов в FreeCAD, и программируемые объекты.
Общие сведения о добавлении объектов в документ смотрите в разделе Конструктивный элемент верстака Part.
GeoFeature создаётся с помощью метода addObject()
документа. Если вы хотите создать объект с 2D или 3D топологической формой, возможно, лучше создать один из подклассов, специализированных для работы с фигурами, например Part Feature (Конструктивный элемент) или Part Part2DObject.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::GeoFeature", "Name")
obj.Label = "Custom label"
Для подкласса Python следует создать объект App::GeometryPython
.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::GeometryPython", "Name")
obj.Label = "Custom label"