Перезагрузка пользовательского инструмента из строки разметки svg

#autodesk-forge #autodesk-viewer

#autodesk-forge #autodesk-просмотрщик

Вопрос:

Я использую расширение Markup Core и создал пользовательский инструмент с режимом редактирования и т. Д. Инструмент, похоже, работает нормально при первом добавлении на холст, перетаскивании, изменении размера и при нажатии сохранить, я вижу свой новый DotMarkup в массиве разметок.

Однако при вызове generateData и сохранении строки svg при попытке загрузить данные на новый слой с помощью loadMarkups(svg, layerName) пользовательская разметка отображается на экране, но ее нельзя щелкнуть, разметка не отображается в массивах разметок (в редакторе или в массиве разметок svg)..

Любая помощь приветствуется

Ответ №1:

Я недавно также изучал это, и, к сожалению, оказалось, что экспорт и повторный импорт пользовательских разметок еще не поддерживаются MarkupsCore расширением. Если вы посмотрите на код расширения и выполните поиск createMarkupFromSVG , вы заметите в конце функции, что это просто длинный switch со встроенными типами разметки. Таким образом, пока ваш пользовательский SVG загружен, он не считается «SVG разметки». Чтобы обойти эту проблему, вам, вероятно, придется самостоятельно проанализировать строку SVG и вручную установить внутреннее состояние расширения (например, this.markups ).

Комментарии:

1. С учетом сказанного я свяжусь с командой инженеров и посмотрю, можно ли это добавить в один из будущих выпусков.

2. Спасибо, Петр, ценю ответ… Я так и думал. Мы создаем пользовательский инструмент для разметки, который добавляет точку и текст с заданным цветом. Я сохраняю строку SVG и могу ее перезагрузить, но нам действительно нужно было ее перезагрузить и сделать доступной для редактирования. Для текущей работы мне просто нужно захватить данные, удалить и создать заново, это означает, что мы не можем перетаскивать существующие фигуры, но если мы нажмем Редактировать, они исчезнут и появятся снова, где бы они ни щелкнули. Было бы отличным дополнением для загрузки пользовательских типов! Еще раз спасибо!