FAQ - BazisSoft/Scripts GitHub Wiki

Работа с моделью

Работа с панелями

Работа с материалами в модели


Работа с моделью

Как отобразить структуру модели?

function AddItems(List, Property) {
  for (var k = 0; k < List.Count; ++k) {
    Obj = List.Objects[k];
    var ObjProp = Property.NewGroup(Obj.Name);
    ObjProp.TagObject = Obj;
    ObjProp.OnActivate = function(Prop) { Model.Selected = Prop.TagObject; }
    if (Obj.List) {
        AddItems(Obj, ObjProp);
    }
  }
}
AddItems(Model, Action.Properties);
Action.Continue();  

Как добраться до параметров изделия: Заказа, Наименования, Артикула?

with (Action.Control.Owner.Article) { 
  system.log('Заказ: '        + OrderName); 
  system.log('Наименование: ' + Name); 
  system.log('Артикул: '      + Code); 
};  

Как назначить панели или блоку пользовательское свойство?

var Panel = AddPanel(200, 100);
Panel.UserProperty['Вес'] = 2300;

Работа с панелями

Как назначит ориентацию текстуры панели?

var Panel = AddPanel(200, 100);
Panel.TextureOrientation = TextureOrientation.Vertical
или Panel.TextureOrientation = TextureOrientation.Horizontal

Работа с материалами в модели

Как получить список материалов в модели?

var Materials = Action.DS.MtList.Values.ToArray(); 
for (var k = 0; k < Materials.length; ++k) 
  if (Model.IsMaterialUse(Materials[k])) { 
    system.log(Materials[k].MaterialName); 
  }  

Как назначить цвет материалу панели?

function MakeColor(red, green, blue) {
  return red + green * 256 + blue * 65536;
}

var Material = AddPanel(200, 100).Material;
Material.ColorUse = true;
Material.Color = MakeColor(0, 0, 255);