Перейти к содержанию
    

ggg

Свой
  • Постов

    327
  • Зарегистрирован

  • Посещение

Весь контент ggg


  1. Весь фокус в удобстве навигации ;) Даже за один день очень привыкаешь делать zoom колесиком (в AutoCadе сделано аналогично), потом в OrCad или Protel рука постоянно сама тянется колесо покрутить, что, у некоторых, сопровождается не всегда цензурными высказываниями
  2. Ладно, народ, все мы когда-то начинали. Ну, испугался парень с непривычки, с кем не бывает :) Если по-простому, то все панельки можно перемещать по экрану в любое место. При этом, почти каждая панель может быть закреплена на любой из 4-х сторон экрана. Чтобы переместить панель, необходимо взять ее мышкой за синюю полосу вверху, при этом в центре экрана появится две или четыре кнопки, показывающие, куда можно прикрепить эту панель. Продолжая держать панель мышкой, наводите курсор на нужную кнопку, при этом панелька "прыгает" на соответствующее место. Далее, можно выбрать тип отображения панели, а именно, будет ли она висеть на экране постоянно, или будет сама убираться с экрана, когда с нее будет уходить курсор. Если посмотреть на синюю полосу вверху панельки (если панель закреплена на какой-нибудь стороне экрана), то вы увидите там значок, напоминающий, пардон, шило :) Нажав на этот значок, можно поменять режим отображения окна. Если это "шило" горизонтально, то окошко автоматически убирается с экрана. А если, типа, "воткнуто" :), то панель закреплена и не убирается с экрана. Кроме того, очень полезным является полноэкранный режим, вызываемый по команде Alt+F5, или через View-Full Screen. Кстати, все лишние панели можно совсем убрать с экрана. И еще, очень рекомендую, если Вы используете мышку с колесиком, то открыв закладку Tools - Schematic Preferences... - Mouse Wheel Configuration, перенести галочку с (Zoom Main Window - Ctrl) на (Vertical Scroll - Ctrl). Это позволит Вам изменять масштаб отображения путем простого вращения колесика мышки, чего в Protele не было и близко. А перемещение листа схемы - по нажатию правой кнопки, так же, как и платы в Protel99. P.S. Если в моем ответе Вы не нашли ответа на свой вопрос, попробуйте поместить снимок экрана и по-подробнее спросить, что Вы хотите изменить :) P.P.S. Гарантирую, когда поработаете в Альтиуме хотя бы 2-3 дня, в Protel99SE вернуться не захотите ни за какие коврижки ;)
  3. Здравствуйте! Продолжаю тему про экспорт из Altiuma в Protel99. Теперь задача автоматически создать проект в Protel и затянуть в него файлы, сохраненные из Альтиума. В принципе, я почти со всем разобрался. То есть, мой макрос открывает текстовый файл с именами и путями (созданный Альтиумом при экспорте), потом создает пустой проект с нужным имененем в нужной папке. Потом нужно импортировать файлы в папку Documents. Это выполняется с помощью процесса "Binder:ImportObject". И вот тут-то и возникает проблема. Мелкая, но противная. Дело в том, что импортирование файлов происходит в текущую папку, то есть прямо в корневик созданного проекта. Вопрос: как в макросе подать команду на открытие заданной папки проекта? Команда "Binder:OpenObject" работает только с "currently focussed object", а вот как перевести фокус на заданную папку внутри проекта, я никак не могу разобраться. Кто-нибудь знает, как это сделать?
  4. Проверил, действительно, измеряет не между центрами, а между краями меди. Признаю свою неправоту :)
  5. Насчет кнопочки - это Вы верно заметили. А насчет остального - я писал только про свободные контактные площадки. У них имя можно менять сколько заблагорассудится :)
  6. В принципе, может получится. Вам придется кое-что поменять, а кое-какие функции вообще выбросить. Я отправил Вам в личку текст скрипта. Попробуйте, а затем напишите о результатах.
  7. Потому что измерить нужно не сам примитив, и не расстояние между центрами падов, а расстояние между краями контактных площадок. А в этом случае единственный нормальный (ИМХО, конечно), вариант - во-первых, уменьшить сетку (но не уменьшать резмер электрической привязки и шаг расположения компонентов), а, во-вторых (как справедливо заметил Murzik_6011), переключится на другой слой, так как объектная привязка работает только в пределах активного слоя. Переключение возможно прямо в процессе выполнения команды кнопками "+" и "-". Кроме того, если вопрос в том, чтобы не допустить слишком близкого расположения падов, то нужно просто правильно настроить правила, тогда Альтиум будет производить все такие измерения автоматически :)
  8. Румы можно (и нужно) определить еще на схеме. Это делается путем добавления к элементам параметра ClassName. Для элементов в пределах одного рума этот параметр должен быть одинаковым. Затем, в опциях проекта необходимо указать "Генерировать румы для классов компонентов", а ненужные в данный момент опции (типа генерировать румы с каждого листа и т.п.) - отключить. И все :)
  9. Хм... А это действительно кому-то интересно??? Дело в том, что программа получилась не короткая, и выполняет кучу разных процедур, обеспечивая трансляцию файлов текущего проекта в формат Protel99. При этом проверяются некоторые типичные ошибки, препятствующие корректной передаче. Здесь важное уточнение: программа ориентирована на работу с нашей библиотекой. Например, по ГОСТ требуется разрывы линий электрической связи завершать стрелками, простое указание NetLabel не катит. Ну, мы и сделали графический компонент типа "Обрыв связи", который проставляем на концах линий. В Альтиуме все в порядке, а вот в Протеле возникает проблема - там нет типа graphical. Соответственно все эти графические символы должны быть пронумерованы уникальными десигнаторами. С помощью команды Annotate этого не сделать, так как графика на автомате не нумеруется. Значит, либо Find Symilar - смена типа - нумерация - смена типа, либо писать программу. Аналогично, Протел не понимает полигонов типа Solid, а мы в Альтиуме работаем именно с такими. Вот программа и производит кучу проверок и преобразований, после чего сохраняет набор файлов. Короче, сейчас скопирую из руководства, которое я для наших написал: Ошибки, которые обнаруживаются программой и приводят к ее останову: - наличие многоконтактных разъемов («Цепь-Контакт»), нарисованных на схеме зеркально относительно библиотечного компонента (имеющиеся в библиотеке многоконтактные разъемы имеют два варианта начертания, что позволяет не использовать атрибут Mirror – «отразить»); - наличие компонентов, расположенных вне сетки – ошибка типа «Off grid»; - наличие символов «Sheet Entry», расположенных не в сетке с шагом 10. Все эти ошибки должны быть вручную исправлены пользователем. Кроме того, программа автоматически осуществляет ряд подготовительных действий, которые призваны обеспечить правильную передачу в Protel99 проекта. А именно: - в папке текущего проекта создается папка для сохранения файлов по принципу: <Имя проекта>\Protel99 (например: AV221_V6\Protel99); - если такая папка ранее существовала, то все файлы, которые были в ней до начала работы скрипта, удаляются; - автоматически нумеруются все символы «Обрыв связи»; - корректируются ссылки в элементах SheetSymbol (символ листа); - изменяется тип всех полигонов на печатной плате с Solid на 45DegreeHatch и осуществляется их перестройка; - обнаруживаются и корректируются правила для Clearance<=0. Все корректировки, проводимые автоматически, не сохраняются в исходных файлах Альтиума и попадают только в файлы формата Protel99. Вот, собственно, такая программа :-) Могу, в принципе, поделится, если это кому-то нужно.
  10. Сам задал, сам и ответил... В общем, у этой процедуры такого свойства нет, но можно использовать другие. Задачу решить удалось :-) :yeah:
  11. Верно, можно и с помощью ROOM. При этом, даже если схема на одном листе, можно запросто определить разные ROOM для компонентов прямо на схеме. Для этого надо компонентам создать параметр с именем "ClassName", а значением его сделать, например, "Плата 1" и "Плата 2". Затем в свойствах проекта (Project Options) на закладке Class Generation указать две галочки: Generate Component Classes и Generate Rooms for Component Classes. В результате все компоненты на плате будут разделены на два ROOMа - "Плата 1" и "Плата 2". Русский язык, кстати, поддерживается нормально :) Отображение "лишних" линий связи можно отключить прямо на плате. Но, на мой взгляд, все-таки более правильно, чтобы не мучится с линиями, все-таки на схеме организовать разъемы для разных плат. Тогда никаких "лишних" линий связи на плате не будет по-определению.
  12. Если я правильно понял, имеется в виду, что проект создан один, а воплотиться он должен в несколько плат, соединенных между собой то ли разъемами, то ли просто одиночными проводниками. Насколько мне известно, считается более правильным создавать одну плату на один проект. В том смысле, что проект - это и есть одна плата, заканчивающаяся, например, разъемами. Однако, Альтиум очень многое позволяет пользователю. Поэтому, в принципе нет ничего невозможного в том, чтобы разбить схему на несколько плат, нарисовав их как в одном PCB-файле, так и в нескольких. При этом, если не разрисовывать межплатные соединения на схеме с помощью разъемов, то на печатной плате остануться неразведенные дорожки, на которые, если очень хочется, можно просто не обращать внимания. Если же соответствующим образом откорректировать схему (добавив какие-нибудь разъемы/соединители в местах разрывов), то и неразведенных дорожек не останется. Правда, гербер при таком способе, наверное будет один на весь набор плат. Второй вариант - создать в проекте несколько плат. При этом по команде Update from schematics можно будет выбрать, какую из плат обновляем. НО! В каждую из таких плат по умолчанию будет запихиваться весь набор компонентов с принципиальной схемы и "лишние компоненты" придется оставлять "за бортом" платы:) В общем, тут много чего можно нафантазировать :)
  13. Зачет! Ржали всей комнатой! :08: :08: :08:
  14. Сорри, какой-то странный у Вас нормоконтроль. Смотрите ГОСТ 2-702 с изменениями 2000 года, пункт 3.36, и чертеж к нему под №11. Там приведен пример с обозначением номинала элемента. Другое дело, что номинал нужно отображать по ГОСТ. Наш нормоконтроль не требует от нас скрывать номиналы.
  15. Здравствуйте! Возникла необходимость сохранять проекты в ином формате. Ну, ясное дело, вручную все просто: File - Save Copy As на каждом листе схемы и всего делов-то. Но вот захотелось автоматизировать сей нудный процесс, сведя сохранение наскольких файлов проекта к нажатию одной кнопки. Вот тут-то и вылезла "заковыка": стандартный процесс SaveObject имеет всего два параметра: SaveMode (Standard, SaveAs, SaveCopyAs) и ObjectKind (выбор, что сохранять). После запуска этого процесса я попадаю в стандартное окно "SaveCopyAs" и вынужден снова вручную вводить имя файла, выбирать папку назначения и тип файла. Вопрос: можно ли каким-то образом автоматизировать ввод этой информации? Иными словами - как из скрипта передать диалогу "SaveCopyAs" три параметра: папка, имя файла и тип файла.
  16. Ясно. Просто я пытался найти что-то аналогичное явно видной галочке в Protel99 - "Add Testpoints". Обидно... Интересно, а в какой версии она еще работала? И будет ли это исправлено в версии 6.8 (типа, вопрос к А. Сабунину :) )?..
  17. Нет, это неверно. Эта функция по определению не создает новых контактных площадок. Она осуществляет поиск среди имеющихся, присваивая им свойство "Testpoint", если их параметры совпадают с тем, что указано в правилах на "Testpoint Style" и "Testpoint Usage". Если, например, вручную понаставить на плате "пятаков" Free-pads, не присваивая им свойство Testpoint, а потом запустить Find and Set Testpoint, то все эти пятаки станут тестовыми точками. А вот где в "Setup Autorouter" находится хоть что-нибудь, имеющее отношение к автоматической расстановке тестовых точек - у меня найти не получается...
  18. Спасибо за ответ, Vokchap! Ясно, это действительно сработало. Попробовал все установить в мили, и сетку на плате, и правила для точек (и стили, и зазоры). Запустил автороутер - дорожки он провел, а вот точки по-прежнему не расставил. Если Вас не затруднит, не могли бы Вы на примере той мелкой платки, которую я приложил к посту ранее, показать, что нужно сделать, чтобы автороутер смог поставить точки в виде "пятаков" автоматически? Сорри, что-то не вижу. Может, не там смотрю??? Прилагаю картинку с Routing Setup Report с той же самой мелкой платки. Где на ней искать правила для тестовых точек? А ПМ - это приват? ;)
  19. Абсолютно верно, Владимир, именно это нам и нужно. Обращаю Ваше внимание, что система Protel99 умеет сама добавлять контрольные точки. Какие именно ("пятаки" или отверстия) - описывается правилами. Кстати, правилами так же можно определить и расстояние до компонентов. Автотрассировщик в Protel99 пытается автоматически добавить контрольные точки на все цепи (если не указан запрет для каких-то цепей), но, разумеется, добавляет только там, где может их расположить (с учетом всех правил для зазоров, стилей тестовой точки и размеров платы). А вот автотрассировщик в Альтиуме даже не пытается их установить. Причем в списке правил автотрассировщика в Альтиуме даже нет строки, связанной с контрольными точками! В то же время, в документации эта функция упоминается. Да и сами правила стилей тестовых точек типа "Create new SMD Top Pad" подразумевают, что Альтиум, вроде как, способен "Создать новую SMD площадку". Что посоветуете? P.S. Как я понял, никто из посетителей форума никогда такой задачей не страдал?
  20. Ну, у нас монтажные и крепежные отверстия выполняются с помощью примитива Pad на слое MultiLayer. Тем самым можно сразу задать, например, диаметр металлизации вокруг этого крепежного отверстия, снять там "зеленку", указать отсутствие паяльной пасты, задать правила подхода полигонов к этим отверстиям... У нас, например, полигоны подходят к отверстиям, которыми плата закрепляется в устройстве, напрямую, без тепловых барьеров, в отличии от иных отверстий. В то же время, для создания сборочного чертежа мы используем несколько механических слоев, в которых прорисовываем корпуса компонентов в том виде, в котором мы хотим их видеть на сборочном. Например, в библиотеке футпринтов мы рисуем корпус в слое Mechanical13. В печатной плате указываем пару механических слоев: Mechanical13 - Mechanical14. В результате, если компонент размещается на слое Top, его корпус оказываетя в 13-м слое, а если на слое Bottom, - то на 14-м. Вообще, если я правильно понял, производителю, в общем-то, все равно, в каком слое прорисованы контуры платы. Главное сообщить ему об этом в сопутствующей документации.
  21. Гм... Знаете, Владимир, когда я прочитал Ваше предложение про "5 минут работы", меня, простите, разобрал истерический смех... Дело в том, что то, что приложено к моему посту - мелкая макетка, почти не имеющая отношения к нашему проекту. Сама плата, для которой возник этот вопрос, содержит ровно 391 цепь (многослойная смешанная аналого-цифровая плата). И 5-ю минутами тут ну просто никак не обойтись, я же не Автороутер :-) Про ручную установку и галочку "Testpoint" мне известно, в конце концов мне так и пришлось расставить точки вручную... Судя по Вашим ответам в других постах, Вы неплохо знаете Альтиум. Поэтому обращаюсь непосредственно к Вам: так есть, или нет в Альтиуме эта полезная функция - автоматическая расстановка контрольных точек? Второй вопрос: почему при ручной установке тестовой точки типа "пятака", система контроля на ошибки выдает нарушение "стиля контрольных точек", несмотря на то, что все размеры созданного пятака точно соотвествуют указанным в правилах? Чтобы пояснить второй вопрос, прилагаю ту же платку, но с тремя вручную поставленными тестовыми точками. Вопрос: почему они подсвечены как ошибка? project2.rar
  22. Здравствуйте! Возникла проблема при импорте платы в Автокад. Для быстрого формирования сборочного чертежа по разработанной плате мы используем механические слои, в которых прорисовывается обозначение компонента так, как мы хотим видеть его на сборочнике, плюс к этому его позиционное обозначение. И вот здесь возникает проблема. Для отображения позиционного обозначения на механическом слое мы попытались использовать служебную строку ".Designator", и на чертеже в Альтиуме все было нормально. Но, выяснилось, что при передаче чертежа в DXF или DWG формат вся информация о позиционных обозначениях на механических слоях оказалась потеряна - вместо них везде оказалась надпись ".-1". Это глюк Альтиума, или мы что-то не правильно делаем?
  23. Для пояснения предыдущего вопроса прикрепляю файл с очень простой схемкой. Вопрос к знатокам Альтиума: что нужно сделать для того, чтобы Альтиум автоматически расставил контрольные точки на каждой цепи? Неужели никто не делал ничего подобного? project1.rar
  24. Здравствуйте! Как заставить AD автоматически создать тестовые точки на плате? Плата уже разведена. По некоторым причинам нам не желательно использовать в качестве ТР выводы компонентов, желательно создать "пятаки" для автоматического контроля. Если я правильно разобрался в документации, то для этого необходимо описать правило для точек в соответствующем разделе, затем выполнить команду AutoRoute, установив галочку "Заблокировать ранее разведенное" (Lock pre-routing). Пытаюсь это выполнить, - и ничего не происходит... В Protel99 для этого существовал пункт в меню Setup Autoroute - "Add Testpoints". В AD я ничего подобного найти не могу... Как решить данную проблему?
×
×
  • Создать...