|
|
  |
А как в CAM350 сделать следующее..., вопрос - ответ |
|
|
|
Jan 18 2016, 16:48
|
Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 31-05-06
Пользователь №: 17 648

|
Цитата(Jul @ Jan 18 2016, 18:04)  Добрый день. Подскажите, пожалуйста, как в САМ-е реализовать поиск компонента с помощью скрипта ? (по позиционному обозначению или по типу компонента). Т.е. Вы хотите в форме запроса забить например R2 и чтобы макрос показал место расположения этого компонента на слое?
|
|
|
|
|
Jan 18 2016, 17:50
|
Знающий
   
Группа: Свой
Сообщений: 652
Регистрация: 3-08-05
Из: Saint-Petersburg
Пользователь №: 7 318

|
Цитата(Jul @ Jan 18 2016, 18:04)  Добрый день. Подскажите, пожалуйста, как в САМ-е реализовать поиск компонента с помощью скрипта ? (по позиционному обозначению или по типу компонента). Если у вас в CAM350 загружен формат Gerber, то никак. Если импортировали проект платы, то скрипт не нужен: Info -> Find -> Part
|
|
|
|
|
Jan 19 2016, 10:02
|
Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 31-05-06
Пользователь №: 17 648

|
Цитата(Jul @ Jan 19 2016, 12:37)  To Mef: У меня в САМ-е компоненты. Мне нужен поиск компонента по позиционному обозначению, или по типу компонента. И в ответе хочу получить координаты этого компонента или подтверждение, что в указанных координатах находятся искомые компоненты. Я бы сделал так: 1) Создаешь отчет (записываешь в файл на диск) по все компонентам проекта (команда Info > Report > Centroid) 2) От туда извлекаешь данные по: Devname, Refds, Side, и координаты центра компонента (Centroid ) 3) В форме выскакивает запрос типа: "Введите обозначение компонента", там вводим либо по Device Name либо по Refdes. 4) Пробегаем по всему списку компонентов, находим нужный и выводим его расположение в плате на экран с сообщением "Компонент такой то найден, координаты такие то"
|
|
|
|
|
Jan 19 2016, 10:31
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481

|
Цитата(Mef @ Jan 19 2016, 14:02)  Я бы сделал так: 1) Создаешь отчет (записываешь в файл на диск) по все компонентам проекта (команда Info > Report > Centroid) 2) От туда извлекаешь данные по: Devname, Refds, Side, и координаты центра компонента (Centroid ) 3) В форме выскакивает запрос типа: "Введите обозначение компонента", там вводим либо по Device Name либо по Refdes. 4) Пробегаем по всему списку компонентов, находим нужный и выводим его расположение в плате на экран с сообщением "Компонент такой то найден, координаты такие то" Да, спасибо, этот вариант я уже рассматривала. Хочется сделать, ... как-то попроще. Понимаю, что все параметры компонентов уже присутствуют в файле. Вопрос в том, как до них добраться ? Системных команд нет ли каких-нибудь для извлечения параметров компонентов ? (у меня есть такое подозрение, что описание языка запросов в САМ-е несколько урезано).
|
|
|
|
|
Jan 19 2016, 10:53
|
Знающий
   
Группа: Свой
Сообщений: 652
Регистрация: 3-08-05
Из: Saint-Petersburg
Пользователь №: 7 318

|
Цитата(Jul @ Jan 19 2016, 13:31)  Понимаю, что все параметры компонентов уже присутствуют в файле. Вопрос в том, как до них добраться ? Тогда подумайте над выгрузкой информации прямо в среде проектирования, благо большинство сред это позволяют. Вы результаты работы в каком виде хотите получить: просто текстовый файл или хотите прикрутить какую-то автоматизацию для других программ (этапов)?
|
|
|
|
|
Jan 19 2016, 18:20
|
Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 31-05-06
Пользователь №: 17 648

|
Цитата(vicnic @ Jan 19 2016, 13:53)  Тогда подумайте над выгрузкой информации прямо в среде проектирования, благо большинство сред это позволяют. можно пару ссылок для примера, хочу понять о чем идет речь. Как это "выгружать информацию прямо в среде проектирования"?
|
|
|
|
|
Jan 20 2016, 09:21
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481

