Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Написание Скриптов для Altium
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Visuvius
В продолжение темы Оформление обозначений Микросхем по ГОСТ

Цитата(Gennaj @ Nov 14 2007, 11:41) *
[SCIP]


Решил написать скрипт по образу вашего.
{На дельфи никогда не писал, но это не важно ...}
1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД

Идея следующая:
1. Получаем размеры листа.
2. Определяем количество и типы компонентов, если что не понятно выводим запрос.
3. Строим перечень в виде, прямоугольников, внутри которых забит необходимый текст
Пример готового файла я приложил.
Да, условие - обратите внимание у всех элементов на ехеме есть параметр "ТУ" там забит децимальный номер для заказа элемента.

Информацию по написанию беру из документа "TR0139 Scematic API Reference.pdf"

"Извините тем наплодил - инет очень сильно тормозит"
tyro
Цитата(Visuvius @ Nov 18 2007, 15:34) *
В продолжение темы Оформление обозначений Микросхем по ГОСТ



Решил написать скрипт по образу вашего.
{На дельфи никогда не писал, но это не важно ...}
1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД

Идея следующая:
1. Получаем размеры листа.
2. Определяем количество и типы компонентов, если что не понятно выводим запрос.
3. Строим перечень в виде, прямоугольников, внутри которых забит необходимый текст
Пример готового файла я приложил.
Да, условие - обратите внимание у всех элементов на ехеме есть параметр "ТУ" там забит децимальный номер для заказа элемента.

Информацию по написанию беру из документа "TR0139 Scematic API Reference.pdf"

"Извините тем наплодил - инет очень сильно тормозит"

Между прочим это уже третий пост с одним вопросом, а прикрепленного файла нет. Вместо того чтобы размножать пост, воспользуйтесь его редактированием.
Gennaj
Цитата(Visuvius @ Nov 18 2007, 15:34) *
В продолжение темы Оформление обозначений Микросхем по ГОСТ
Решил написать скрипт по образу вашего.

1. Скрипт для помещения на поле чертежа (Обычно лист A3..A1) перечня элементов по ЕСКД

Пример готового файла я приложил.


Дык... А где файл-то? И какие проблемы возникли при его написании? А то в теме указано "проблемы", а вопросов-то и нет sad.gif
Может быть, Вы после выбора файла кнопкой "Обзор" забываете перед отправлением поста нажать кнопку "Добавить файл"? И поэтому пост улетает без прикрепления?


Что касается перечня элементов, то мы решили эту проблему другим способом.
У нас перечень идет в отдельном файле (схемы очень большие, на листе разместить невозможно).
Я сделал шаблон в Excel, в который Альтиум передает перечень элементов. В шаблоне я написал макрос, который по нажатию кнопочки преобразует этот перечень к виду, соответствующему ГОСТ. Остается только скопировать этот текст и переместить его в форматку Word. Там выполняем минимум редактирования (наводим красоту), и перечень готов.
smile.gif
bsp
Возможно получить у Вас шаблон и макрос для Excel, тогда я попробую сделать что-то похожее для Orcad и нашего вида перечня.
Gennaj
Цитата(bsp @ Nov 20 2007, 16:08) *
Возможно получить у Вас шаблон и макрос для Excel, тогда я попробую сделать что-то похожее для Orcad и нашего вида перечня.

Я сейчас подал запрос о зачислении в Свои. Как ответят - залью на FTP оба шаблона - и Excel с макросом и Word с форматкой и выдержки из моей "методички" про заполнение полей свойств.
Владимир
Цитата(Gennaj @ Nov 22 2007, 09:36) *
Я сейчас подал запрос о зачислении в Свои. Как ответят - залью на FTP оба шаблона - и Excel с макросом и Word с форматкой и выдержки из моей "методички" про заполнение полей свойств.

Ходатойствую о зачислении
Vokchap
Дык не здесь ходатайствовать надо, а где заявки в "Свои" подают. Там место для петиций.
Идем хором голосовать. Я первый. Явка обязательна. wink.gif
Злостный оффтоп, я не виноват ...
Gennaj
Цитата(Vokchap @ Nov 22 2007, 21:48) *
Дык не здесь ходатайствовать надо, а где заявки в "Свои" подают. Там место для петиций.
Идем хором голосовать. Я первый. Явка обязательна. wink.gif
Злостный оффтоп, я не виноват ...


Спасибо! С такой характеристикой раньше в партию принимали lol.gif

А теперь серьезный вопрос: что-то я не пойму, в какую папку поместить на ftp архив, в котором будет: шаблон excel с макросом для обработки перечня, шаблон word (просто форматка по ГОСТ с тремя листами) и "методичку по Altium", которую я писал для наших разработчиков?
Вроде бы документация, но вместе с программой (макросом)... И все должно быть в одном месте, иначе будет путаница...
Еще вопрос - в правилах обращения с ftp указано, что желательно сопровождать файл комментарием readme. Если я кладу архив, то коментарий прятать в архив, или класть отдельно от него???
Gennaj
Вроде разобрался с ftp
Выложил здесь:
ftp://ftp.electronix.ru/upload/PCB/Altium/
файл BOM_GOST_and_metodichka.rar
Visuvius
Цитата(Gennaj @ Nov 20 2007, 10:39) *
Дык... А где файл-то? И какие проблемы возникли при его написании? А то в теме указано "проблемы", а вопросов-то и нет sad.gif

