Pull to refresh
8
0
Send message

Как подружить Python и САПР «SolidWorks». Часть 1 – Знакомство

Level of difficultyMedium
Reading time4 min
Views5.2K

Всем привет!

Решил немного отойти от своей любимой темы нейронных сетей и написать небольшой скрипт на Python для работы с конструкторской документацией в САПР «SolidWorks». Так как изначально у меня инженерное образование, то мне периодически приходится заниматься конструкторской деятельностью и, по своему опыту, я знаю, как много иногда приходится тратить времени для оформления чертежей и сохранения их в формате pdf или dwg (особенно, если мы говорим о большом количестве деталей сборок). И тут я подумал, почему не упростить жизнь себе и своим коллегам-конструкторам и не подружить Python и SolidWorks.

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

Работа будет состоять из двух основных частей (соответственно и статей будет две):

Часть 1 – Создание общей базы для работы с SolidWorks, написание простого графического интерфейса на tkinter, реализация возможности сохранения чертежей в форматах pdf и dwg.

Часть 2 – Реализация возможности автоматизированного заполнения полей таблицы чертежей из единого excel файла, и самая интересная фича этого проекта: автоматическое создание чертежей деталей из 3D-моделей (для начала реализация простых деталей из листового металла).

По итогу «завернём» программу в один .exe файл для возможности использовать на любых машинах.

Читать далее
Total votes 13: ↑13 and ↓0+15
Comments9

Как я тестировал российские фоторедакторы, полжизни проработав в Фотошопе

Level of difficultyEasy
Reading time9 min
Views52K

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

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

Читать далее
Total votes 85: ↑82 and ↓3+102
Comments166

Небольшой туториал по полигруппам в Zbrush

Reading time4 min
Views1.2K

Полигруппы (Polygroups) в Zbrush представляют из себя способ разделения уже существующей 3D-модели на группы полигонов с целью выполнения над ними различных видов работ. При создании каждой из этих групп полигонов ей назначается свой уникальный цвет, что помогает нам визуально различать их. Мы можем добавить секционирование на полигруппы в любую модель, просто включив в Zbrush опцию PolygFrame. Кроме того, они позволяют сделать процесс работы над моделью более гладким, так как мы можем скрыть или убрать ненужные в данный момент секции полигрупп с помощью простого сочетания клавиш.

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

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments0

«Экструдер» филамента для 3D-принтера своими Оч.Умелыми ручками

Level of difficultyMedium
Reading time7 min
Views5K

Небольшая предыстория

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

Как Вы могли сделать вывод из первой моей статьи я представляю гремучую смесь инженера-текстильщика-химика-полимерщика-... пытающегося чуток "в науку".

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

Еще на этапе создания прототипа, разработки технологии я задавался вопросом "Кому это надо в повседневной жизни?". Один из ответов последовал от моего друга и товарища, которому нужен был филамент для принтера.

Кратко изучив вопрос стало понятно, что вопрос актуален по прозаичным коммерческим причинам (средняя цена мотка филамента в 1000 руб. против 80 руб. за гранулят как-то не гуманно), в связи с чем предпринимаются многочисленные попытки создать различного типа экструдеры.

Поэтому, если не идет речь о коммерческом использовании конструкции, пожалуйста - WTFPL.

Читать далее
Total votes 14: ↑14 and ↓0+16
Comments17

PIP — Загрузка пакетов python для офлайн установки

Level of difficultyEasy
Reading time13 min
Views9.3K

Разговор в этой статье пойдет о том, как достать пакеты Python для оффлайн установки на разных платформах и разных версиях Python. Возможно я плохо искал, но на просторах интернета я не смог найти достаточное количество статей на русском языке, которые бы подробно объясняли как производить загрузку пакетов и дальнейшую их доставку на машины с разными платформами и версиями языка. 

Читать далее
Total votes 16: ↑15 and ↓1+20
Comments9

Небольшая щепотка ультразвуковых чудес

Level of difficultyMedium
Reading time9 min
Views10K
Картинка Freepik

Несмотря на свою практически неслышимость и незримость, ультразвук имеет множество применений в современной жизни. В связи с этим мы и рассмотрим некоторые весьма любопытные его реализации, вдвойне интересные ещё с той точки зрения, что они содержат полный набор исходников проектов, что позволяет любому желающему испытать свои силы в реализации описанного. Итак…
Читать дальше →
Total votes 49: ↑45 and ↓4+63
Comments23

Итак, вы думаете, что знаете Git? Часть первая: старый добрый Git

Level of difficultyEasy
Reading time4 min
Views15K

Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.


В первом посте из этой короткой серии по Git я хотел начать с вещей, уже существующих какое-то время. При этом кажется, что многие люди о них не знают или не умеют ими пользоваться. В них нет ничего нового, но я нахожу их полезными и, возможно, не совсем освещёнными. Я просто хочу рассказать о:



Давайте покопаемся!
Total votes 22: ↑21 and ↓1+23
Comments6

