Для начала нужна информация что чему соответствует, а это должно быть где-то записано. Логичнее всего в базе. То бишь нужна параметризация материалов. Представляется механизм реализации такой - использовать операции как параметры, назначать их либо на группы материалов, либо на конкретный материал. Ну а дальше уже скрипт - замена материала влечет замену связанных материалов по этим параметрам. Вопрос - может ли скрипт обращаться к базе и получать назначенные материалу операции, и наоборот сможет ли скрипт по набору параметров выбрать материал в базе?
Собственно вот
реализация , минус такого решения - система сама автоматом выбирает подходящий материал (кромку, фурнитуру) - заменить уже волевым усилием не получится.