Я начинал с Google SketchUp из-за его интуитивной простоты в освоении. Испытал этот тезис на дочери 10лет, она освоила моделирование в нем за 15мин. Сама смоделила и я ей потом напечатал несколько предметов. Все за один вечер. У него есть бесплатная версия.
Затем я пробовал Shapr3D (http://shapr3d.com/) - он подкупил опять же простотой и тем что он единственный нормально позволяет создавать модели прямо на iPad (есть бета версия и для Мака). Очень приятная в работе штука, но работает по платной подписке.
Другой вариант который многие советуют это Autodesk Fusion 360. Это конечно вещь крутая. Помимо всего прочего, в отличие от Shapr3D, он умеет моделировать в режиме скульптора - когда ты просто вылепливаешь фигуру вытягивая или вжимая в нужных местах. Можно например объемную скульптуру вылепить из кубика какого-нибудь. Он тоже платный, но вроде для Windows существует бесплатная версия. Я пользовался только платной версией для Мака. Там есть несколько дней на пощупать.
Можно использовать любой 3D редактор. Главное что от него требуется это построить модель у которой соблюдается ряд условий и должна быть возможность сохранить результат в .stl формате. Формате, с которым работают 3D принтеры.
Ряд условий которые должны выполняться для модели это:
В 3D моделировании у любой грани есть внутренняя и внешняя стороны.
Правильно построенная модель это такая, у которой ни при каких условиях не видны внутренние поверхности. Например куб должен быть построен так чтобы все его внешние грани состояли из "внешних" поверхностей. Если это не так, можно применить инверсию граней. Как правило эта возможность существует во всех 3D редакторах, или это делается автоматически при создании модели (как это делает Shapr3D). Если нашему кубу сделать дыру в боку, то через нее будут видны его внутренние стенки которые состоят из "внутрених" поверхностей. Такой куб уже не является "целой" фигурой. Или скажем простая плоскость - тоже не является целой фигурой, так как у нее одна поверхность будет внутренняя.
Перед печатью выполняется слайсинг модели. Входным форматом для слайсинга, как правило, является вышеупомянутый .stl. Результат слайсинга уже отправляется на принтер.
Как правило, основные производители принтеров снабжают их своими собственными программами для слайсинга или рекомендуют использовать популярные программы вроде Cura и др.
Слайсинг это по сути разрезка модели на слои с генерацией кода для принтера как эти слои печатать. Слайсинг требует особых навыков и этому тоже нужно научиться. Там огромное количество параметров, которые описывают толщину слоев, рисунок и плотность их заполнения, температуру сопла и поверхности стола, виды используемых поддержек для нависающих частей модели и т.д.
Но существует много готовых профилей для слайсера, которые выставляют нужные параметры для известных типов пластиков. Их тоже либо поставляют производители принтеров к своему слайсеру или можно найти в сети, в сообществах любителей 3D печати.
Blender уже упомянули.
Ещё есть FreeCAD. Говорят что он "слизан" с CATIA. В освоении не прост, но если разобраться - то можно собирать сложные детали. Присутствует параметрика.
Вот один из развитых каналов по FreeCAD на ютубе.