# Rivet Via Converter для Altium Designer Скрипт анализирует все отверстия активного `PcbDoc` и преобразует в размеры имеющихся заклёпок как сквозные Via, так и все сверлёные Pad. Обрабатываются свободные объекты на плате и примитивы внутри футпринтов: | Исходный Hole Size | Новый Hole Size | Диаметр меди | Диаметр зоны изоляции | |---:|---:|---:|---:| | `<= 0,3 мм` | `0,9 мм` | `1,7 мм` | `2,2 мм` | | `<= 1,1 мм` | `1,3 мм` | `2,1 мм` | `2,7 мм` | | `> 1,1 мм` | `2,0 мм` | `2,8 мм` | `3,7 мм` | Дополнительный запас к внешнему диаметру не добавляется. Глухие и скрытые Via не изменяются. Также игнорируются неплакированные Pad и отверстия, у которых внешний размер площадки равен диаметру отверстия, то есть отсутствует медное кольцо. SMD Pad с нулевым размером отверстия не изменяются. Диаметр меди всегда равен `Hole Size + 0,8 мм`. У сверлёных Pad задаются одинаковые X/Y-размеры меди на Top, Mid и Bottom, но исходная форма площадки сохраняется. Готовые размеры распознаются отдельно, поэтому скрипт можно запускать повторно без дальнейшего увеличения. Скрипт проверяет активное общее правило Clearance со Scope `All / All`. Для каждой группы отдельное правило создаётся или обновляется только тогда, когда общий clearance меньше требуемого зазора от края меди. Если общий clearance уже достаточен, правило группы не создаётся, а ранее созданное скриптом правило удаляется. Возможные отдельные правила: - `RIVET_03_RoutingIsolation` — зазор от края меди `0,25 мм`; - `RIVET_11_RoutingIsolation` — зазор от края меди `0,30 мм`; - `RIVET_GT11_RoutingIsolation` — зазор от края меди `0,45 мм`. Область действия первой стороны каждого правила автоматически выбирает Via и plated Pad с соответствующей парой Hole Size/диаметр. Вторая сторона выбирает только дорожки, дуги трассировки, медные Fill/Region и Polygon. Поэтому другие Pad и Via могут располагаться ближе и продолжают использовать обычное правило clearance платы, например `0,5 мм`. Например, при общем clearance `0,5 мм` он уже превышает все три требуемых значения (`0,25 / 0,30 / 0,45 мм`), поэтому ни одно дополнительное правило не понадобится. ## Запуск 1. Откройте `RivetViaConverter.PrjScr` в Altium Designer. 2. Откройте и сделайте активным нужный `PcbDoc`. 3. Выберите `File -> Run Script`. 4. Для проверки без изменений запустите `AnalyzeVias` — несмотря на историческое имя процедуры, она проверяет и Via, и сверлёные Pad. 5. Для преобразования и синхронизации правил запустите `ConvertViasToRivets` — она изменяет оба типа объектов. 6. Проверьте показанную сводку и нажмите `OK`. Все изменения формируются как одна операция Undo. Скрипт не сохраняет файл автоматически. ## После преобразования Запустите DRC: увеличенные площадки могут нарушить Clearance или выйти слишком близко к контуру платы. Также проверьте настройки Solder Mask Expansion: медь вокруг заклёпки должна быть открыта с обеих сторон платы. Сам скрипт настройки паяльной маски и правила PCB не меняет.