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

Цитата:
Сообщение от DevDemi Посмотреть сообщение
Можно ли с помощью скрипта разрушить существующий блок?
Написал небольшую функцию, которая разрушает блок вне зависимости от того, был он создан скриптом, или существовал до запуска скрипта:

PHP код:
// Аналог команды "Разрушить блок"
function DestroyBlock(block){
    
// Если блок - Модель, то ничего не делаем, иначе посыпятся аксессы
    
if (block == Model)
        return; 
    
// Флаг, создан ли блок скриптом (находится во временной области модели)
    
var blockIsScript block.IsOwner(Model.Temp);
    
Undo.Changing(block);
    for (var 
0block.Counti++){
        var 
obj block.Objects[i];
        
//Если не скриптовый блок, сохраняем изменения объекта в истории вручную
        
if (!blockIsScript){
            
Undo.Changing(obj);
            
Undo.OwnerChanging(obj);            
        }
        
obj.ReTransform(obj.Ownerblock.Owner);
        
obj.Owner block.Owner;
    }
    
DeleteObject(block);

Letos вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
DevDemi (26.06.2019), Ovsyanicov (10.06.2019), rysla._ua (25.04.2023), v22884 (17.06.2019), АлКузнецов (01.03.2020)