FreeCAD (продолжение)

Автор: Сиратори Каору

Как уже писалось в предыдущем посте на тему, изучаю я эту вещь и могу сказать, что она мне, в целом, нравится. И учение идёт впрок. Во всяком случае, задачу, которая передо мной стояла, я уже знаю, как решить, и это довольно просто. А непонятно с самого начала, как её решать, было, скажем так, из-за путаницы с терминологией. Сейчас поясню.

Как говорится в первых же словах описания, FreeCAD — это программа параметрического моделирования. То есть всё, что я намоделирую, будет описано некоей системой параметров, которые я могу затем изменять — и моя модель будет согласованно меняться. Прекрасно! Именно то, кто надо. Но вот гляжу я на ту коробочку, которую мне хочется ну совсем только чуть-чуть изменить — и не могу сделать с ней ровным счётом ничего. Как так?

А очень просто. Чтобы что-то менять в модели, необходимо и достаточно чтобы модель эта была так называемым параметрическим объектом. А та модель, которой мне довелось прибарахлиться таковым не была. И вот здесь и заключается путаница. Как объяснил мне в комментариях т. Мигачёв,

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

Что, скажем так, не вполне соответствует действительности. По данной им ссылке, правда, даётся несколько расширенное толкование, но всё равно ориентированное исключительно на другую программу, SolveSpace, которую товарищ мне настоятельно и рекомендовал. Но вот сейчас, почитав и про FreeCAD, и про SolveSpace, могу с уверенностью сказать, что рекомендовал он мне её совершенно зря. Потому что разница между ними если и не совсем как между Notepad и Word, то достаточно близко.

Да, так что же такое параметрическое моделирование — именно моделирование, кстати, а не черчение? Это вовсе не «рисуем эскиз, а потом задаём размеры, чтобы получился красивый чертёж». Это, по сути, программирование построения объекта. То есть имеется некий набор параметризованных геометрических преобразований, и мы задаём последовательность этих преобразований, которая в конечном итоге и даёт нам требуемый объект. Иными словами, параметрический объект — это не геометрическое тело со всеми указанными размерами и углами, а программа построения этого тела. И если мы меняем впоследствии какие-то параметры, эта программа просто выполняется опять, давая нам новый, изменённый результат.

И это, почему мне не удалось ничего изменить в исходном объекте. Он НЕ БЫЛ параметрическим. Он был экспортирован из другой программы (SOLIDWORKS, платной) в общем для всех приличных CAD формате STEP, в котором сохраняется как раз именно только конечная геометрия, а вовсе не программа построения этой геометрии. (Потому, вероятно, что набор преобразований, поддерживаемый различными программами моделирования, никак не стандартизован и для разных программ разный. Они друг друга просто не поймут.)

К счастью, FreeCAD, хоть и не может менять параметры вот такого импортированного непараметрического объекта, но зато может использовать его в качестве основы для дальнейших преобразований. То есть что мне требуется, это разрезать модель на кусочки, часть выкинуть, а оставшиеся склеить по новой. Что, в принципе, можно было бы сделать и в SolveSpace, но далеко не столь просто — поскольку предлагаемый там набор преобразований, мягко говоря, убог. И, повторюсь, только в принципе — если бы она умела читать STEP-файлы. А она хоть и пытается это делать, но тут же жалуется, что ничего у неё не выходит. И, похоже на то, что она вообще не в состоянии читать ничего, кроме своего собственного творчества.

Ну а сейчас немного о том, что представляет из себя FreeCAD — для тех, кто, возможно, тоже захочет его освоить и иначе тоже будет поначалу мыкаться, как слепой котёнок.

В основе программы лежит своего рода геометрический движок Open CASCADE (Computer Aided Software for Computer Aided Design and Engineering), используемый также ещё в нескольких других CAD-системах. У него насколько можно понять, есть свой собственный набор геометрических примитивов, вероятно, достаточно хорошо продуманный. Но это не то, с чем будет работать пользователь FreeCAD. Последнему предоставляется некоторый набор «инстументов», являющихся тему самыми параметризованными преобразованиями. И создаваемая нами программа построения нашей конечной модели — это последовательность применения этих инструментов с соответствующими параметрами.

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

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

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

Короче, ничего особо сложного в этих CAD нет. Любой не совсем идиот может освоить за несколько дней, а если не лениться, то и часов.

+65
171

0 комментариев, по

3 542 0 592
Наверх Вниз