Я только начинаю проектировать печатную плату, и у меня, как правило, возникают проблемы с изучением того, как использовать GUI с меню и щелчком мыши. Используют ли некоторые инженеры что-то более похожее на код для генерации печатных плат?
Я только начинаю проектировать печатную плату, и у меня, как правило, возникают проблемы с изучением того, как использовать GUI с меню и щелчком мыши. Используют ли некоторые инженеры что-то более похожее на код для генерации печатных плат?
Ответы:
На самом деле у Altium есть язык сценариев, несколько разных языков. В некоторых случаях может иметь смысл использовать алгоритмы, например, для создания повторяющихся макетов или деталей, размещенных точно в определенных положениях.
Например, я видел, как раньше он размещал детали (светодиоды) по кругу, хотя с введением сетки с полярными координатными защелками гораздо меньше шансов.
Мы использовали алгоритмы для создания фигур (например, антенны и тому подобное) непосредственно в формате .dxf, который затем можно импортировать в медный слой.
В целом, код плохо подходит для компоновки печатных плат, особенно для задачи маршрутизации.
В EAGLE CAD все, что вы можете сделать с помощью мыши, вы можете сделать из командной строки. Он также имеет пользовательский язык, на котором вы можете программировать.
Я использую код для генерации списка соединений для моих печатных плат. (Писать цикл for для создания N-битного мультиплексора гораздо, гораздо быстрее, чем кропотливо рисовать все эти вещи на схеме.) К счастью, файлы списков соединений KiCAD - это просто текст, в недокументированном, но разумном формате. легко изменить -engineer.
Я написал небольшую библиотеку C #, которая позволяет мне вводить то, что я хочу подключить к чему-либо (с точки зрения многократного использования параметрических блоков схем), и оно автоматически выплевывает список соединений. Теперь я могу просто импортировать это прямо в KiCAD и приступить к сборке печатной платы, не тратя впустую час или около того, бесполезно рисуя для нее схему. (Библиотека даже выполняет некоторые базовые проверки, чтобы убедиться, что мои инструкции не являются полностью поддельными, хотя я подозреваю, что сам KiCAD справится с этой задачей лучше.)
Файлы PCB Kicad, с другой стороны, также текст, но , как представляется, далеко слишком сложными для создания программно. Это позор, потому что по умолчанию KiCAD сбрасывает все компоненты непосредственно друг на друга, и мне приходится тратить 20 с лишним минут, утомительно отделяя их друг от друга, чтобы я мог видеть, что, черт возьми, я делаю. (У KiCAD есть неприятная привычка пытаться перемещать текст, а не компонент, к которому он прикреплен , предположительно только для того, чтобы затруднить разработку печатных плат?)
Возможно, когда-нибудь мне удастся автоматизировать первоначальную компоновку компонентов; Я подозреваю, что, как уже говорили другие, фактический бит "PCB design" всегда будет включать GUI.
Я не рекомендовал бы это, но если вы действительно хотите, вы можете написать PCB обложку самостоятельно, без какой-либо программы для PCB. Код выглядит так:
G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12Номера строк в правом нижнем углу не являются частью файла. Изучив этот файл без каких-либо предварительных знаний о Гербере, можно было бы правильно сделать вывод, что каждая строка представляет определенную машинную команду и что звездочка (*) является символом конца команды. Кажется, есть разные виды команд: инструкции, начинающиеся с координатных данных G, D, M и x, y.
Источник: https://www.artwork.com/gerber/appl2.htm
Вот спецификация, которая показывает различные команды
Если вы используете Kicad, посмотрите видео с выступлений на первом KiCon (2019) на Youtube. Пара бесед была явно о средствах написания докладчиков для создания частей, одна также о связях. По крайней мере один из них использовал Python, который используется как язык сценариев.