|
|
  |
Как принудительно обновить footprint-ы со схемы?, если footprint уже есть на плате, то со схемы он не изменятеся... |
|
|
|
Nov 1 2007, 09:49
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(Владимир @ Oct 31 2007, 16:05)  Выделить все одинаковые и через инспестор заменить одну строчку, если новая библиотека стоит по ранжиру выше.
Если ниже- то и вторую строчку с указаним ссылки на бтблиотеку К сожалению, я не вполне понял, что Вы имеете в виду. Уточняю свой вопрос. 1. Вот компонент до изменений (файл SO8_old.JPG). 2. Вот свойства этого компонента (файл SO8_old_propert.JPG). 3. Вот как выглядят свойства этого компонента в инспекторе (файл SO8_old_propert_inspector.JPG). 4. Вот как должен выглядеть новый компонент (файл SO8_new.JPG). 5. Вот какими свойствами должен обладать новый компонент (файл SO8_new_property.JPG). Обращаю Ваше внимание, что компонент прописан в базе данных. Никакой другой библиотеки футпринтов в настоящий момент у меня к Альтиуму не подключено. В проекте так же нет библиотеки футпринтов. На принципиальной схеме у меня сейчас все компоненты связаны с базой данных, при этом при просмотре со схемы их футпринтов, они отображаются правильно. Но команда Update PCB не проходит, из-за "No difference found". И новый и старый футпринты имеют одно и то же название, но расположены в разных библиотеках. Таким образом, получается, что после изменения принципиальной схемы, компоненты на плате осталичь привязаны к старым библиотекам футпринтов. Как изменить эту связь и обновить все футпринты на плате в соответствии с тем, что прописано в их свойствах на схеме? Кстати, на схеме все эти футпринты имеют прмечание: "Use footprints from database library".
Эскизы прикрепленных изображений
|
|
|
|
|
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, 12:55
|

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

|
Цитата(Gennaj @ Nov 1 2007, 11:49)  К сожалению, я не вполне понял, что Вы имеете в виду. Уточняю свой вопрос. 1. Вот компонент до изменений (файл SO8_old.JPG). 2. Вот свойства этого компонента (файл SO8_old_propert.JPG). 3. Вот как выглядят свойства этого компонента в инспекторе (файл SO8_old_propert_inspector.JPG). 4. Вот как должен выглядеть новый компонент (файл SO8_new.JPG). 5. Вот какими свойствами должен обладать новый компонент (файл SO8_new_property.JPG). Обращаю Ваше внимание, что компонент прописан в базе данных. Никакой другой библиотеки футпринтов в настоящий момент у меня к Альтиуму не подключено. В проекте так же нет библиотеки футпринтов.
На принципиальной схеме у меня сейчас все компоненты связаны с базой данных, при этом при просмотре со схемы их футпринтов, они отображаются правильно. Но команда Update PCB не проходит, из-за "No difference found". И новый и старый футпринты имеют одно и то же название, но расположены в разных библиотеках. Таким образом, получается, что после изменения принципиальной схемы, компоненты на плате осталичь привязаны к старым библиотекам футпринтов. Как изменить эту связь и обновить все футпринты на плате в соответствии с тем, что прописано в их свойствах на схеме? Кстати, на схеме все эти футпринты имеют прмечание: "Use footprints from database library". 1/ Строка Footprint Меняете на несущестующий (например!!!) затем востанавлмваете старый (SO8) и вам заменит на тот, который находится в более приоритетной библиотект 2. Про"Use..." Это вы еще до этого не дошли. Это базу данных надо подключать к проекту, тогда прямо отуда все можно заменить . Я эти только начал пользоваться. И то именно эту функцию пока не использоваал. Так как корпуса пока сразу ставлю нужные. А технология пайки пока не меняется, и нет неоходимости изменять ращмеры PAd
|
|
|
|
|
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 1 2007, 17:26
|

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

