|
Как принудительно обновить footprint-ы со схемы?, если footprint уже есть на плате, то со схемы он не изменятеся... |
|
|
|
 |
Ответов
|
Nov 1 2007, 12:30
|

Профессионал
    
Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835

|
Цитата(Gennaj @ Oct 31 2007, 14:41)  Допустим, у меня на плате есть компоненты с футпринтом по имени "SO8" ... При этом в этой новой библиотеке это посадочное место у меня называется тоже SO8. Теперь на схеме я изменил футпринты элементов на новые. Gennaj, судя по описанию, на схеме ты ничего не изменил, как был футпринт SO8, так он и остался. Принципиальная схема не содержит данных из какой библиотеки надо брать футпринты, только их названия и идентификаторы для синхронизации. И компаратор не пытается сравнивать копии футпринтов, хранящихся в pcb, с теми, что находятся в библиотеках в текущий момент, т.к. в общем случае библиотеки могут вообще отсутствовать. Цитата(Gennaj @ Oct 31 2007, 14:41)  Таким образом, получается, что после изменения принципиальной схемы, компоненты на плате осталичь привязаны к старым библиотекам футпринтов Нельзя так говорить, никакой привязки компонентов на схеме и плате к библиотекам футпринтов небыло и нет. Файл pcb сам хранит внутри себя копию футпринта в том виде, в каком он попал туда первоначально. Необходимое условие для его модификации - несоответствие имени футпринта или его идентификатора на схеме и плате. Если эти параметры рассинхронизовать, будет предложено удалить старый футпринт и добавить новый из подключенной библиотеки с наивысшим приоритетом (но не на место старого, а на правую сторону ПП, что неудобно). Также будет обновлена хранимая в pcb копия его изображения, чтобы была возможность потом отвязаться от самой библиотеки, например, для целей коллаборации. Получается, самый удобный способ обновить футпринт на плате, это найти его библиотеку и оттуда выполнить его упдэйт (обновить копию). Обновлять со схемы выходит сложнее. Цитата(Gennaj @ Oct 31 2007, 14:41)  Вариант обновления из библиотеки футпринтов мне не подходит, так как библиотек много и искать кого и откуда обновлять не вполне удобно. А как АД должен догадаться, из какой именно библиотеки нужно взять футпринт, если название SO8 встречается в пяти местах? Только из приоритетной сетки, т.е. по-любому придется найти отредактированную библиотеку, чтобы возвести её в наивысший ранг, либо чтобы её открыть и выполнить из неё упдэйт.
|
|
|
|
|
Nov 1 2007, 15:52
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Что-то я малость запутался... Цитата(Vokchap @ Nov 1 2007, 15:30)  Gennaj, судя по описанию, на схеме ты ничего не изменил, как был футпринт SO8, так он и остался. Принципиальная схема не содержит данных из какой библиотеки надо брать футпринты, только их названия и идентификаторы для синхронизации. Не понятно. На принципиальной схеме, открыв параметры элемента и нажав кнопку Edit (для футпринтов), попадаем в поле выбора футпринт. При этом, кроме имени футпринта, это поле содержит и возможность выбора библиотеки: Any, Library Name или Library Path. Разве это не информация о том, из какой библиотеки брать футпринт??? При этом приоритет библиотеки в списке играет роль только при выборе параметра Any. В этом случае Альтиум, действительно, возьмет футпринт из первой по списку библиотеки, где окажется такое имя. В остальных случаях футпринт будет взят из той библиотеки, которая указана. В моем же случае, поскольку я сейчас начал работать с базой данных, в этом выборе присутствует еще одна строчка, которая и выбрана у меня по умолчанию: Use footprint from component library <Имя базы>.DbLib. При выборе этой строчки Альтиум затеняет и не позволяет вносить изменения в строку с именем футпринта. Цитата(Vokchap @ Nov 1 2007, 15:30)  Нельзя так говорить, никакой привязки компонентов на схеме и плате к библиотекам футпринтов небыло и нет. Файл pcb сам хранит внутри себя копию футпринта в том виде, в каком он попал туда первоначально. Интересно. А какую тогда функцию выполняет строка Library в поле Footprint в окне свойств компонента на печатной плате? Неужели просто для справки? Там совершенно четко прописано имя библиотеки, из которой взят футпринт. В моем случае, если компонент взят из базы данных, там стоит именно имя этой базы данных. Причем для "старых" компонентов, там стоят старые имена библиотек, типа Miscellaneous Devices.IntLib и т.п. Цитата(Vokchap @ Nov 1 2007, 15:30)  Получается, самый удобный способ обновить футпринт на плате, это найти его библиотеку и оттуда выполнить его упдэйт (обновить копию). Обновлять со схемы выходит сложнее. Да я, в принципе, так и сделал. Но меня смутил такой способ обновления. Кроме того, очень смущает то, что после такого обновления имя библиотеки в свойствах компонента на печатной плате остается прежним. Не вылезет ли это где-нибудь в самый неподходящий момент? Цитата(Vokchap @ Nov 1 2007, 15:30)  Только из приоритетной сетки, т.е. по-любому придется найти отредактированную библиотеку, чтобы возвести её в наивысший ранг, либо чтобы её открыть и выполнить из неё упдэйт. Дык, нету у меня сейчас никаких библиотек ни в проекте, ни в системе, кроме *.DBLib. Я же с базой сейчас начал работать, вот все лишнее и поотключал... Цитата(Владимир @ Nov 1 2007, 15:55)  1/ Строка Footprint Меняете на несущестующий (например!!!) затем востанавлмваете старый (SO8) и вам заменит на тот, который находится в более приоритетной библиотект Замена на несоответствующий футпринт приводит к надписи "Cannot match pads whith new footprints". И нет у меня более или менее приоритетных библиотек - все лишнии отключены, оставлена только база данных. Цитата(Владимир @ Nov 1 2007, 15:55)  2. Про"Use..." Это вы еще до этого не дошли. Это базу данных надо подключать к проекту, тогда прямо отуда все можно заменить . Я эти только начал пользоваться. И то именно эту функцию пока не использоваал. Так как корпуса пока сразу ставлю нужные. А технология пайки пока не меняется, и нет неоходимости изменять ращмеры PAd Ну, почему же не дошел  . Как раз сейчас активно использую и осваиваю. С базой, кстати, тоже есть нюансы. Дело в том, что при обновлении из базы поле футпринт не обновляется (ни из самой базы, ни с помощью линка). Оно заполняется только при первичном помещении компонента на схему. как я понимаю, это сделано специально - то есть, после помещения компонента, футпринт может быть изменен пользователем, и, чтобы при обновлении эти изменения не пропали, это поле обновляться отказывается. Единственное, что вызывает вопросы - почему при создании линка на базу, я вполне могу указать в соответствующей графе приказ всегда обновлять футпринты, а вот на самом деле этого не происходит... То же самое, кстати, и с 3D моделями - появляются автоматом, только если берем из базы новый компонент и помещаем на схему. Если модель была добавлена в базу позже, то обновление схемы из базы, почему-то, не вызывает обновления поля 3D-Model. Что же касается технологии пайки... Дело в том, что у нас принято формировать сборочный чертеж с платы. Так вот, изменения, внесенные мной в футпринты, касались, во-первых, механического слоя, используемого для создания сборочного чертежа, а, во-вторых, уточнению зазоров на расположение компонентов под требования станков нашего изготовителя.
|
|
|
|
|
Nov 1 2007, 16:28
|

