Заказ звонка

Закрыть

*
*
*

Генератор

Страницы: Пред. 1 2 3 4 5 6 ... 8 След.
RSS
Генератор
Ну тут, чтобы объяснить, придётся немного углубиться в теорию…

Терминология

Базовое понятие для Генератора – это «Шаблон».
Шаблон – это номенклатурная позиция, представляющая собой «образец» типовой детали или сборочной единицы. У неё могут быть одно или несколько описаний: спецификация, техпроцесс и т.п. Всё это вместе (номенклатура и её описания) называется «шаблоном».

Генератор создаёт по шаблону новую номенклатуру (деталь или сборочную единицу) и для этой новой номенклатуры создаёт соответствующие описания (спецификацию, техпроцесс и т.п.). По аналогии с теми описаниями, которые сделаны для шаблона.

При этом в получившуюся спецификацию или технологию может попасть не всё, что есть в шаблоне, а только часть – то, что нужно конкретно в данном случае. Здесь используется тот же принцип, что и в Конфигураторе (опциональные компоненты).

Шаблон может содержать вложенные шаблоны. Например, деталь, указанная в спецификации в шаблоне сборочной единицы, может сама по себе являться шаблоном.
Что в этом случае происходит?
В этом случае будет создана сборочная единица, для неё создана спецификация, а в эту спецификацию будет вставлена деталь, которая при этом сама в свою очередь предварительно будет создана по шаблону соответствующей детали.


Характеристики, которые определяет пользователь


Задаются с помощью параметров номенклатуры в шаблоне. Такие параметры добавляются к номенклатуре шаблона, как подчинённые к специальному параметру CFG. Эти параметры могут использоваться, как «конфигурационные» (для выбора, что из шаблона брать), а также в формулах, чтобы используя заданные значения параметров вычислять значения каких-то других параметров или количество.


Формулы

В шаблоне можно задавать формулы для вычисления значений:
- параметров для создаваемой детали (сборочной единицы);
- параметров в спецификации или техпроцессе (например, Тшт)
- количества для компонентов в спецификации или техпроцессе (например кол-во деталей в спецификации или норма расхода материала в ТП).

В этом случае Генератор, создавая новую номенклатуру, спецификацию или техпроцесс, попытается вычислить по этим формулам значение соответствующих параметров или количеств.


Как правильно составлять формулы

В формулах можно использовать числа, параметры, количество, а также различные математические выражения (скобки, степень и т.д.)

При этом действуют некоторые ограничения. Например:
- используемые в формулах параметры должны быть типа Integer или Float (числа);
- пользователь должен сам следить при составлении формулы, чтобы значения используемых параметров вводились или вычислялись до того, как эти параметры будут задействованы в формуле (при «многоступенчатых» вычислениях, когда при вычислении параметра «b» используется параметр «a», при вычислении параметра «c» используется параметр «b» и т.п.).

Что касается используемых в формулах параметров, то тут есть тонкость. Могут использоваться параметры шаблона и параметры номенклатуры.

В чём разница?
Параметры шаблона - это те параметры, значение которых задаётся или вычисляется непосредственно при работе Генератора. Например длина создаваемой детали.

Параметры номенклатуры – это «статические» параметры, значение для которых уже изначально где-то в справочнике задано, и просто берётся при расчёте. Например, заданный в справочнике удельный вес для материала.

И вот тут мы подошло к самому главному моменту:
Если вы используете в формуле параметры шаблона, то они должны относиться только к этому же шаблону.

Например, если вы используете в техпроцессе детали в формуле какой-то параметр, значение которого появляется уже в процессе работы Генератора, то этот параметр должен в шаблоне либо относиться к самой этой детали, либо содержаться где-то в её описаниях (технологии). Нельзя в такой ситуации задействовать для вычисления параметры из других шаблонов.
Точнее задействовать то можно, но все параметры, взятые в формулу «снаружи» шаблона, программа будет воспринимать не как параметры шаблона, а как параметры номенклатуры.

Связано такое ограничение с тем, что каждый шаблон самодостаточен. Т.е. по шаблону детали генерировать деталь не обязательно только в составе сборки, а можно и саму по себе отдельно одну деталь, без контекста.