|
Цитата (Владимир @ Nov 1 2007, 15:55)
1/ Строка Footprint Меняете на несущестующий (например!!!) затем востанавлмваете старый (SO8) и вам заменит на тот, который находится в более приоритетной библиотект
Замена на несоответствующий футпринт приводит к надписи "Cannot match pads whith new footprints". Да скорее всего так. не проверял "Ну, почему же не дошел . Как раз сейчас активно использую и осваиваю. С базой, кстати, тоже есть нюансы. Дело в том, что при обновлении из базы поле футпринт не обновляется (ни из самой базы, ни с помощью линка). Оно заполняется только при первичном помещении компонента на схему. как я понимаю, это сделано специально - то есть, после помещения компонента, футпринт может быть изменен пользователем, и, чтобы при обновлении эти изменения не пропали, это поле обновляться отказывается. Единственное, что вызывает вопросы - почему при создании линка на базу, я вполне могу указать в соответствующей графе приказ всегда обновлять футпринты, а вот на самом деле этого не происходит... То же самое, кстати, и с 3D моделями - появляются автоматом, только если берем из базы новый компонент и помещаем на схему. Если модель была добавлена в базу позже, то обновление схемы из базы, почему-то, не вызывает обновления поля 3D-Model." 1. Почемуже не обновляются. Обновляются 2. Поспотрите все настройки, У вас стоит скорее всего "дабавлять если нет" и "не обновлять еесли есть". Более того в самом проекте можно запретить обновление. Успехов
|
|
|
|
|
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. Результат - нулевой. По всем остальным полям все обновляется и изменяется, как положено  А вот где в самом проекте можно запретить обновление?
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 3 2007, 19:51
|

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

|
Цитата А вот где в самом проекте можно запретить обновление? Я этим не пользуюсь. Но как раз при разборе на прошлой неделе вылезла в какомто окне эта опция, а сейчас повторить не мого. Хотя это может нваеяло Цитата (Gennaj @ Nov 2 2007, 12:10)
Вообще, как оказалось, работать с базой - очень удобно....
Да, при коллективной работе единственно правильное решение. Для меня тоже актуально, будет время разберусь .... Да. Особено если на расстоянии
|
|
|
|
|
Nov 5 2007, 09:45
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(Vokchap @ Nov 3 2007, 22:26)  Да, при коллективной работе единственно правильное решение. Для меня тоже актуально, будет время разберусь .... А Version Control используешь? Тоже полезно, особенно когда разработчики имеют полный доступ к "хранилищу". Использую, причем очень активно. Я уже писал по этому поводу, вот, посмотри здесь: http://electronix.ru/forum/index.php?showtopic=25347Единственная проблема - заставить всех обормотов читать сообщения, которые выкидывает машина  А то есть некоторые отрицательные герои, которым сообщение о том, что их локальная версия устарела - не указ
|
|
|
|
|
Nov 9 2007, 13:54
|
Местный
  
Группа: Свой
Сообщений: 328
Регистрация: 15-08-06
Из: Севастополь
Пользователь №: 19 562

|
Цитата(Gennaj @ Nov 1 2007, 18:52)  Дело в том, что при обновлении из базы поле футпринт не обновляется (ни из самой базы, ни с помощью линка). Оно заполняется только при первичном помещении компонента на схему.
То же самое, кстати, и с 3D моделями - появляются автоматом, только если берем из базы новый компонент и помещаем на схему. Если модель была добавлена в базу позже, то обновление схемы из базы, почему-то, не вызывает обновления поля 3D-Model. Ура! Разобрался! Все оказалось до смешного просто! Не обновлялось, потому что я, зациклившись на базе данных, выбирал пункт Update From Database. Но если у меня база данных подключена в качестве библиотеки, то надо было выбирать пункт Update From Libraries! И при выборе такого пункта можно обновить по выбору и параметры, и модели, и графику компонентов.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|