понедельник, 22 июня 2015 г.

Два метода, две дороги.

Сегодня хочу обсудить два метода в конструировании лекал. Думаю эта тема будет интересна тем, кто только начинает интересоваться созданием лекал. Те же кто в теме, возможно, захотят выразить свои мысли на это счет.

Хочу сразу предупредить, что моей целью не является показать что выбранный нами способ лучше или превосходит конкурирующий. Идеала не существует, а скорее прояснить ситуацию. И да, немножко его защитить.

В чем же причина? И от чего мы защищаемся? В мире всегда есть несколько способов сделать что то. Создание лекал не исключение. И если мы развиваем open source проект, это не значит, что нету альтернативных. И сегодня я говорю о sodaCAD.

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

Женщина из Англии, автор этой программы sodaCAD, прокомментировала в своей статье "разницу" между ее подходом и нашим. Я привел ссылку для тех, кто хочет почитать в оригинале, переводить не стану.

Давайте взглянем какой метод избрала она на мой взгляд.

Судя по ее словом этот метод более популярный в индустрии, особенно маспошива. Все гиганты легкой промышленности используют именно его. Основа этого принципа взята из архитектуры или машиностроения. Где у вас есть удобные инструменты для черчения, которые нам любезно подпилили разработчики этих программ. Сделав черчение одного размера комфортней. Это как заточенный под черчение лекал Inkscape. Пример привел для большей наглядности. Те, кто используют Inkscape, поймут меня.

Что бы соответствовать здесь sodaCAD базируется на кодовой базе libreCAD. Open source во всей его красе. Тем же путем, как я уже сказал, пошли многие производители машиностроительных и архитектурных CAD программ.

Но конечно же это не все. Основной упор делается на то, что таким образом сначала мы делаем "идеальные" лекала под один размер и добавляем их в базу. После этого вытягиваем эти шаблоны и на базе их делаем новые модели, уже как бы не заботясь о расчетах, и не строя с нуля. О градации она в своей статьи написала буквально одну строчку, пояснив что же это такое. А как она делается? Вот что меня интересует. Скорее всего перетягиванием точек, или лучевым методом. Так это же нивелирует все плюсы предыдущего этапа! Мы пытаемся избежать рутины и снова возвращаемся к ней.


Признаюсь, не встречал программы которая делает градацию самостоятельно и при этом использует такой метод. На мой взгляд такие программы являются просто чертилками, продвинутыми чертилками, и у них не должно быть полной информации о чертеже для проделывания градации.

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

Очень интересное заключение. Не правда ли? А мне кажется, уважаемая забывает, что хорошие идее иногда можно убить плохим исполнением.

В чем же тогда заключается наш метод?

Для построения наших лекал мы используем классический расчетный метод. И не надо мне говорить, что они его тоже не используют. А где же они берут расчеты для своих "идеальных" образцов? Все равно какой то метод был использован для получения сырых базовых данных. Но мы также потом играемся с прибавками, коэффициентами для получения нужных длин и форм.

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

Моделирование. Понятное дело, моделировать, разбирать и собирать чертеж который состроит из линий, точек и кривых проще, нежели алгоритм, которым является наше лекало. Когда у тебя сильно связный векторный рисунок тебе сложнее вставить что то в середину, не поломав все расчеты. Проще сделать все с нуля. Здесь выходит нужно больше "точек сохранения".

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

Это не значит что нам некуда стремится. Я считаю что есть. Нужно поднять уровень комфорта использования инструментами. Идеалом здесь для нас будут как раз эти самые CAD программы.

Градирование. Камень преткновения. Те кто не использует расчетный метод говорят, что он дает плохие результаты, большие отклонения. И что они сделали? Начали вручную градировать. Избавило это их от ошибок? Не думаю. Я думаю со мной согласятся, что если задачу нельзя решить в лоб значит пришла пора оптимизаций.

Главный тезис  - из одного базового "идеального" размера не возможно расчетным методом градировать много суперских размеров. У меня сомнения что и лучевым можно. И каким бы либо другим. Математика градирования намного сложнее простого симметричного увеличения, уменьшения. Наши тела слишком не стандартны. И хаос стандартов в разных странах будет тому подтверждением.