Разница между pool.map и pool.map_async в Python

Level of difficultyEasy
Reading time2 min
Views2.5K

Еще одна статья-шпаргалка о модуле multiprocessing в Python, без воды, от новичка для новичков многопроцессорного программирования.

pool.map и pool.map_async являются методами модуля multiprocessing.Pool в Python, которые позволяют параллельно выполнять функции на нескольких процессах.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments3

Дешево и сердито: геймдев на Godot 4.2 для тех, кто знает Python

Level of difficultyMedium
Reading time9 min
Views15K

Привет, Хабр! Меня зовут Матвей, я уже несколько лет хочу научиться создавать игры. Скажу честно: все никак не хватало времени и, возможно, целеустремленности, чтобы изучить Unreal Engine, Cry Engine и им подобные движки.

Но я знаю Python. Оказывается, для любителей парселтанга есть относительно простой способ вкатиться в геймдев — игровой движок Godot, который поддерживает программирование на синтаксически похожем языке GDScript. Я его изучил и даже создал небольшую игру. В этой статье хочу рассказать об этом решении подробнее.
Читать дальше →
Total votes 38: ↑34 and ↓4+40
Comments21

Основы литья под давлением: проектирование литых деталей

Level of difficultyEasy
Reading time7 min
Views6.6K

Дисклеймер: это достаточно вольный перевод статьи с protolabs.com, в который мы добавили немного отсебятины. Но не просто так, а для лучшего понимания, потому что соотношение терминов «там» и «здесь» — отдельный адский котелок. Заметите что-то не то (или у вас так не говорят), без стеснения отпишитесь в комментариях, исправим вместе.

Таблица тоже будет
Total votes 22: ↑22 and ↓0+22
Comments6

Как работать с текстом при дизайне игровых интерфейсов

Reading time5 min
Views2.9K

Статья про приёмы, упрощающее восприятие текста игроками и про особенности работы с текстом на игровых проектах.

Читать далее
Total votes 20: ↑19 and ↓1+20
Comments6

Когнитивные искажения, о которых стоит помнить

Reading time15 min
Views81K

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

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

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

Читать далее
Total votes 84: ↑76 and ↓8+79
Comments36

Метод конечных элементов своими руками

Level of difficultyMedium
Reading time9 min
Views18K

Метод конечных элементов (МКЭ) применяют в задачах упругости, теплопередачи, гидродинамики — всюду, где нужно как-то дискретизировать и решить уравнения сплошной среды или поля. На Хабре было множество статей с красивыми картинками о том, в каких отраслях и с помощью каких программ этот метод приносит пользу. Однако мало кто пытался объяснить МКЭ от самых основ, с простенькой учебной реализацией, желательно без упоминания частных производных через каждое слово.

Мы напишем МКЭ для расчёта упругой двумерной пластины на прочность и жёсткость. Код займёт 1200 строк. Туда войдёт всё: интерактивный редактор, разбиение модели на треугольные элементы, вычисление напряжений и деформаций, визуализация результата. Ни одна часть алгоритма не спрячется от нас в недрах MATLAB или NumPy. Код будет ужасно неоптимальным, но максимально ясным.

Размышление над задачей и написание кода заняли у меня неделю. Будь у меня перед глазами такая статья, как эта, — справился бы быстрее. У меня её не было. Зато теперь она есть у вас.

Читать далее
Total votes 69: ↑69 and ↓0+69
Comments56

Лучшие видеокарты за свои деньги, которые можно купить для игр в 2024 году

Level of difficultyEasy
Reading time9 min
Views78K

Выбор видеокарты — дело личное. Кому-то нравятся бренды, кто-то хочет сэкономить. Некоторым нравится, чтобы видюха светилась. Мы сегодня расскажем, какие видеокарты есть в наличии в разных ценовых категориях. И если вы ищете себе GPU или хотите посоветовать что-то друзьям, под катом — разбор актуального ассортимента XCOM-SHOP.

Читать далее
Total votes 14: ↑10 and ↓4+10
Comments31

Как устроена страничная организация памяти x86_64

Level of difficultyEasy
Reading time15 min
Views8.9K

В этом посте я буду говорить о страничной организации только в контексте PML4 (Page Map Level 4), потому что на данный момент это доминирующая схема страничной организации x86_64 и, вероятно, останется таковой какое-то время.

Окружение

Это необязательно, но я рекомендую подготовить систему для отладки ядра Linux с QEMU + gdb. Если вы никогда этого не делали, то попробуйте такой репозиторий: easylkb (сам я им никогда не пользовался, но слышал о нём много хорошего), а если не хотите настраивать окружение самостоятельно, то подойдёт режим практики в любом из заданий по Kernel Security на pwn.college (вам нужно знать команды vm connect и vm debug).

Я рекомендую вам так поступить, потому что считаю, что самостоятельное выполнение команд вместе со мной и возможность просмотра страниц (page walk) на основании увиденного в gdb — хорошая проверка понимания.

