Цитата:
Сообщение от Ozimko
а скриптом - работает, там учитывается именно периметр пластика. Спасибо.
|
Уточнённый скрипт, уменьшающий лишний периметр панелей с нанесённой облицовкой из того же материала, что и основная панель:
Код:
n = Panel.Plastics.Count; // Выясняем, сколько слоёв облицовки пласти на панели
a = 0; // Переменная для подсчёта слоёв пласти из материала совпадающего с материалом основной панели
Result = 0; // Присваиваем результату параметра результат по умолчанию 0
i = 0; // Переменная для перебора слоёв пласти панели
while (i < n) { // Проверяем есть ли облицовка пласти на панели, если есть, перебираем по очереди все слои пласти
if (Panel.Plastics[i].Material == Panel.MaterialName) { // Проверяем, совпадает ли материал основной панели с текущим слоем облицовки пласти
a++; // Если совпадает, то засчитываем этот слой
}
i++;
}
if (a>0) { // Проверяем, облицована ли панель вторым слоем из того же материала
Result = GetParam('(19)Периметр заготовки') / (a+1) ; // Если облицована, т.е. панель "срощена", то для верного вычисления периметра панели, делим результат на количество слоёв из проверяемого материала, т.к. вычисление будет вызывать столько раз, сколько слоёв указанного материала есть в данной панели
}