惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
S
Security @ Cisco Blogs
S
Secure Thoughts
Attack and Defense Labs
Attack and Defense Labs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recent Commits to openclaw:main
Recent Commits to openclaw:main
H
Hacker News: Front Page
博客园 - 叶小钗
H
Heimdal Security Blog
Microsoft Security Blog
Microsoft Security Blog
Forbes - Security
Forbes - Security
AI
AI
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Troy Hunt's Blog
罗磊的独立博客
Application and Cybersecurity Blog
Application and Cybersecurity Blog
爱范儿
爱范儿
GbyAI
GbyAI
The Last Watchdog
The Last Watchdog
TaoSecurity Blog
TaoSecurity Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
D
DataBreaches.Net
Recent Announcements
Recent Announcements
Schneier on Security
Schneier on Security
C
Cisco Blogs
美团技术团队
D
Docker
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
月光博客
月光博客
雷峰网
雷峰网
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
Arctic Wolf
B
Blog RSS Feed
Cisco Talos Blog
Cisco Talos Blog
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
V2EX - 技术
V2EX - 技术
Y
Y Combinator Blog
N
News and Events Feed by Topic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
W
WeLiveSecurity
Security Archives - TechRepublic
Security Archives - TechRepublic
G
GRAHAM CLULEY
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Hacker News
The Hacker News

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
«Мучаем кубик»: параметрическое проектирование и анализ нагруженности 3D модели (для FDM 3D печати) во FreeCAD
cnet · 2026-06-23 · via Все публикации подряд на Хабре

В одной из прошлых статей мы рассмотрели такой интересную тему, как анализ нагруженности 3d модели, производимый с помощью open source программы PrePoMax, где для себя отметили, что подобный подход, с использованием внешних модулей, в значительной степени развязывает руки, позволяя производить моделирование в любом удобном инженерном CAD-е, даже том, в котором не реализован анализ нагруженности. 

Таким образом, с одной стороны, это может быть довольно удобно, с той точки зрения, что можно делать модель в абсолютно любой среде, после чего произвести её анализ;

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

Для чего всё это вообще может быть нужно: основной целью всего этого является прикидка — а выдержит ли 3d модель ту нагрузку, которая будет к ней прилагаться в дальнейшем? 

Далее мы рассмотрим самый простой и доступный в понимании подход, который, на мой взгляд, имеет смысл с точки зрения его применения при анализе моделей для 3d печати, в домашнем техническом хобби творчестве…

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

В принципе, в этом нет ничего страшного, но, иногда, особенно при изготовлении инженерных деталей, которые должны быть нагружены — неплохо было бы всё же понимать получше, насколько же деталь справится с нагрузкой… 

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

Так как в прошлой статье мы затронули одну из самых известных бесплатных open source сред инженерного проектирования FreeCAD — продолжим, пожалуй, прямо в ней… 

Итак, сделаем допущение, что мы разработали некую 3d модель прямо в этой среде,и допустим, что в дальнейшем, эта модель будет печататься на fdm 3d принтере из ABS-пластика…

Кстати! В комментариях к прошлой статье мне тут напомнили любопытную вещь, что вроде как — анализ сам по себе это конечно интересно, но гораздо интереснее, если модель построена с применением «параметрического проектирования», то есть, мы в ответ на результаты анализа можем менять входные её параметры, автоматически перестраивая геометрию модели и, подгоняя под то, чтобы она выдерживала те нагрузки, которые мы на неё планируем возлагать! 

В принципе, почему бы и нет? :-) Сказано — сделано: создадим 3d модель обычного кубика (для простоты рассмотрения) с помощью параметрического проектирования, а затем, нагрузим его разными весами и попробуем улучшить параметры, чтобы он «лучше сопротивлялся этому жестокому миру»! :-)

Итак, для начала скачаем, установим и запустим FreeCAD, после чего создадим новый проект:

Затем перейдём на так называемый «верстак» с таблицами (Spreadsheet):