|
Цитата(vicnic @ Jan 20 2016, 12:37)  ... выгружать информацию прямо из среды проектирования Это будет запасной вариант. Как основной - придется разбирать репорт. Всем спасибо.
|
|
|
|
|
Jan 20 2016, 15:55
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 9-11-15
Пользователь №: 89 234

|
вот "изврат" - черновик макроса прямого чтения из файла
координаты в условных ед. 1 мм=127000
INPUT "Enter your REFDES", name$ OPEN "DST Demo 2014.cam" FOR INPUT as #1 DO Line INPUT #1,a$ if MID$(a$, 1,3)="LOC" Then COORD$=MID$(a$, 5,LEN(a$)-4) if MID$(a$, 1,11)="*REFDES_STR" Then if MID$(a$, 14,LEN(a$)-14)=name$ then print COORD$ END if LOOP UNTIL EOF (1) = 1 CLOSE #1
|
|
|
|
|
Jan 21 2016, 11:10
|
Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 31-05-06
Пользователь №: 17 648

|
Цитата(cam350ru @ Jan 20 2016, 18:55)  вот "изврат" - черновик макроса прямого чтения из файла
координаты в условных ед. 1 мм=127000
INPUT "Enter your REFDES", name$ OPEN "DST Demo 2014.cam" FOR INPUT as #1 DO Line INPUT #1,a$ if MID$(a$, 1,3)="LOC" Then COORD$=MID$(a$, 5,LEN(a$)-4) if MID$(a$, 1,11)="*REFDES_STR" Then if MID$(a$, 14,LEN(a$)-14)=name$ then print COORD$ END if LOOP UNTIL EOF (1) = 1 CLOSE #1 Почему я предпочитаю работать с файлом репорта, а не напрямую считывать из файла: 1) В файле репорта вся инфа представлена более наглядно (координаты, слои и т.д.), поэтому легче оттуда извлекать нужные данные 2) Во время работы макроса появляется различная информация и чтобы получить к ней доступ напрямую из файла нужно этот файл сначала сохранить, что не всегда приемлемо. 3) Самое главное! КАМовский макрос в «тяжелых” файлах очень долго ищет информацию (больше минуты было у меня). Поэтому для поиска в самом файле я пользуюсь прогой, написанной на Visual Basic (работает в разы быстрей).
|
|
|
|
|
Jan 21 2016, 11:36
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 9-11-15
Пользователь №: 89 234

|
Цитата(Mef @ Jan 21 2016, 11:10)  Почему я предпочитаю работать с файлом репорта, а не напрямую считывать из файла: 1) В файле репорта вся инфа представлена более наглядно (координаты, слои и т.д.), поэтому легче оттуда извлекать нужные данные 2) Во время работы макроса появляется различная информация и чтобы получить к ней доступ напрямую из файла нужно этот файл сначала сохранить, что не всегда приемлемо. 3) Самое главное! КАМовский макрос в «тяжелых” файлах очень долго ищет информацию (больше минуты было у меня). Поэтому для поиска в самом файле я пользуюсь прогой, написанной на Visual Basic (работает в разы быстрей). Вы во всем правы! Однако, не всегда есть "репорт", например, однажды возникла необходимость формирования файла центров только smd компонентов. И второе в самом макросе можно сохранять файл и в макросе же его удалять и пр...
|
|
|
|
|
Jan 21 2016, 12:11
|
Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 31-05-06
Пользователь №: 17 648

|
Цитата(cam350ru @ Jan 21 2016, 14:36)  Однако, не всегда есть "репорт", например, однажды возникла необходимость формирования файла центров только smd компонентов. Да не всегда. Но если есть репорт, то лучше я туда залезу, чем в исходный файл. А если и полезу, то через прогу на Visual Basic. Например, залезал когда нужно было найти координаты текста на слоях (как оказалось по другому это не сделать), еще использую для чтения данных оставленных после работы других макросов. Цитата(cam350ru @ Jan 21 2016, 14:36)  И второе в самом макросе можно сохранять файл и в макросе же его удалять и пр. Знаю, что можно сохранять, но иногда это крайне нежелательно. Сейчас играюсь со связкой САМ350 + AutomationBox Tools (программа для иммитации нажатия клавиш и управления курсором мыши). Получаешь данные из САМа и заносишь их куда хочешь (в файл или в программу).
|
|
|
|
|
  |
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0
|
|
|