Пробуем внести конструкцию двери с помощью генератора. Для примера: у металлической двери есть наружная и внутрення накладка, а также наличники. Детали наличника: горизонтальный, левый, правый и прямой наличник. Взависимости от открывания двери: Левое или правое, добавляются детали. Например при левом открывании должны добавлятся детали левый, прямой и горизонтальный наличник, для правого открывания - правый, прямой и горизонтальный наличник.
Были внесены параметры:
- Ширина левого наличника
- Ширина правого наличника
- Ширина горизонтального наличника
- Открывание двери
- Зарезка наличника
Сложность заключается в определении размеров:
1. Для прямого наличника, если открывание двери левое, то размер ширины должен браться из параметра "Ширина правого наличника", если открывание правое, то "Ширина левого наличника", очень не хватает в формулах добавления параметра типа ListString либо использования vgb_Operator для того чтобы в зависимости от выбранных параметров использовалась определенная формула расчета.
2. Для вертикальны наличников его длины. Например, если зарезка вертикальная, тогда к размеру левого/правого и прямого наличника необходимо прибавить ширину горизонтального наличника. Если зарезка наличников горизонтальная, то для определения длины горизонтального наличника необходимо прибавить ширину правого и левого наличника. Также очень не хватает в формулах добавления параметра типа ListString.
Временное решение возможно, использование параметр числовой. Например: Открывание (0- левое, 1 - правое), тогда проблема решается, но это простой пример использования. Дальше еще сложнее, так как это пример пока простой. Необходимо помимо проверки условий и спользовать логическо И, ИЛИ и НЕ (которого к сожалению нет. Без него конечно можно обойтись, но увеличивает объем условия.)
3. Создали генераторы для каждой детали, поместили их в генератор верхнего уровня. Т.е. у нас генератор с вложенными генераторами деталей. В технологии прописали формулы для опеределения размеров. Так вот, эти формулы подставились в дочерние генераторы. При использовании их в других генераторах формула редактируется для всех. Как можно обойти это ограничение.
4. Например в дверной накладки есть филенка. Она может иметь очень много параметров. Например, размеры. Используемый ресунок, вид фигарейного поля. Например создали генератор/шаблон. И хотим добавить его в общий генератор обкладки генератора. Количество таких филенок может быть 2 - 8 в одной накладки, и для опеределения их размеров существует формулы. Как нам поступить в данной ситуации, ведь формулы будут добавлятся в генератору детали? Если что не понятно, не судите. Спасибо за внимание.
Были внесены параметры:
- Ширина левого наличника
- Ширина правого наличника
- Ширина горизонтального наличника
- Открывание двери
- Зарезка наличника
Сложность заключается в определении размеров:
1. Для прямого наличника, если открывание двери левое, то размер ширины должен браться из параметра "Ширина правого наличника", если открывание правое, то "Ширина левого наличника", очень не хватает в формулах добавления параметра типа ListString либо использования vgb_Operator для того чтобы в зависимости от выбранных параметров использовалась определенная формула расчета.
2. Для вертикальны наличников его длины. Например, если зарезка вертикальная, тогда к размеру левого/правого и прямого наличника необходимо прибавить ширину горизонтального наличника. Если зарезка наличников горизонтальная, то для определения длины горизонтального наличника необходимо прибавить ширину правого и левого наличника. Также очень не хватает в формулах добавления параметра типа ListString.
Временное решение возможно, использование параметр числовой. Например: Открывание (0- левое, 1 - правое), тогда проблема решается, но это простой пример использования. Дальше еще сложнее, так как это пример пока простой. Необходимо помимо проверки условий и спользовать логическо И, ИЛИ и НЕ (которого к сожалению нет. Без него конечно можно обойтись, но увеличивает объем условия.)
3. Создали генераторы для каждой детали, поместили их в генератор верхнего уровня. Т.е. у нас генератор с вложенными генераторами деталей. В технологии прописали формулы для опеределения размеров. Так вот, эти формулы подставились в дочерние генераторы. При использовании их в других генераторах формула редактируется для всех. Как можно обойти это ограничение.
4. Например в дверной накладки есть филенка. Она может иметь очень много параметров. Например, размеры. Используемый ресунок, вид фигарейного поля. Например создали генератор/шаблон. И хотим добавить его в общий генератор обкладки генератора. Количество таких филенок может быть 2 - 8 в одной накладки, и для опеределения их размеров существует формулы. Как нам поступить в данной ситуации, ведь формулы будут добавлятся в генератору детали? Если что не понятно, не судите. Спасибо за внимание.