Добавление процесса нормального линейного размера

Этот процесс является интерактивным и позволяет добавить к модели новый трехмерный нормальный линейный размер путем указания двух точек. Нормальная линейный размер — это то же самое, что и линейный размер, однако есть разница в способе его создания. В течение всего процесса построения этот размер остается перпендикулярным поверхности, на которой задана первая точка.

Обобщенный тип процесса (TypeScript):

export type AddNormalLineDimensionProcess = {
    name: "AddNormalLineDimension"
    options: C3DViewDimensionOptions
    events: {
        onNew?: () => string
        onCreate?: (uuid: string) => C3DUserData
        onValue?: (value: number) => string
    }
}

Параметры

Этот процесс использует те же параметры, что и соответствующий объект PMI. Они описаны здесь.

Обратные вызовы

Доступные события.

  1. onNew() генерируется перед созданием нового измерения. Возвращает строку, которая используется в качестве текста метки размера вместо значения по умолчанию.

  2. onCreate(uuid) генерируется после создания нового измерения. Он получает UUID нового объекта и позволяет устанавливать пользовательские свойства измерения, возвращая их как объект.

  3. onValue(value) генерируется при вычислении общей длины, получает вычисленное значение и возвращает строку текста метки размера.

Примечание

Текст метки по умолчанию при отсутствии options.text, events.New и events.onValue представляет собой просто значение вычисленной длины между двумя выбранными точками.

Запуск

Чтобы запустить процесс, вам следует вызвать команду RunProcessCommand с именем процесса AddNormalLineDimension.

Пример запуска процесса (TypeScript):

view.runCommand({
    name: "RunProcessCommand",
    process: {
        name: "AddNormalLineDimension",
        options: {},
        events: {
            onValue: (value: number) => `${value.toFixed(2)} m`
        }
    }
})

Обновление

Обновление позволяет изменить любые опции, которые устанавливаются при запуске процесса.

Обобщенный тип команды обновления (TypeScript):

type UpdateProcess = {
    name: "UpdateProcessCommand"
    options: {
        name: "AddNormalLineDimension"
        text?: string
        underlineText?: boolean
        font?: {
            family?: string,
            size?: number,
        }
        colors?: {
            text?: C3DViewRGB
            textBkg?: C3DViewRGB
            lines?: C3DViewRGB
        }
    }
}

Пример команды для обновления размера шрифта обычного размера линии (TypeScript):

view.runCommand({
    name: "UpdateProcessCommand",
    options: {
        name: "AddNormalLineDimension",
        font: {
            size: 20
        }
    }
})