Может быть, Вы после выбора файла кнопкой "Обзор" забываете перед отправлением поста нажать кнопку "Добавить файл"? И поэтому пост улетает без прикрепления?


Всё очень просто, сначала необратил внимания на размер файла, а потом меня достаточно мгновенно забанили (после 3го сообщения).
Вообщем выкладываю. Это пример оформления, которое требуется получить:
Нажмите для просмотра прикрепленного файла


Цитата
Что касается перечня элементов, то мы решили эту проблему другим способом.
У нас перечень идет в отдельном файле (схемы очень большие, на листе разместить невозможно).
Я сделал шаблон в Excel, в который Альтиум передает перечень элементов. В шаблоне я написал макрос, который по нажатию кнопочки преобразует этот перечень к виду, соответствующему ГОСТ. Остается только скопировать этот текст и переместить его в форматку Word. Там выполняем минимум редактирования (наводим красоту), и перечень готов.
smile.gif

Черезе Exel эту проблемуя решил аналогичным образом, пользуюсь очень доволен.
Но достаточно часто, особенно во время переработки старых схем требуется разместить перечень в поле чертежа. Да и для монтажа при единичных, опытных сборках достаточно удобно и перечень никуда не теряется.
На всякий случай выкладываю форматки А1-А4 и Exel шаблон.
Шаблон сделан немного хитро. В каждом библиотечном элементе есть параметр "ТУ" и "Value"
они обязательно должны быть задействованы при формировании перечня. В итоге перечень будет записан точно по ЕСКД. (Если конечно элементы созданы логично)
Нажмите для просмотра прикрепленного файла


Ну, а теперь делаю ещё один шаг и повисаю.
При написании скрипта завис в самом начале (То, что написал пока выкладывать не буду ибо пока ещё стыдно).
Завис на получении размеров листа.
Пытаюсь пользоваться функцией GetState_SheetSizeX и GetState_SheetSizeY;
примерно так :
Var
max_x, max_y: TCoord;

Begin
max_x := GetState_SheetSizeX;
max_y := GetState_SheetSizeY;


Получаю ошибку Undeclared identifier GetState_SheetSizeX
Gennaj
Цитата(Visuvius @ Nov 24 2007, 00:06) *
Вообщем выкладываю. Это пример оформления, которое требуется получить...

Мне кажется, что поля свойств заполнены не оптимально. Плюс, есть очепятки smile.gif
Поясняю: на мой взгляд, лучше всего, когда ВСЕ данные, которые должны попасть в перечень, содержаться в схеме. У Вас же, напримре, параметр "точность" (например, 5%), берется непонятно откуда. Плюс, например, резистор R34 в перечне и на схеме имеет разную мощность.
Можно, конечно, не указывать в схеме всех параметров, которые должны попасть в перечень. Но тогда программа, составляющая перечень должна будет обращаться к какой-то базе данных, в которой она будет брать дополнительную информацию. Мне кажется, что лучше, все-таки, абсолютно всю информацию помещать в поля элементов на схеме. Посмотрите, как стандартизовано заполнение полей свойст элементов у нас в организации - ftp://ftp.electronix.ru/upload/PCB/Altium..._metodichka.rar
Вообще, похоже, надо будет эту методичку немного подкорректировать и выложить на общий доступ в теме "Специально для новичков".

Цитата(Visuvius @ Nov 24 2007, 00:06) *
Завис на получении размеров листа.
Пытаюсь пользоваться функцией GetState_SheetSizeX и GetState_SheetSizeY;
примерно так :
Var
max_x, max_y: TCoord;

Begin
max_x := GetState_SheetSizeX;
max_y := GetState_SheetSizeY;
Получаю ошибку Undeclared identifier GetState_SheetSizeX

Ошибка в том, что Вы пытаетесь использовать функцию получения размеров листа, не указывая, к какому объекту она должна быть применена.
Для начала Вам необходимо организовать переменную типа ISCH_Document и присвоить ей значение "текущий лист". А вот потом уже можно с этим листом работать.
Таким образом, чтобы получить размеры листа, необходимо сделать, например, так, как в приложенном файле. Здесь текст не выкладываю, так как я там включил комментарии на русском языке, и они, почему-то, отказались нормально здесь отображаться sad.gif
Кстати, я, почему-то не нашел среди свойств и методов объекта ISCH_Document функций GetState_SheetSizeX и GetState_SheetSizeY.

Как Вы планируете строить перечень дальше?
Программа должна будет полностью нарисовать таблицу, или таблица будет в шаблоне, а программа будеть только размещать текст в нужных местах.

P.S. Да, я не вполне понял насчет Вашего экселевского перечня. Как вы группируете компоненты? У нас группировку выполняет макрос в экселе, а у Вас, похоже, никакого макроса нет...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.