Здравствуйте, занялся автоматизацией рутины используя макросы, уперся в 2 задачи на которых увяз и прошу помощи.
1. На 2D чертеже создаю таблицу, но не могу понять как назначить ей группу нумерации: #Нумерация таблиц для того, что бы у таблицы появлялся заголовок, в SDK нашел, что можно использовать Автонумерация и сортировка объектов, однако IAutoNumerationManager не имеет методов на добавление объекта в группу, INumericGroup у него есть метод Attach на добавление, но я вообще не понимаю как использовать интерфейс, примеров использования на py нету, кто ни будь работал с эти интерфейсом? Так же хотел бы уточнить есть ли другие способы добавить заголовок к таблице, не считаю способа просто вставить строку отдельно?
2. Макросом создаю чертеж сечения печатной платы, в нижней части использую волнистую линию, так как отрезки имеют одинаковую высоту часть отрезков не доходит до волнистой, часть наоборот выходит за волнистую, мне необходимо будет сделать штриховку, но для этого нужно что бы контура были замкнуты. Для этого я вижу пока 2 способа: 1) Попытаться через математику найти точки пересечения отрезков и волнистой, но задача та еще. 2) Возможно как то применить команду "Выровнять по границе" с выделением необходимых элементов. Каждый из способов как по мне довольно сложный, может быть есть варианты проще или хотя бы посоветуйте куда "копать".
Цитата: abvgdeyka от 21.02.25, 09:41:301. На 2D чертеже создаю таблицу, но не могу понять как назначить ей группу нумерации: #Нумерация таблиц для того, что бы у таблицы появлялся заголовок,
2. Макросом создаю чертеж сечения печатной платы, в нижней части использую волнистую линию,
1 Вариант. При программном создании таблиц можно программно и давать им последовательные номера. Без заголовка таблицы
табл.jpg
2 Может быть и нет смысла делать волнистую линию. Прямой отрезок правильнее и проще.
Честно говоря не понял о чем вы, я создаю таблицу через IDrawingTables, в нем не нашел как задать имя, по этому и полез в NumericGroup, но не понял как его "прикрутить" к таблице.
drawing_tables = symbols_2d_container.DrawingTables
drawing_table = drawing_tables.Add(row, 4, 10, 10, kompas6_constants.ksTTLFirstRow)
drawing_table.X = 50
drawing_table.Y = 215
drawing_table.Angle = 0
drawing_table.FixedCellsSize = False
drawing_table.FixedRowCount = False
drawing_table.FixedColumnCount = False
Цитата: abvgdeyka от 21.02.25, 11:32:40Честно говоря не понял о чем вы,
"Т а б л и ц а 1" это просто текст над таблицей.
Аналогично можно над второй таблицей написать "Т а б л и ц а 2" и так далее.
Таблицу удобно вставлять в отдельный пустой вид.
Тогда при перемещении вида и таблица и текст будут перемещаться синхронно.
Это просто вариант, разумеется. Который я предлагаю рассмотреть. И принять или не принять)
Неплохой вариант кстати говоря! Мне по факту автонумерация и не нужна т.к. будет либо 1, либо 2 таблицы, единственно что хотел, что бы заголовок с таблицей перемещался. Но пока писал ответ понял что можно свою хотелку через макроэлемент сделать, тогда и вид перемещать не нужно, таблица и заголовок будут всегда вместе.
Доделал я то, что хотел получилось вполне неплохо, макрос рисует вид со стеком многослойной печатной платы, единственное теперь нужно это заштриховать, может быть кто ни будь занимался штрихованием областей через макросы поделитесь кодом/советом.
Цитата: abvgdeyka от 25.02.25, 14:39:35Доделал я то, что хотел получилось вполне неплохо, макрос рисует вид со стеком многослойной печатной платы,
А толщины откуда берете? Автоматом считываете?
Я без макросов делаю так пока. Вид А - основа, а в нем вручную по размерам сечение. Штриховка тоже вручную.
пп.jpg
Цитата: lavgirb от 25.02.25, 14:54:17Я без макросов делаю так пока. Вид А - основа, а в нем вручную по размерам сечение. Штриховка тоже вручную.
Самый, чудесный ответ в теме ► Программирование приложений.
Толщину меди и диэлектрика планирую забирать из альтиума тоже макросами и еще много чего, по итогу планирую оформление чертежей на ПП и МПП одной кнопкой, со стороны компаса почти все готово, только штриховка осталась и контур пп+отверстия (штамп, ТТ, таблицы готовы, осталось информацию из альтиума вытащить).
У нас вот так оформляют.
Цитата: abvgdeyka от 25.02.25, 15:19:57У нас вот так оформляют.
Если я правильно Вас понял, не виды с 3D-модели, а черчение?
Цитата: UU от 25.02.25, 15:08:31Самый, чудесный ответ в теме ► Программирование приложений.
У меня плата выращивается программой.
Выносной вид А делается вручную. Его не обязательно автоматизировать.
А вот слои думаю, может тоже программно дорисовывать. Довольно муторно делать вручную...
Цитата: lavgirb от 25.02.25, 15:56:39Если я правильно Вас понял, не виды с 3D-модели, а черчение?
Да верно, делаем плату в альтиуме перегоняем в степ от туда в компас, а в компасе уже в ручную набиваем виды и оформление, естественно виды и все сопутствующее не связано и каждый раз одно и тоже делать надоело, а тут открыл для себя радость макросов когда на литеру переводил кучи документов, ну и решил автоматизировать, начал с простого штамп, ТТ, таблицы, вот до сечения добрался с ним решу буду думать как переводить вид, но вроде через DXF можно да и в альтиуме соответствующие слои есть для чертежей. Что бы все было автоматизировано в альтиуме то же планирую забирать параметры через делфи и загонять их макрос в компаса.
Цитата: abvgdeyka от 25.02.25, 16:19:12в альтиуме то же планирую забирать параметры через делфи и загонять их макрос компаса.
Абсолютно вся информация о плате есть в файле AD PcbDoc, сохраненном в текстовом формате.
Но там придется покорпеть, чтоб разобраться)
А толщину слоев просто вводите в свой макрос вручную?
Цитата: lavgirb от 25.02.25, 16:25:06Абсолютно вся информация о плате есть в файле AD PcbDoc, сохраненном в текстовом формате.
Но там придется покорпеть, чтоб разобраться)
А толщину слоев просто вводите в свой макрос вручную?
Если вы про код который я приложил выше да вручную это частный случай, но как писал ранее, планирую забирать из AD автоматом и передавать информацию в макрос компаса, вроде я видел кусок кода который со стек манагером AD работал, можно будет от туда забрать.
Если вы про забиваем ли мы в стек AD параметры ПП вручную то да, там по любому же нужно определить кол-во слоев в ПП, их толщину и все остальное, для корректного переноса в степ и расчетов волнового от этого не уйти, хотя тоже можно автоматизировать я так делал, например у нас платы ориентированы на изготовление в резоните можно их стеки один раз в шаблон забить и пользоваться, но они бывают их меняют и обновлять опять же руками нужно да и следить то же за этим.
(https://files.doc.altium.com/sites/default/files/wiki_attachments/323260/LayerStackManager_View_AD24_8.webp)
abvgdeyka, в принципе понятно. Спасибо.
Думаю будет не лишним в Properties прикрепить соответствующие даташиты и другие характеристики которые не вижу но по сути же они должны быть? К чему ведется - к симуляции работы платы.
Могу поскидывать справочники по элементам там же характеристики и схемы. В свое время по накачал с сети 1ТБ. Самое странное что ознакомившись и все равно вижу много элементов на картинках с того же али или по факту разбирая микросхемы что много еще элементов не рассмотренных.
Добрый день.
Могу предложить текст, записанный рекордером. Может пригодится?
Цитироватьможет быть кто ни будь занимался штрихованием областей через макросы поделитесь кодом/советом.
Разобрался со штриховкой, на вид вроде бы не плохо, остается только сделать выноски позиционные.
Цитата: abvgdeyka от 03.03.25, 10:31:25Разобрался со штриховкой, на вид вроде бы не плохо ...
Надо бы задать
разный шаг линий штриховки для препрега и для стеклотекстолита, в соответствии с ГОСТ 2.306-68, п. 10:
Цитировать10. Для смежных сечений двух деталей следует брать наклон линий штриховки для одного сечения вправо, для другого — влево (встречная штриховка).
При штриховке «в клетку» для смежных сечений двух деталей расстояние между линиями штриховки в каждом сечении должно быть разным.
Цитата: Warlock-72 от 03.03.25, 11:21:05Надо бы задать разный шаг линий штриховки для препрега и для стеклотекстолита, в соответствии с ГОСТ 2.306-68, п. 10:
Здесь нет смежных сечений: все изоляционные материалы, штрихуемые "в клетку", разделены проводниками.
Поэтому разные расстояния между линиями штриховки в данном случае не обязательны.
Цитата: lavgirb от 03.03.25, 11:54:23Здесь нет смежных сечений: все изоляционные материалы, штрихуемые "в клетку", разделены проводниками.
Поэтому разные расстояния между линиями штриховки в данном случае не обязательны.
Здесь смежное сечение
разных деталей: стеклотекстолит (композитный материал) - это одна монолитная "деталь" (сборочная единица фактически), препрег - это вторая "деталь". Штриховка должна быть различающейся.
Цитата: Warlock-72 от 03.03.25, 12:02:55Здесь смежное сечение разных деталей: стеклотекстолит (композитный материал) - это одна монолитная "деталь" (сборочная единица фактически), препрег - это вторая "деталь". Штриховка должна быть различающейся.
На виде нет смежных штриховок "в клетку", поэтому требование разного шага здесь надуманное.
Раньше не обращал внимания, но, видимо, здесь должен действовать п. 1 из примечания к таблице 1.
То есть фольгированный стеклотекстолит можно не показывать слоеным, а можно показывать как монолит со штриховкой для металла.
Это должно упростить работу по изображению разреза МПП.
Ин-те-рес-но!
А что, мне нравится. Читается значительно проще.
Сразу видно, где ядро, а где прокладка.
вида.jpg
Цитата: lavgirb от 03.03.25, 12:43:18А что, мне нравится. Читается значительно проще.
Сразу видно, где ядро, а где прокладка...
Только вот неудобство с указанием слоев МПП
МПП СБ.JPG
Цитата: Warlock-72 от 03.03.25, 12:59:43Только вот неудобство с указанием слоев МПП
Слои не надо обозначать. Это никому не нужно.
Я бы и вид А не показывал за ненадобностью. Просто традиционно хотят его видеть)
Цитата: lavgirb от 03.03.25, 13:04:03Слои не надо обозначать. Это никому не нужно...
Ошибаетесь!
Вам, может быть, и не нужно, а другим - еще как нужно!
Судя по приведенному фрагменту чертежа, автор темы тоже (как и мы) выполняет требования ГОСТ 2.417-91, п. 5:
Цитировать5. На МПП выпускается сборочный чертеж.
Изображение каждого слоя МПП размещают на отдельных листах сборочного чертежа с указанием порядкового номера слоя.
Цитата: lavgirb от 03.03.25, 12:43:18А что, мне нравится. Читается значительно проще.
Сразу видно, где ядро, а где прокладка.
вида.jpg
Да при такой штриховке препреги и ядра видно сразу, но 'сходу' если тонкостей не знать структуру МПП тяжело будет воспринимать. По поводу обозначения слоев, я хочу завязать их обозначение с таблицей герберов, что бы было видно какой файл на какой слой и в будущем возможно размещать большую таблицу аналог бланка заказа ото КД есть, а оно и не кому не нужно) всем бланк заказа подавай, но это все после того как из альтиума вытащу стек (буду пока альтиум ковырять).
Цитата: Warlock-72 от 03.03.25, 13:10:16Ошибаетесь!
Вам, может быть, и не нужно, а другим - еще как нужно!
Судя по приведенному фрагменту чертежа, автор темы тоже (как и мы) выполняет требования ГОСТ 2.417-91, п. 5:
Мы не размещаем изображение слоев на чертеже, на производство отдаем гербера ТМ файлы. Нумерация слоев это требование нашего НК.
По поводу шага наклона, у нас к этому требований нету, НК в таком виде все пропускает да и от заказчиков замечаний не было, если конечно кому нужно, то изменить это не сложно iHatchParam.step регулирует наклон.
Цитата: abvgdeyka от 03.03.25, 13:30:48Мы не размещаем изображение слоев на чертеже, на производство отдаем гербера ТМ файлы. Нумерация слоев это требование нашего НК.
Ваш НК требует выполнения ГОСТ 2.417 :angel:
А у нас Генеральный Заказчик требует выпускать чертеж печатных плат с послойным изображением топологии - это требование записано в ТЗ на все изделия для этого Заказчика.
Цитата: lavgirb от 03.03.25, 13:04:03Слои не надо обозначать. Это никому не нужно.
Цитата: Warlock-72 от 03.03.25, 13:10:16Вам, может быть, и не нужно, а другим - еще как нужно!
Цитата: Warlock-72 от 03.03.25, 13:36:17А у нас Генеральный Заказчик требует выпускать чертеж печатных плат с послойным изображением топологии - это требование записано в ТЗ на все изделия для этого Заказчика.
Потужно! :um:
Цитата: Warlock-72 от 03.03.25, 13:36:17Ваш НК требует выполнения ГОСТ 2.417 :angel:
А у нас Генеральный Заказчик требует выпускать чертеж печатных плат с послойным изображением топологии - это требование записано в ТЗ на все изделия для этого Заказчика.
Ваш Заказчик требует у вас, а Вы требуете у нас.)
Цитата: abvgdeyka от 03.03.25, 13:27:44Да при такой штриховке препреги и ядра видно сразу, но 'сходу' если тонкостей не знать структуру МПП тяжело будет воспринимать.
Этот чертеж не требует восприятия структуры МПП. Для это существуют PCB-файлы.
Ну так, конечно, согласен, кто как приспособится к компьютерному проектированию, так и работает.
В этом чертеже можно только указать габариты и ссылку на файлы по которым плата может быть изготовлена.
В ТТ иногда добавляют требования к точности и покрытию.
Или какие-нибудь специфические требования, без которых нельзя получить требуемое качество.
Цитата: abvgdeyka от 03.03.25, 13:27:44всем бланк заказа подавай
Вот именно)
Цитата: lavgirb от 03.03.25, 14:16:13Вы требуете у нас
Зачем же искажать смысл моих слов?
Вы сказали, что
Цитата: lavgirb от 03.03.25, 13:04:03Слои не надо обозначать. Это никому не нужно...
Я лишь уточнил, что это нужно, например, нам.
И еще, как минимум, на 4-х предприятиях оформляют КД на МПП аналогичным способом (но со своими особенностями) - знаю это, т.к. с ними приходится обмениваться КД.
Цитата: Warlock-72 от 03.03.25, 14:26:20Зачем же искажать смысл моих слов?
Вы сказали, что Я лишь уточнил, что это нужно, например, нам.
И еще, как минимум, на 4-х предприятиях оформляют КД на МПП аналогичным способом (но со своими особенностями) - знаю это, т.к. с ними приходится обмениваться КД.
Да пусть оформляют.
Я имел ввиду, что это не нужно для изготовления, потому что эти номера слоев, кроме автора чертежа и НК, никем не используются.
А используются электронные документы PCB и гербер-файлы. Потому что в них вся информация заложена по умолчанию. Под существующее сейчас оборудование.
Никто не изготавливает фотошаблоны и не складывает слои по чертежам. Во всяком случае, я об этом не слышал.
Цитата: lavgirb от 03.03.25, 14:33:11Никто не изготавливает фотошаблоны и не складывает слои по чертежам. Во всяком случае, я об этом не слышал
Изготавливать по бумажным чертежам - не изготавливают, это правда.
А вот промежуточную проверку топологии слоев на соответствие чертежу - лично я сталкивался с таким. И без бумажных копий чертежей у нас заказ на изготовление печатных плат попросту не принимали.
Эти предприятия - ГЗАС им. А.С.Попова (Нижний Новгород) и "Красное Знамя" (Рязань).
Справедливости ради, должен заметить, что мы с этими заводами не работаем уже более 10 лет. Возможно, они уже и отошли от этой практики. Но раньше для них первичным документом при заказе была именно бумажная КД.
Давно не писал, в общем удалось из Альтиума вытащить стек и отверстия, поправил скрипт для компаса, что бы рисовал стек по данным из Альтиума, с таблицей почти тоже закончил, заполняется хорошо, но встал вопрос у нас таблица состоит из 5ти столбцов: 1) Размер отверстий, мм 2) Размер контактной площадки, мм 3) Наличие металлизации в отверстиях 4) Количество отверстий 5) Примечание (опционально например написать слои которые пересекает глухое отверстие), в последнее время делаем платы с разными площадками на сторонах (топ круг, бот квадрат), да и площадки произвольной формы начали использовать, что писать в таких случаях во 2й столбец, может его вообще удалить? Кто как делает?
Цитата: abvgdeyka от 21.03.25, 12:35:41Давно не писал, в общем удалось из Альтиума вытащить стек и отверстия, поправил скрипт для компаса, что бы рисовал стек по данным из Альтиума, с таблицей почти тоже закончил, заполняется хорошо, но встал вопрос у нас таблица состоит из 5ти столбцов: 1) Размер отверстий, мм 2) Размер контактной площадки, мм 3) Наличие металлизации в отверстиях 4) Количество отверстий 5) Примечание (опционально например написать слои которые пересекает глухое отверстие), в последнее время делаем платы с разными площадками на сторонах (топ круг, бот квадрат), да и площадки произвольной формы начали использовать, что писать в таких случаях во 2й столбец, может его вообще удалить? Кто как делает?
Все данные в PCB или в Герберах.
Таких таблиц не делаем. Нет того, кто будет их потом читать.
Цитата: abvgdeyka от 21.03.25, 12:35:41... в последнее время делаем платы с разными площадками на сторонах (топ круг, бот квадрат), да и площадки произвольной формы начали использовать, что писать в таких случаях во 2й столбец...? Кто как делает?
В таблице можно, например, указать для сквозных металлизированных отверстий
минимально допустимый диаметр контактных площадок круглой формы (расчет - по ГОСТ Р 53429-2009, п. 5.3.8), вне зависимости от реальной площадки в плате. При этом в таблице отверстий соответствующий столбец озаглавить не просто "Размер контактной площадки", а "Минимальный диаметр контактной площадки", а технические требования дополнить фразой, например, "Допускается иная форма и увеличение размеров контактных площадок сквозных металлизированных отверстий".
Цитата: Warlock-72 от 21.03.25, 13:01:36В таблице можно, например, указать для сквозных металлизированных отверстий минимально допустимый диаметр контактных площадок круглой формы (расчет - по ГОСТ Р 53429-2009, п. 5.3.8), вне зависимости от реальной площадки в плате. При этом в таблице отверстий соответствующий столбец озаглавить не просто "Размер контактной площадки", а "Минимальный диаметр контактной площадки", а технические требования дополнить фразой, например, "Допускается иная форма и увеличение размеров контактных площадок сквозных металлизированных отверстий".
Какой в этом смысл? Если ли данные в таблице будут различаться от данных на плате это же введет путаницу?
Опять же этот столбец имел бы смысл если вносить в таблицу только отверстия для монтажа, но в таблице все отверстия включая переходные.
Цитата: abvgdeyka от 21.03.25, 13:28:11Какой в этом смысл? Если ли данные в таблице будут различаться от данных на плате это же введет путаницу?
В том-то и дело, что совокупность данных в таблице и уточняющей фразы в технических требованиях будет соответствовать реальной печатной плате :angel:
Можно указать размеры КП в N строк: столбец озаглавить "Размеры контактных площадок, мм (верхняя сторона (или слой 1) / "Внутренние слои (или слои 2...(N-1) ) / Нижняя сторона (или слой N))", а в таблице тогда расписывать размеры КП на каждом слое ПП.
Посмотрел в интернете кто как делает, по итогу все по разному, в основном так же пишут размеры площадок, но есть и куда более интересный вариант писать на каком слое какая площадка, но это явный перегруз таблицы кому нужна информация о площадке на внутреннем слое, есть варианты где столбца с площадками нет, думаю на нем и остановлюсь, в скрипте просто уберу вывод, что бы если что можно было вернуть. Как добью скрипты, причешу их и наверное создам новую тему.
Цитата: abvgdeyka от 21.03.25, 13:43:10есть варианты где столбца с площадками нет, думаю на нем и остановлюсь
Если Вас не смущает несоответствие в этом случае требованиям ГОСТ 2.417-91, п.п. 19, 21, то можно пойти и таким путем.
Цитата: abvgdeyka от 21.03.25, 13:43:10есть и куда более интересный вариант писать на каком слое какая площадка, но это явный перегруз таблицы кому нужна информация о площадке на внутреннем слое
Эта информация нужна тому, кому нужна информация о размерах площадок на наружных слоях.
Ну, добавится в таблицу еще несколько строк - это разве перегруз по сравнению с "мешаниной" из условного обозначения отверстий на поле печатной платы :)