Показать сообщение отдельно
Старый 20.11.2017, 14:34   #53
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Sergenald Посмотреть сообщение
И так вопрос: как скрыть блок?
Вот первый попавшийся способ:

Скрытый текст

Код:
/**Имя блока. Желательно уникальное */
const blockName = 'My_script_block_#_1';
var b = BeginBlock(blockName);
AddVertPanel(0,0,1000,1000,0);
EndBlock();
//Сохраняем блок в модель
Action.Commit();
//Идем по всем объектам модели и ищем наш блок
Model.forEach((obj)=>{
    // Если имена совпадают, то это наш объект.
    // При наличии нескольких объектов с этим именем
    // в переменную b запишется последний найденный
    if (obj.Name === blockName){
        b = obj;
    }
})
// Делаем объект невидимым
b.Visible = false;
//Если заданное уникальное имя не нравится, меняем на то, 
// которое должно быть.
b.Name = 'Block_1'
[свернуть]


UPD: При сохранении объектов, созданных в скрипте, сохраняются только видимые, а все невидимые удаляются (причем так только у корневых объектов. Панель в блоке можно делать невидимой и до сохранения). Поэтому созданный блок прекрасно делался невидимым а по завершении скрипта он не переносился в модель и удалялся.

Последний раз редактировалось Letos; 20.11.2017 в 14:42. Причина: UPD
Letos вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
djobik (21.11.2017), maxgmv (21.11.2017), Ovsyanicov (20.11.2017), Sergenald (22.11.2017), v.bolshakov (08.10.2019)