При добавлении блоков вручную необходимо выполнить определенный процесс.
Убедитесь, что блок был добавлен правильно, то есть block = workspace.newBlock("your_type")
не вызывает ошибку и блок инициализируется.
Далее вам нужно вызвать функцию block.initSvg()
, в документации сказано, что вам нужно вызвать либо функцию initSvg()
, либо initModel()
:
Вызовите initModel для всех полей в блоке,Может быть вызван более одного раза.Либо initModel, либо initSvg должны вызываться после создания блока и до первого взаимодействия с ним.К взаимодействиям относятся действия пользовательского интерфейса (например, нажатие и перетаскивание) и события запуска (например, создание, удаление и изменение).
Но функция initModel()
, похоже, выдает мне ту же ошибку, что и когда я неИнициализировав его, документация, насколько я вижу, также не дает четкого различия между ними.
После вызова функции initSvg()
вы сможете отобразить нужный блок, вызвав .render()
в вашем рабочем пространстве объект.
источники:
Блочная документация
Документация рабочего пространства