Профессионал
    
Группа: Админы
Сообщений: 1 884
Регистрация: 15-07-06
Из: Новосибирск, Россия
Пользователь №: 18 835

|
Цитата(Gennaj @ Nov 1 2007, 18:37)  Разве это не информация о том, из какой библиотеки брать футпринт??? Конечно информация, но только тогда, когда схема и плата рассинхронизованы. Если ID и имена идентичны, то в свойствах футпринта на схеме можно выставлять что угодно, обновлений не будет. Для того ID и придуманы. Еще раз напомню: Цитата Файл pcb сам хранит внутри себя копию футпринта в том виде, в каком он попал туда первоначально. Необходимое условие для его модификации - несоответствие имени футпринта или его идентификатора на схеме и плате. Цитата(Gennaj @ Nov 1 2007, 18:37)  А какую тогда функцию выполняет строка Library в поле Footprint в окне свойств компонента на печатной плате? Там совершенно четко прописано имя библиотеки, из которой взят футпринт. В моем случае, если компонент взят из базы данных, там стоит именно имя этой базы данных. Причем для "старых" компонентов, там стоят старые имена библиотек, типа Miscellaneous Devices.IntLib и т.п. Gennaj, ну ты сам ответил на свой вопрос. Именно для того, чтобы разработчик мог через год понять, из какой библиотеки ПЕРВОНАЧАЛЬНО был взял этот футпринт.  При update это поле не обновляется. Цитата(Gennaj @ Nov 1 2007, 18:37)  Кроме того, очень смущает то, что после такого обновления имя библиотеки в свойствах компонента на печатной плате остается прежним. Не вылезет ли это где-нибудь в самый неподходящий момент? Так оно и есть. В определённой ситуации может возникнуть неопределенность. "Осведомлён - значит подготовлен".  Цитата(Gennaj @ Nov 1 2007, 18:37)  Дык, нету у меня сейчас никаких библиотек ни в проекте, ни в системе, кроме *.DBLib. Я же с базой сейчас начал работать, вот все лишнее и поотключал... С базами я не работал, поэтому не буду давать советов. Но подозреваю, что там может быть подобная ситуация (несколько одноимённых футпринтов в разных местах). Поправь, если не прав.
|
|
|
|
|
Nov 2 2007, 09:10
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Спасибо за очень подробный ответ, Vokchap! Цитата(Vokchap @ Nov 1 2007, 19:28)  С базами я не работал, поэтому не буду давать советов. Но подозреваю, что там может быть подобная ситуация (несколько одноимённых футпринтов в разных местах). Поправь, если не прав. Теоретически, такое возможно. Но в моем случае были созданы новые библиотеки футпринтов специально под базу. Сама база представляет из себя просто таблицу в формате Access или Excel (в моем случае - Excel). Первая строчка определяет названия полей свойств элемента. Соответственно, есть поле Footprint Path (определяющее местоположение библиотеки на диске) и поле Footprint Ref, в котором содержится название футпринта. Таким образом, когда берешь элемент из этой базы, футпринт там получается четко привязан к конкретной библиотеке. В моем случае все библиотеки созданы так, чтобы не содержать элементов с одинаковыми именами. То есть, например, SO8 встречается только в одной библиотеке - Analog.PcbLib. Вообще, как оказалось, работать с базой - очень удобно. Во-первых, нет необходимости самому заполнять поля свойст элемента, что устраняет ошибки и разночтения при формировании перечня элементов. А то бывает, когда несколько человек делают проект, то один и тот же элемент у, допустим, Васи указан фирмы Maxim, а Петя хочет себе фирму Sipex  . А бедный завод пытается закупить обоих производителей  . Во-вторых, возможность синхронизировать схему и базу по коду (в нашем случае - параметр ID), позволяет вносить изменения в базу с последующим обновлением схемы. В-третьих, очень удобно заменять компонент на схеме. То есть, когда, например, у меня на схеме стоит резистор 10 кОм, а я вдруг захотел его заменить на 1 кОм, то просто нажимается кнопка Choose и в списке выбирается нужный резистор. При этом синхронизация с платой не пропадает! Еще одна маленькая, но очень "вкусная" примочка при работе с базой - возможность прописать ссылки на PDF элементов. Таким образом, прямо со схемы можно открыть параметры элемента (см.рисунок). Цитата Владимир 1. Почемуже не обновляются. Обновляются 2. Поспотрите все настройки, У вас стоит скорее всего "дабавлять если нет" и "не обновлять еесли есть". Более того в самом проекте можно запретить обновление. Да там я смотрел в первую очередь  Специально ставил напротив полей Footprint Path и Footprint Ref вместо Default директиву Update. Результат - нулевой. По всем остальным полям все обновляется и изменяется, как положено  А вот где в самом проекте можно запретить обновление?
Эскизы прикрепленных изображений
|
|
|
|
Сообщений в этой теме
Gennaj Как принудительно обновить footprint-ы со схемы? Oct 31 2007, 11:41 Владимир Выделить все одинаковые и через инспестор заменить... Oct 31 2007, 13:05 Gennaj Цитата(Владимир @ Oct 31 2007, 16:05) Выд... Nov 1 2007, 09:49  Владимир Цитата(Gennaj @ Nov 1 2007, 11:49) К сожа... Nov 1 2007, 12:55    Vokchap Цитата(Gennaj @ Nov 2 2007, 12:10) Вообще... Nov 3 2007, 19:26     Gennaj Цитата(Vokchap @ Nov 3 2007, 22:26) Да, п... Nov 5 2007, 09:45      Vokchap Цитата(Gennaj @ Nov 5 2007, 12:45) Единст... Nov 5 2007, 12:20  Gennaj Цитата(Gennaj @ Nov 1 2007, 18:52) Дело в... Nov 9 2007, 13:54 Владимир Цитата(Владимир @ Nov 1 2007, 15:55)
1/ Строка F... Nov 1 2007, 17:26 Владимир ЦитатаА вот где в самом проекте можно запретить об... Nov 3 2007, 19:51 Владимир ЦитатаУра! Разобрался!
Все оказалось до см... Nov 9 2007, 14:17
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|