FreeCAD — параметрический 3d CAD-редактор с открытым исходным кодом (т. е. бесплатная программа).
FreeCAD активно развивается и, похоже, скоро сможет стать заменой профессиональным платным CAD-программам типа AutoCAD для подавляющего большинства случаев.

Масштабирование (scale) 3д-объектов во FreeCAD

Александр » 26 дек 2019, 21:02

Во FreeCAD однозначно не написано в документации про инструмент масштабирования.
Но он есть в верстаке Draft → Draft Scale (https://freecadweb.org/wiki/Draft_Scale).
Этот инструмент позволяет создавать копии или клоны не только 2D-Draft объектов, но и многих относительно сложных объектов, созданных в верстаках Part и PartDesign.
3д-объекты из Part и PartDesign могут быть скопированы или клонированы в процессе мастабирования, но опция "Модифицировать оригинал" к ним не применима (по крайней мере в текущей версии 0.18).

Тема: FreeCAD - изменение размера тела, масштабирование, 3d-масштабирование.
Александр
 
Сообщения: 397
Зарегистрирован: 20 мар 2014, 17:05

Re: Масштабирование (scale) 3д-объектов во FreeCAD

Александр » 22 фев 2020, 13:41

Суть проблемы масштабирования объектов в САПР FreeCAD на текущий момент в версиях до 0.19 включительно.

Иногда при работе во FreeCAD может возникнуть желание выполнить масштабирование какого-нибудь объекта, скомпанованного из разных тел, с примененными еще к ним модификациями.
И тут сталкиваешься с тем, что в верстаках Part и PartDesign просто нет такой, казалось бы первоочередной функции.
Возникает вопрос: "Почему?" Если коротко, то где-то видел объяснение на английском форуме, что на самом деле такая необходимость в масштабировании всего объекта в целом может возникнуть, очень редко, и это удел новичков в САПР.
К тому же, FreeCAD только развивающаяся программа, по всей видимости, реализация корректного масштабирования комплексных объектов – непростая задача. FreeCAD ведь – параметрическая САПР, а в PartDesign, к тому же, тела в основном из скетчей формируются с последующим применением к ним так называемых features (параметрических модификаций).
В дискуссиях на английском форуме, что я изучал, разработчики дают понять, что, если Вы по-серьёзному работаете, то для масштабирования объекта редактирование скетча и редактирования примененных далее по цепочке, параметризованных оперций, Вам должно вполне хватить.
А если у Вас всё-таки желание разом всё сразу отмасштабировать, то проще воспользоваться может другой программной, которая тупо возьмет ваш импортированный файл в каком-нибудь STEP-формате и всё в нем разом отресайзит, чем заставлять постоянно "думающий", поддерживающий дерево модификаций FreeCAD напрягаться и обсчитывать взаимодействие всех параметров.
(Повторюсь, такая необходимость ну когда может возникнуть.. ну например, вы делаете форму для отливки чего-то и усадку материала не рассчитали, или делаете модель для 3d-печати). Например в случае 3d-печати, если вы делаете STL-модель, так ведь в 3d-принтерах всё-равно есть функция масштабирования.
Если же у Вас желание отмасштабировать не всю модель сразу, а её часть, то тут задача ещё более сложная. Здесь в игру вступает такое понятие как «Topological naming problem (Проблема топологических наименований)» https://www.freecadweb.org/wiki/Topolog ... ng_problem. Статья на английском, вкратце речь о том, что при изменении отдельных элементов могут происходить образования или удаления субэлементов например граней, и на данный момент не решена проблема внутри FreeCAD (и многих других САПР) корректного отслеживания что стало чем после операции, то есть, например может произойти непонятная пользователю внутренняя перестановка идентификаторов вершин, рёбер, граней, и если в свою очередь, на базе какой-то грани был создан другой объект, то он может неожиданно съехать куда-то в непонятном направлении.. Наверное лучше я сделаю отдельное видео по теме «Topological naming problem».
Upd Отдельная тема Во многих САПР и во FreeCAD в частности, иногда модели ломаются — Topological naming problem (Проблема топологических наименований).

Так вот, масштабирование 3d-объектов напрямую во FreeCAD (оговорюсь, без каких-то сторонних плагинов) возможно только если эти объекты не параметризованные. Если же объект параметризованный (а в большинстве случаев мы работаем как-раз с параметризованными объектами, созданные в верстаках Part, PartDesign), то на данный момент, нет возможности напрямую масштабировать параметризованные объекты! Максимум, Вы сможете создать отмасштабированные копию или клон этого объекта. Полученные клон или копия будут представлять собой единое твердое тело без каких-то составляющих и их параметров. Думаю, разницу особо объяснять не нужно между клоном и копией, просто говоря клон после создания меняется при изменении исходного объекта, а копия не зависит от исходного объекта. У самого этого тела будет только набор стандартных параметров (положение и т. п.) У клона будет ещё один специфический параметр – масштаб, его Вы сможете менять в панели свойств объекта на вкладке "Data".
Сам инструмент масштабирования "Scale" изначально доступен в верстаке "Draft". Но это не говорит о том, что он работает только с 2D-Draft объектами.
Этот инструмент работает с объектами типа Part, а во freeCAD практически все объекты, включая 2D-объекты наследуют от класса Part:
FreeCAD classes scheme
поэтому не удивительно, что этот инструмент работает со всеми типами объектов.
То что кнопка "Scale" изначально доступна в верстаке "Draft" – это условность. Если вдруг (не знаю в каких случаях может возникнуть такая необходимость), Вам нужно часто пользоваться инструментом "Scale", то можно немного кастомизировать панель инструментов и сделать так чтобы инструмент "Scale" отображался в любом верстаке или даже во всех верстаках сразу.
Кстати, в онлайн документации к инструменту Draft→Scale так и написано:
Modify original. The original object will have its size modified. This will only work with Draft objects and non-parametric Part shapes.
Create a copy. A scaled copy of the original object will be created. This will work for all object types, but only the copies of Draft objects will be parametric.
Note: a copy is a completely different object from the original shape; it will be created at the specified scale, and then will have its own set of properties. On the other hand, a Draft Clone is linked to the original shape and the only property that can be changed is the scale.

Хочу сказать, что в версиях 0.18 0.19 опция копирования с параметризованными объектами работает плохо, клонирование работает.
Александр
 
Сообщения: 397
Зарегистрирован: 20 мар 2014, 17:05

Re: Масштабирование (scale) 3д-объектов во FreeCAD

Александр » 18 мар 2020, 21:28

Сделал видео по теме «масштабирование объектов во FreeCAD» для сайта freecad-gost.ru.
Думаю, здесь оно тоже нужно.

Topological naming problem: https://youtu.be/V1Viqgn3_W8?t=169
Что поддаётся масштабированию: https://youtu.be/V1Viqgn3_W8?t=275
Создаём простую модель в Part: https://youtu.be/V1Viqgn3_W8?t=349
Об инструменте Draft -> Scale: https://youtu.be/V1Viqgn3_W8?t=402
Кастомизация панели инструментов во FreeCAD: https://youtu.be/V1Viqgn3_W8?t=499
Пробуем работу с Draft -> Scale: https://youtu.be/V1Viqgn3_W8?t=573
Александр
 
Сообщения: 397
Зарегистрирован: 20 мар 2014, 17:05


Вернуться в FreeCAD