Добавление процесса радиального размера
Этот процесс является интерактивным и позволяет добавить в модель новый 3D-радиальный размер, выбрав три точки.
Обобщенный тип процесса (TypeScript):
export type AddRadialDimensionProcess = {
name: "AddRadialDimension"
surfaceInterpretation?: boolean
snap?: SnapOptions
options: C3DViewDimensionOptions
events: {
onNew?: () => string
onCreate?: (uuid: string) => C3DUserData
onValue?: (value: number) => string
}
}
Опция snap позволяет переместить точки, указанные курсором мыши пользователя, в ближайшие вершины треугольника. Подробности в разделе Опция Snap. Эта опция отключена по умолчанию.
Режим поверхности
Режим доступен, если для свойства surfaceInterpretation установлено значение true. Размеры строятся по 3 точкам, указанным пользователем. Каждая точка определяет поверхность размещения геометрии, на которой размещается точка и окружность. Если точки не находятся на одной линии, то добавляется новый радиальный размер, в противном случае добавление отменяется.
Параметры
Этот процесс использует те же параметры, что и соответствующий объект PMI. Они описаны здесь.
Обратные вызовы
Доступные события.
onNew() генерируется перед созданием нового измерения. Возвращает строку, которая используется в качестве текста метки размера вместо значения по умолчанию.
onCreate(uuid) генерируется после создания нового измерения. Он получает UUID нового объекта и позволяет устанавливать пользовательские свойства измерения, возвращая их как объект.
onValue(value) генерируется при вычислении радиуса окружности, получает вычисленное значение и возвращает строку текста метки размера.
Примечание
Текст метки по умолчанию при отсутствии options.text, events.New и events.onValue представляет собой просто значение рассчитанного радиуса окружности между первой точкой и центром окружности.
Запуск
Чтобы запустить процесс, вам следует вызвать команду RunProcessCommand с именем процесса AddRadialDimension.
Пример запуска процесса (TypeScript):
view.runCommand({
name: "RunProcessCommand",
process: {
name: "AddRadialDimension",
options: {},
events: {
onValue: (value: number) => `${value.toFixed(2)} m`
}
}
})
Обновление
Обновление позволяет изменить любые опции, которые устанавливаются при запуске процесса.
Обобщенный тип команды обновления (TypeScript):
type UpdateProcess = {
name: "UpdateProcessCommand"
options: {
name: "AddRadialDimension"
text?: string
underlineText?: boolean
font?: {
family?: string,
size?: number,
}
colors?: {
text?: C3DViewRGB
textBkg?: C3DViewRGB
lines?: C3DViewRGB
}
}
}
Пример команды для обновления размера шрифта радиального размера (TypeScript):
view.runCommand({
name: "UpdateProcessCommand",
options: {
name: "AddRadialDimension",
font: {
size: 20
}
}
})