Создадим новую таблицу:

Далее, когда у вас появилась таблица, заполняем её так, как показано на картинке ниже (можно транслитерацией, главное, чтобы была латиница в названиях):

Затем, нужно нажать на каждую ячейку: B1, B2, B3 — правой кнопкой мыши, зайти в свойства-псевдоним и вбить название (Length и т.д.):

Как мы видим, после того, как псевдонимы назначены, ячейки изменили свой цвет:

Это нужно, чтобы создать понятные для среды переменные: недостаточно просто вбить цифры и рядом с ними какие-то названия — необходимо назначить ещё и «псевдонимы».

Таким образом, можно сказать, что любой текст в таблице (в колонке А) — это для человека (чтобы хоть как-то ориентироваться), а псевдонимы — это уже для самого движка FreeCAD.

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

Затем, создать новую деталь:

Выйдет всплывающее окно, где нужно нажать ОК:

Далее, выбираем прямоугольник и создаём эскиз:

Затем, привязываем горизонтальный размер из нашей таблицы к размерам прямоугольника:

Точно так же привязываем и вертикальный размер:

Эскиз нарисован, поэтому выходим из его редактирования:

Затем, выбираем инструмент Выдавливание:

Появляются настройки выдавливания, где нужно проделать то же самое (с привязкой к таблице параметров) — что мы проделали ранее для длины и ширины:

В итоге, у нас должно получиться нечто такое (как на картинке ниже). Ради интереса, чтобы проверить, что у нас все связи с таблицей работают, перейдём во вкладку с таблицей:

И поменяем высоту кубика на 10. Всё отлично работает — мы сразу увидим, когда перейдём обратно во вкладку с кубиком, что он перестроился (остальные параметры проверять не буду, так как во время настройки, я видел, что связь нормально образовалась): 

Итак, теперь, пожалуй, самое интересное — нужно протестировать кубик на нагрузку! ;-)

Мы уже видели в одной из предыдущих статей, как это делается в сторонних программах, но как же нам это проделать прямо внутри FreeCAD? 

Для этого, точно так же как мы выше переходили на верстак Spreadsheet — выберем и перейдём на верстак FEM (Finite Element Method — Метод Конечных Элементов):

Далее, нам нужно создать новый анализ:

Кстати, в качестве любопытного замечания, которое может быть для вас полезным: я писал эту статью не один день и, после открытия сохранённого файла FreeCAD-a все ненужные вкладки закрываются — то есть, наша таблица с параметрами в Spreadsheet тоже закрыта. 

Таким образом, если вы будете неоднократно закрывать и открывать файл не пугайтесь — таблица никуда не пропала она просто находится в дереве объектов слева и, чтобы открыть её снова, нужно всего лишь кликнуть по ней и она снова появится:

Теперь, предположим, что мы будем печатать этот кубик из ABS-пластика, соответственно, применим к нему этот материал, для чего нажимаем на кнопку материала:

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

Чтобы это проделать, зажмём клавишу Shift на клавиатуре и, нажав на правую кнопку мыши повращаем кубик таким образом, чтобы стала видна его нижняя грань, после чего нажмём сюда:

Далее, в появившемся окне, надо выбрать грань, которую необходимо закрепить — у нас это нижняя грань кубика:

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

Для этого, нам надо точно таким же образом, как мы разворачивали кубик, чтобы увидеть его низ, — нужно развернуть кубик, чтобы был виден его вверх (Shift + правая кнопка мыши), после чего, нажимаем сюда:

Далее, применяем эту силу к верхней грани кубика:

В результате, у нас должно получиться нечто вот такое и на этом мы заканчиваем определение силы:

Теперь, чтобы понять, как будет деформироваться кубик под воздействием силы во множестве точек своей поверхности, надо кубик сверху покрыть сеткой, для чего мы делаем следующее:

В итоге, мы видим, как кубик покрылся мелкой сеткой — то, что нужно:

Теперь, надо создать объект модуля просчета деформаций:

Видим, что объект этого модуля появился слева, в дереве. Два раза нажимаем на него левой кнопкой мыши:

Теперь, нам надо как бы снять с кубика «слепок» — все его параметры геометрические, условия задачи и т.д. и т.п. (кнопка «Создать .inp файл») — которые будет использовать модуль расчёта, после чего, собственно, и запустить сам расчёт.

Видим, что расчёт успешно завершился, после чего, это окно с задачей для модуля расчёта можно закрыть — оно нам больше не нужно:

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

Далее, нужно два раза кликнуть мышкой на результат анализа, чтобы посмотреть, что у нас получилось:

Появится окно, в котором, как мы видим, можно покликать на различные виды результата и посмотреть, что получилось — внизу есть ползунок, перемещая который, можно увеличить наглядность отображаемой информации, изменяя масштаб деформаций — то есть, физически, размер деформации остаётся тем же самым, только он становится более наглядным. 

Таким образом, можно посмотреть, насколько деформируется объект по X, по Y по Z и т. д. Или, выбрать интегральный показатель прочности — «напряжение фон Мизеса»:

Далее, смотрим на шкалу напряжений (или давлений) и делаем выводы — там цифры представлены в экспонентах, которые читать довольно просто:
какое_то_число e- какое_то_число — означает всего лишь, на сколько знаков нужно сдвинуть запятую влево: например, в числе + 3.333e-01 — это означает сдвиг запятой влево на один знак, то есть получаем понятное для нас число: 0,3333 или ~ 0,33. И т.д.:

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

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

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

Например, в нашем случае, мы видим, что кубик испытывает напряжение в 10,3 МПа (цифра в окне 10,30 MPa) максимум — что в случае с ABS находится глубоко в безопасной зоне: да, кубик напряжён, но ему ещё далеко от разрушения, так как, если мы посмотрим вот здесь, то в графе «Tensile Strength», мы увидим, что пластик ABS может выдерживать от 37 до 110 МПа:

В этом легко убедиться, если переключиться на показ других величин, например, величину смещения по X, где мы видим, что максимальное смещение составляет 0,0087 мм — что в случае 3d модели, изготовленной с помощью fdm-печати, можно охарактеризовать как: «вообще наплевать» :-D — так как можно сказать, что модель практически не деформируется и отлично держит нагрузку. 

Тем не менее, если вы захотите уменьшить даже такие малые деформации — вы всегда это можете сделать: у вас есть параметры этой 3d модели в таблице Spreadsheet и вам будет достаточно всего лишь переключиться на эту таблицу, увеличить, например, размер кубика по XY и затем заново произвести расчёт нагруженности, по тому алгоритму, который описан выше — таким образом, вы сможете увидеть, что, действительно, кубик стал испытывать меньшие напряжение!
Это и есть параметрическое проектирование…

То есть, вы можете в подобные таблицы вносить кучу разных параметров, и менять их, подгоняя таким образом, чтобы результаты анализа вас устраивали!

Например, в тесте ниже, я увеличил размер кубика по XY до 100х100 мм — и сразу видим, как кардинально упала нагрузка: 574,17 кПа или, примерно 0,57 МПа (а было 10,3 МПа!):

А если мы переключимся на смещение по X, то там показатели такие же существенные: было 8,71 мкм, а стало 758,88 нм, — то есть уменьшение смещения составило более 11 раз:

Таким образом, мы видим, что даже бесплатные среды инженерного проектирования могут быть вполне себе полезны и, даже в них можно производить кое-какие расчёты, которые могут быть использованы в практической деятельности… ;-)


Размещайте облачную инфраструктуру и масштабируйте сервисы с надежным облачным провайдером Beget.
Эксклюзивно для читателей Хабра мы даем бонус 10% при первом пополнении.

Воспользоваться

Воспользоваться