Процесс добавления комментария

Этот процесс является интерактивным и позволяет добавить новый 3D-комментарий к модели, выбрав две точки (цель для стрелки-выноски и начало линии-выноски).

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

export type AddCommentProcess = {
    name: "AddComment"
    options: {
        text: string
        font?: {
            family?: string
            size?: number
        }
        colors?: {
            text?: C3DViewRGB
            textBkg?: C3DViewRGB
        }
        textFrame?: C3DFrame[]
        textOrigin?: {
            vertical?: C3DVerticalPosition
            horizontal?: C3DHorizontalPosition
        }
    }
    events:{
        onNew?: () => string
        onCreate?: (uuid:string) => C3DUserData
    }
}

Параметры

Имя

Описание

text

Текст метки по умолчанию для нового комментария. По умолчанию используется "TEXT".

font.family

Имя шрифта, используемое для метки. По умолчанию используется GOST-TYPE-A.

font.size

Размер шрифта, используемый для метки. По умолчанию – 32.

colors.text

Цвет текста метки. По умолчанию используется {r: 0, g: 0, b: 0}.

colors.textBkg

Цвет фона текста метки. По умолчанию используется {r: 255, g: 255, b:255}.

textFrame

Список доступных фреймов для текста комментария. По умолчанию - ["All"].

textOrigin.vertical

Вертикальное выравнивание опорной точки. Доступные значения. По умолчанию установлено значение "Auto".

textOrigin.horizontal

Горизонтальное выравнивание опорной точки. Доступные значения. По умолчанию установлено значение "Auto".

Добавлено в версии 1.7.0: Удалена опция underlineText. Добавлены параметры textFrame, textOrigin.vertical и textOrigin.horizontal.

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

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

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

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

Запуск процесса

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

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

view.runCommand({
    name: "RunProcessCommand",
    process: {
        name: "AddComment", 
        options: {
            text: "Comment"
        },
        events: {}
    }
})

Обновление процесса

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

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

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

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

view.runCommand({
    name: "UpdateProcessCommand", 
    options: {
        name: "AddComment",
        text: 'Comment',
        font: {
            size: 21
        }
    }
})