|
Копирование разводки, Ячейки с идентичной разводкой... |
|
|
|
Jun 5 2007, 11:07
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(Владимир @ Jun 5 2007, 13:36)  Выделяешь разводку копируешь с точкой привизки и все. Имена цепей разводки сами изменятся как нужно . Не забыть и VIA при копировании отметить Чуть по-подробнее, пожалуйста. А именно: "Если элементы уже раставлены" - это про элементы первой ("образцовой ячейки") ? Или про элементы других ячеек, которые я еще только собираюсь разводить? Ведь если просто скопировать разводку, все цепи станут "NoNet"?
|
|
|
|
|
Jun 5 2007, 11:21
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата(Gennaj @ Jun 5 2007, 14:07)  Выделяешь разводку копируешь с точкой привизки и все. Имена цепей разводки сами изменятся как нужно . Не забыть и VIA при копировании отметить
Чуть по-подробнее, пожалуйста. А именно: "Если элементы уже раставлены" - это про элементы первой ("образцовой ячейки") ? Или про элементы других ячеек, которые я еще только собираюсь разводить? Ведь если просто скопировать разводку, все цепи станут "NoNet"? Сначала. Если уВас блоки полностью одинакова сточки зрения PCB н разные с сточки зрения номиналов то это оформляется по другому и делается через Paste Format Так как у вас они "почти" одинаковы, то уж раставлть элементы нужно самому. Причем одиноково для всех бдлоков 2Потом разводите общую часть у одного из блоков 3. выделяете дорожки и Via одинаковой частьи, делаете Copy с точкой привязки на на характерном Pad одного из элементов3. потом вставляете скопированное на другой блок с точкой привязки на соответствующем Pad/ 4/ Если компоненты действительно были расставлены как и в первом блоке, все уже готово.
|
|
|
|
|
Jun 5 2007, 14:19
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Изучил. Попробовал. В принципе, работает. К сожалению, вариант, описанный в статье нам не подходит, так как у нас компоненты имеют большое количество присоединенных полей свойств (для резистора, например: BCPId, Rem, Manufacturer, ManufacturerPartNumber, Value, Power/Voltage, Tolerance, Корпус) и передавать каждое из этих свойств с помощью параметров иерархического блока очень проблематично... Более-менее приемлем вариант с блокировкой компонентов исходного размещения, размещения поверх них других компонентов, относ их в сторону и копирование дорожек с переходными отверстиями, но это тоже не идеал, так как хотелось бы именно автоматической расстановки компонентов, а не только копирования дорожек... Я попробовал сгенерировать румы со схемы без иерархии, присвоив элементам групп некие классы. При этом на печатной плате тоже получается набор ячеек, но Альтиум теряет взаимосвязь между идентичными элементами разных румов (то есть отказывается автоматически размещать компоненты, так как не знает, что резистор R1 из ROOM1 соответствует резистору R19 из ROOM2). Соответственно, созрел вопрос: можно ли каким-то способом прописать такое соответствие идентичных элементов разных групп? То есть, каким-то образом указать Альтиуму, что размещать транзистор VT25 следует так же, как и транзистор VT15 и т.д?
|
|
|
|
|
Jun 5 2007, 15:48
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата(Gennaj @ Jun 5 2007, 17:19)  Изучил. Попробовал. В принципе, работает. К сожалению, вариант, описанный в статье нам не подходит, так как у нас компоненты имеют большое количество присоединенных полей свойств (для резистора, например: BCPId, Rem, Manufacturer, ManufacturerPartNumber, Value, Power/Voltage, Tolerance, Корпус) и передавать каждое из этих свойств с помощью параметров иерархического блока очень проблематично... Более-менее приемлем вариант с блокировкой компонентов исходного размещения, размещения поверх них других компонентов, относ их в сторону и копирование дорожек с переходными отверстиями, но это тоже не идеал, так как хотелось бы именно автоматической расстановки компонентов, а не только копирования дорожек... Я попробовал сгенерировать румы со схемы без иерархии, присвоив элементам групп некие классы. При этом на печатной плате тоже получается набор ячеек, но Альтиум теряет взаимосвязь между идентичными элементами разных румов (то есть отказывается автоматически размещать компоненты, так как не знает, что резистор R1 из ROOM1 соответствует резистору R19 из ROOM2). Соответственно, созрел вопрос: можно ли каким-то способом прописать такое соответствие идентичных элементов разных групп? То есть, каким-то образом указать Альтиуму, что размещать транзистор VT25 следует так же, как и транзистор VT15 и т.д? Это тоже просто. Передается только один Link А далее вес берется из базы данных. В последнем номере кратко об этом сказано. Может рожу и напишу подробней. Вообше нет необходимости хранить это множество параметров, все равно в PCB они не передаются. Достаточно толко те, что отображаются на самой схеме + LINK Остальное напиримеер в обыкновенном EXELL файле. Кстати править, вносить изменение и все прочее значительно проще удобней оперативней и тюпю
|
|
|
|
|
Jun 6 2007, 11:01
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
В явном виде я там этого не нашел, но кое-что все-таки получилось Рассказываю по-порядку (может, еще кому-нибудь пригодится): 1. На принципиальной схеме всем компонентам одной ячейки присваиваем одно и то же имя класса (например, "Ячейка1", "Ячейка2" и т.д.). 2. В "Project Options" на закладке "Class Generation" снимаем галку там, где указана генерация рума с листа схемы, и ставим галочки в "генерировать классы компонентов" и "генерировать румы для классов компонентов". 3. Обновляем печатную плату, при этом каждая ячейка оказывается в своем руме. 4. На печатной плате выделяем эквивалентные по размещению элементы в разных румах и присваиваем каждой такой группе эквивалентных элементов один и тот же параметр Channel Offset. Это (в смысле, выделение эквивалентных элементов) можно сделать и путем выделения элементов на принципиальной схеме с последующим выделением этих элементов на ПП (правый щелчок-Part Action-Select PCB Component). 5. Разводим первую ячейку. 6. Копируем формат румов командой Design-Rooms-Copy Room Formats. Все  Важное замечание: идентификация эквивалентных элементов происходит ТОЛЬКО по параметру Channel Offset. Поэтому, никто не запрещает, при необходимости, например, вместо резистора в одном из румов установить индуктивность или емкость  У нас потребовалось чередовать пару емкость-индуктивность  Даже корпуса могут быть разными! Правда, в этом случае, какая-нибудь из дорожек можт не попасть на соответствующий вывод
|
|
|
|
|
Jun 6 2007, 11:46
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата Не понял, что именно можно еще (кроме десигнатора и коммента) сдвинуть в корпусе или надписи у одного из них. По-подробнее, плиз 1 Подпись контакта на шелкографии 2 один из PAD 3 Контур компонета 4 ...
|
|
|
|
|
Jun 6 2007, 12:12
|

Гуру
     
Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671

|
Цитата(Gennaj @ Jun 6 2007, 14:53)  Ясно. То есть речь о внесении "местных" изменений в библиотечный компонент. Мне кажется, что при таких изменениях достаточно сложно программно предусмотреть все возможные виражи полета мыслей разработчика ПП. Тем более, что копирование формата, вроде как, предусматривалось для идентичных по разводке ячеек  Да не все так просто. первый контакт надо обозначать на шелкогравии. А место обозначение может попаст на Pad чужого элемента Теже трасформаторы со свобобнами выводами обмоток,или динамики, у которых есть свобода установки и перемешения pAD Для подпайки- имх и маркировать нужно все и двигаь тоже можно и нужно. Да и сами элементы разные могут быть. так что даже при ограниченном полете фантазии вариантов- до безобразия много
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|