Теперь к вопросу о «глобальных параметрах».
Понятно, что может быть какой-то параметр, один влияющий на много разных деталей. А у каждой детали свой отдельный шаблон. И внутри шаблона можно использовать только параметры этого же шаблона.
Специально для таких случаев в Генераторе сделана опция "Использовать ранее введённые параметры".
Суть в следующем. Предположим есть параметр L. Он есть у кучи деталей, но это по существу одно и то же. В этом случае, если включена опция "использовать ранее введённые параметры", то если мы генерируем сразу много таких разных деталей в составе изделия, то достаточно будет 1 раз ввести значение L, например 1000, и дальше для всех деталей, в шаблонах которых указано L, будет сразу подставляться L=1000.

Применительно к вашему примеры, как правильно сделать:

1. Заводим шаблон сборочной единицы «Створка». В нём для номенклатуры «створка» заводим задаваемый пользователем параметр L0.
2. Заводим спецификацию в шаблоне «створка», в неё вставляем деталь «полотно», которая сама по себе тоже является шаблоном.
3. В шаблоне детали «Полотно» заводим такой же задаваемый пользователем параметр номенклатуры L0.
4. В шаблоне технологии детали «полотно» составляем формулы. При этом L0 для формулы в техпроцессе детали-шаблона "полотно" берём из параметров самой детали «полотно».

И всё. Потом запускаем конфигуратор. Опция «Использовать ранее введённые параметры» в Генераторе должна быть включена. И всё получится.

Вот как то так...
О! Спасибо!!! Буду пробовать - вся ночь впереди ))))
пара общих советов:

1. Задавать обозначения для "шаблонов" большого смысла не имеет. Разве, если только вам самим так удобнее. Поскольку обозначения уникальны (не могут повторяться), при генерации по шаблону новых деталей, всё равно для каждой новой детали надо будет задавать своё, новое обозначение.

2. При редактировании формул используйте в качестве разделителя в дробных числах точку, а не запятую. Конкретно сейчас это не важно, но после некоторых доработок, которые планируются, в качестве разделителя будет обязательно только точка (будут добавляться новые функции, в которых используются запятые). В общем, лучше сразу писать дробные числа в формулах через точку.
В принципе все получилось, но есть вопросы smile:)
Составил изделие из нескольких деталей. В генераторе ввел значение и нажал "ок", в левом верхнем окне появились наименования входящих в изделие деталей, выбирал по очереди все детали и нажимал "ок". Только в этом случае изделие полностью рассчиталось с новыми значениями.
Вчера я об этом не подумал, поэтому у меня ничего и не вышло.
Поочередный запуск расчета в ручном режиме - это так задумано или в дальнейшем достаточно будет одного нажатия на "ок" для всех деталей-шаблонов?
Изменено: Валерий - 10.10.2014 20:38:00
Это так задумано.

Слева показывается список изделий, созданных/создаваемых по шаблонам. Если изделие большое и сложное, то в процессе работы список этот может пополняться, т.к. при создании спецификации какого-нибудь очередного узла могут появится созданные для него по шаблонам новые компоненты и т.д.

Когда вы встаёте на компонент, внизу показываются параметры соответствующего изделия. Вы можете их задать, изменить или просто подтвердить (нажать Ок). После этого для соответствующего компонента создаётся спецификация, техпроцесс и т.п. (что там у него прописано в шаблоне). Для возможности контроля то, что получилось, показывается справа.

Те изделия, для которых ещё не задали/не подтвердили параметры, помечаются в списке значком "?".

Так задумано.
Программа показывает, что она собирается создавать (какую деталь, сборочную единицу и т.п.), показывает какие у неё характеристики, пользователь смотрит, если надо изменяет, если согласен, то нажимает Ок и всё создаётся.

Насчёт убрать необходимость подтверждения - идея понятна, но вопрос спорный.