Так в чем же разница. Бери проверенный размер. Градуируй на ближайшие. Дальше уже градус доверия падает. Значит подправь расчеты и сохрани в отельном файле. Подправить то легче нежели создавать с нуля.

У нас так же есть идеи создать специальный режим где будет показана карта градирования. К примеру что то похожее на это:


Это поможет увидеть как же все таки происходит градация по вашим формулах. Возможно так же стоит добавить некоторые внутреннее тесты что бы контролировать соответствие некоторых длин.

Формат файла. sodaCAD не приходится выдумывать что то свое. Используй себе формат AutoCAD и будет тебе счастье. Плюс в том что такие лекала (рисунки) понимают многие CAD программы, умеют их открывать, редактировать, печатать. Только вот заточен он как раз таки под машиностроительные чертежи. Поэтому они то так и активно продвигают именно такой способ построения. Они все сделали что бы им было удобно пользоваться. 

Вот только не забывайте что формат бинарный и собственнический. Его развивает даже не консорциум производителей. Спецификация закрыта и трудно поддается обратному реверс инжинирингу. А значит ты должен мирится с тем что у тебя есть и добавить что то уже не получится. Иначе ты уже не совместимый со "стандартом".

Поскольку подходящего формата доступного для наших нужд нет. Мы выбрали путь проб и ошибок. И начали создавать свой. Да он не идеальный, да вряд ли будет подходить другим программам. Такого рода данные очень сложно стандартизовать. Поверьте будь у нас альтернатива велосипед никто бы не изобретал.

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

Никто не сдерживает нас от возможности изменений. Наша политика проста. Мы понимаем, что лекала это самое дорогое что у вас есть. Поэтому при выходе новых версий поддерживаем миграцию на новые версии формата. Обратный возврат не поддерживается. Программа распространяется бесплатно, а значит нету причин почему вам стоит сидеть на старой версии.

К сожалению планов по предоставлению отдельной библиотеки для работы с форматом у нас пока нету. Но все может измениться со временем.

В заключение вот что хочется сказать.

Не надо топить людей только потому что они используют другой метод. Традиции еще не показатель. Я постарался показать, что все методы имеют плюсы и минусы и только вам решать что использовать. Главное, что бы вы понимали - все методы не возможно совместить в одной программе. Если вам нужен расчетный метод - милости просим. Если нет, есть куча других проектов, например тот же sodaCAD.

Я желаю что бы все способы были представлены хорошими реализациями, здоровая конкуренция и выбор пойдут всем на пользу.

7 комментариев:

  1. Совершенно логично. Лучше идти своей дорогой и знать, что ты всегда впереди, чем плестись вслед за стадом, осознавая, что ты последний. Начинаю знакомиться с вашей программой. Спасибо, Роман, за статью.

    ОтветитьУдалить
  2. Зачем берем минимальный размер из серии и максимальный. Прокладываем отрезки от минимума до максимума, делим на количество размеров, по точкам деления рисуем промежуточные размеры. Все должно быть не хуже чем в Burda. Вот построение по формулам и переменным это да, над программой все-таки еще работать и работать - меню дуга очень непонятное. Рекомендую ознакомится как это реализовано в Компас и SolidEDGE 2D. На данный момент мне Siemens более удобен, и экспорт в DXF очень нужен. Логику Сименса было легче понять чем Валентину, хотя тоже не так все просто было.

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

    ОтветитьУдалить
  4. Вот только хотела узнать, как добавить "свою" систему построения( с формулами и прочим) поскольку они несколько отличаются в каждой книге - а тут..да пусть они хоть по-бурде шьют! Чего бисер-то перед ними метать. Выбор системы построения в настройках - это главный козырь Валентины. Благодарю за программу

    ОтветитьУдалить
  5. Очень хочется освоить программу! Я работаю на небольшой фабрике по пошиву спецодежды, часто заказчики меняют конструкцию основных моделей, меньше тратить время на изготовление лекал...и градацию.....выводить в натуральную величину..это моя мечта!!!

    ОтветитьУдалить
    Ответы
    1. Специально для такого случая мы начали создавать новую вики: wiki.valentinaproject.org. Там будет доступен перевод на русский язык. Следите за новостями.

      Удалить