Читать далее
Total votes 53: ↑53 and ↓0+53
Comments0

Домашняя революция в 3D-печати металлами: использование SLM и оптоволоконных граверов

Level of difficultyMedium
Reading time5 min
Views54K

Вступление В последнее время мир 3D-печати переживает настоящую революцию благодаря появлению доступных технологий печати металлом. Одно из самых примечательных нововведений - использование технологии Selective Laser Melting (SLM) в сочетании с обычными оптоволоконными настольными граверами, что позволяет осуществлять печать металлом прямо дома.

Читать далее
Total votes 34: ↑33 and ↓1+46
Comments46

К вопросу о RS485

Level of difficultyMedium
Reading time7 min
Views12K

Недавно, при отладке одного устройства, внезапно выяснилось, что RS485 не хочет работать (вернее, работает через раз), если два устройства не связаны землей, от слова совсем. Вообще то данный факт не является откровением и я в своих кабелях земли протаскиваю, но в данном конкретном случае имел место обрыв провода. Но после того, как дефект был обнаружен и устранен, внезапно возник вопрос — а как вообще устроен приемник сигналов, если в соответствии со стандартом он должен правильно обрабатывать сигналы, имеющие общее напряжение (Vcm) от -7В до 12В, питаясь при этом от 3.3В (ну или от 5В) относительно земли. Да, я знаю о существовании операционных усилителей (а компаратор — то же ОУ), способных обрабатывать сигналы «rail‑to‑rail» (импорто‑замещенное обозначение «от шины до шины» мне не нравится, можете пожаловаться кому следует), но в данном случае входные сигналы откровенно за шины (землю и питание) выходят.

Если Вам тоже интересно, Вам сюда
Total votes 13: ↑12 and ↓1+15
Comments30

Как я пишу на C по состоянию на конец 2023 года

Level of difficultyMedium
Reading time9 min
Views27K
Этот год выдался переломным для моих навыков по программированию на C. Можно сказать, что я пережил слом парадигмы, что побудило меня пересмотреть привычки и весь стиль программирования. Это была крупнейшая метаморфоза моего личного профессионального стиля за долгие годы, так что я решил написать этот пост в качестве «мгновенного снимка» моих нынешних суждений и профессионального существования. Эти перемены во многом пошли на пользу моей продуктивности и организованности, поэтому, при всей субъективности того, что я скажу, в посте наверняка будут описаны и вполне объективные вещи. Я не утверждаю, что на С нужно писать именно так, как рассказано ниже, а я сам, выступая контрибьютором некоторого проекта, придерживаюсь того стиля, который там заведен. Но описанные ниже приёмы, как оказалось, очень пригодились мне при работе.
Читать дальше →
Total votes 39: ↑27 and ↓12+25
Comments91

Простая контактная сварка для мелких точных работ

Level of difficultyMedium
Reading time6 min
Views14K

Основное назначение прибора – простое и быстрое жаростойкое соединение «насквозь» нетолстых листов и проволок из разных металлов для внутренней арматуры самодельных электровакуумных приборов (ЭВП). Кроме того, аппарат может пригодиться в ювелирном деле, при альтернативном электрорадиомонтаже или изготовлении некрупных корпусов, кожухов, экранов и т. п. К винтовым клеммам прибора может быть подключен выносной инструмент. Сварочный аппарат использует плоские легкосъёмные электроды - гнутые проволочные для мелочей, массивные для деталей крупнее - выпиленные и сформованные из нетонкого листа меди или её сплавов. Аппарат опробован максимум – на листах оцинкованной кровельной стали 0,45 и 0,5 мм. Точная настройка режима позволяет работать с тонкими деликатными материалами и с высокой повторяемостью.

Итак. Размеры свариваемых деталей невелики и при проектировании применен ряд решений для популярной и где-то близкой (тонкая никелевая лента), в последнее время, забавы – соединения элементов-аккумуляторов пальчикового типа в батареи. Такие приборы обычно собирают на базе удобного для перемотки высоковольтного трансформатора от микроволновой печи. Больше того, существует ряд недорогих и доступных встраиваемых модулей для управления такой сваркой (Фото 2).

Проектирование

Самый толстый предполагаемый материал для сварки – сталь 0,5 мм толщиной, самый тонкий – на порядок меньше, т. е. требуется значительный диапазон регулировки и точная выдержка. Здесь, применил готовый фабричный контроллер китайского производства (Фото 2).

Полюбопытствовать
Total votes 54: ↑54 and ↓0+54
Comments17

Профилирование Python — почему и где тормозит ваш код

Level of difficultyMedium
Reading time10 min
Views19K

Представьте ситуацию: вы написали скрипт для обработки каких-то данных на ноутбуке, ушли попить кофе, а когда пятнадцать минут спустя вернулись, завершилось едва ли 10%.

Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный?

Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).
Читать дальше →
Total votes 48: ↑47 and ↓1+66
Comments10
1
23 ...

Information

Rating
5,233-rd
Registered
Activity