С одной стороны, как бы, если значения для всех параметров изделия уже заранее заданы, может быть, можно и сразу генерировать, "Ок" не ждать. С другой - а что если пользователь хочет изменить значение какого-то определённого параметра, для одной из создаваемых деталей? Сейчас так не запрещается делать. А будет нельзя. Будет сразу, не спрашивая, молчком всё создаваться, и уже ничего не поменяешь, если захочешь. Только всё по новой.

В общем, возьмём на заметку. Но как лучше сделать, пока не уверен.
1.png (131.69 КБ) [ Скачать ]
Все верно, но удобнее, на мой взгляд, вывести сразу все параметры (созданные по шаблону) на экран, чтобы пользователь выбрал нужные, ввел необходимые данные и подтвердил изменения. Если изменяемых деталей десятки, а для этого изделия необходимо изменить только последнюю, то последовательный перебор может затянуться
Была такая идея на стадии разработки.
Сделать одну большую таблицу в стиле "Номенклатура, параметр, значение".
И сразу всё, что есть, в неё высыпать.
Но потом отказались. Решили, что не наглядно будет.

Так, как сейчас, хотя бы видно спецификацию, кто в кого входит, для какой именно детали ты вводишь параметры. Эскиз можно приладить поясняющий, какой параметр что значит.
А с большой таблицей, подумали, высыплется 20 деталей с одинаковым названием (вперемешку с другими деталями ещё) плюс для каждой по 4-5 строчек с параметрами. Как там разбираться, кто есть кто, куда что вводить?

В итоге отказались в пользу варианта, как сейчас.
Тот остался "под сукном". Будет время, может быть, подумаем о его возрождении. Или, может, ещё что-нибудь придумаем.
Хорошо, когда идей много smile:)
Собрал первое крупное изделие при помощи генератора. Все супер!
И мое предложение сделать одну кнопку "Ок" на все сразу, наверное, лишнее. Можно выбирать из большого числа деталей, что нужно менять, а что оставить без изменений.
Если бы генератор умел исполнения присваивать - вообще цены бы не было smile:)
Заработало! smile:)
Даже документации не понадобилось.
Но написать надо будет, всё равно...

Про исполнения - это, я так понимаю, речь идёт о присвоении обозначений создаваемым деталям и сборочным единицам.

Там есть нюанс.
Если пытаться присваивать номера исполнений, как порядковые номера, как в ЕСКД, то есть у меня ощущение, что работать это будет медленно и не факт, что корректно. Слишком ненадёжная конструкция получится (программа, которая будет определять какие исполнения у данной детали уже есть, и какой сейчас нужно присваивать номер).
Кроме того такой строгий порядок последовательной нумерации исполнений, по моему, лишён смысла в данном случае, если принять во внимание идеологические предпосылки использования генератора (создание новых деталей "на 1 раз", которые далеко не факт, что именно эти же вообще хоть когда-нибудь ещё где-нибудь понадобятся).

Другое дело, если обозначать исполнения не порядковыми номерами через тире по количеству существующих исполнений детали, а каким-нибудь суффиксом. Например, у всех деталей, которые созданы для определённого заказа, исполнение детали называется "ххх.ххх.ххх-<номер заказа>". При такой системе - понятно, как это всё работать будет, и всё вполне логично получается.

В текущей версии Генератора предусмотрены следующие варианты присвоения обозначений для вновь созданных деталей и сборочных единиц:

1. Вводится вручную.

2. По шаблону: некая постоянная часть (вводится пользователем) + порядковый номер. Чтобы "генерируемые" компоненты заказа имели, например, обозначение типа "заказ_ххх-1", "заказ_ххх-2" и т.д.

3. Аналогично п.2, только вместо порядкового номера ставится уникальный код (6 и более цифр). В этом случае "постоянная часть" не обязана быть уникальной.

4. Просто уникальный код, генерируемый программой (6 и более цифр).

Теоретически можно подумать над тем, чтобы сюда добавить ещё один вариант: брать обозначения, которые заданы для шаблонов, и к ним в конец приписывать какое-то общее "окончание", которое вводит пользователь. По такому же принципу, как вот эта утилита делает. Но тут надо думать, как все эти варианты совместить в плане пользовательского интерфейса.
Страницы: Пред. 1 2 3 4 5 6 ... 8 След.
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)