Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Линия по функции в Autocad, P-CAD или Altium
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development
Stefan1
Доброго времени суток.
Подскажите пожалуйста как мне нарисовать линию в Autocad, P-CAD или Altium, описываемую функцией, например экспоненциальной: y=exp(0.2*x)?
Или если напрямую функцию задать нельзя, можно ли построить через таблицу значений, описываемых данную функцию можно?
Mikle Klinkovsky
Отрезками прямых, с нужной точностью, а если требуемая точность не известна, то с точностью чуть больше погрешностей изготовления.

PS Интересно, а зачем на плате нужна такая линия? (Может есть более простой способ решения задачи.)
Stefan1
Цитата(Mikle Klinkovsky @ Oct 3 2014, 16:12) *
Отрезками прямых, с нужной точностью, а если требуемая точность не известна, то с точностью чуть больше погрешностей изготовления.

PS Интересно, а зачем на плате нужна такая линия? (Может есть более простой способ решения задачи.)

А как тогда узнать куда эти отрезки лепить?
Нужно нарисовать экспоненциально расширяющуюся микрополосковую линию. У меня есть функция, описывающая изгиб данного полоска.
peshkoff
все равно это будет набор отрезков с какой то точночтью.
даже если вы нарисуете сплайн (ну вдруг) и по его границам построите полигон, то полигон все равно отрисовывается отрезками с конечной точностью.

Альтиум и автокад могут работать со скриптами. В автокаде это делается на VBA, в альтиуме можно на Дельфи (VBA тоже поддерживается)
А с помощью скрипта можно практически все.

Но я бы, наверно, выбрал другой путь.
1. создать таблицу в екселе. там забить вашу функцию и получить точки. Количество зависит от необходимой вам точности.
2. Нарисовать тучу отрезков (в зависимости от количества полученных точек)
3. Воспользоваться панелью PCBList в Altium. скопировать из экселя и вставить в альтиум точки. вуа-ля!

Stefan1
Цитата(peshkoff @ Oct 7 2014, 11:21) *
Но я бы, наверно, выбрал другой путь.
1. создать таблицу в екселе. там забить вашу функцию и получить точки. Количество зависит от необходимой вам точности.
2. Нарисовать тучу отрезков (в зависимости от количества полученных точек)
3. Воспользоваться панелью PCBList в Altium. скопировать из экселя и вставить в альтиум точки. вуа-ля!

Спасибо, попробую.
fider
Думаю в АВТОКАДе можно, все-таки можно попробовать построить по точкам (давненько им не пользовался).
Все команды в АВТОКАДе можно вызвать напрямую, а не через надстройку, которой является меню.

Раньше делал программы на АВТОЛИСПе (встроенном языке обработки списков) или подключал по ссылке внешние исполняемые программы с передачей данных через текстовые файлы.

Наверное возможны все указанные выше варианты построения по точкам, например:
1. кусочно-линейная интерполяция (будут изломы в местах стыка кусочков прямых)
2. сплайн (это кусочно-нелинейная интерполяция со сглаживанием, т.е. стыковкой производных в точках стыках кусочков кривых).

В этих случаях, кончно, результат будет неидеален. Но если взять точки почаще, то наверное будет удовлетворительно.
Переход ведь будет несколько длин волн? А точек на каждую "одну длину волны" можно взять хотя-бы несколько.
Sagittarius
Цитата(Stefan1 @ Oct 3 2014, 10:38) *
Доброго времени суток.
Подскажите пожалуйста как мне нарисовать линию в Autocad, P-CAD или Altium, описываемую функцией, например экспоненциальной: y=exp(0.2*x)?
Или если напрямую функцию задать нельзя, можно ли построить через таблицу значений, описываемых данную функцию можно?

вот видео как по массиву точек из xls втягивают в SolidWorks. оттуда можно в dwg и PCAD http://www.youtube.com/watch?v=LFGP0J0MpnI

Вспомнил, как делал подобное, давно правда. Простейшая прога на C с хитрой функцией, генерит массив и по нему генерит файл AutoLISP-а, который выполняется в ACAD-е. Исходники кстати нашел, если полезно будет то могу скинуть.
Stefan1
Цитата(Sagittarius @ Oct 11 2014, 15:57) *
вот видео как по массиву точек из xls втягивают в SolidWorks. оттуда можно в dwg и PCAD http://www.youtube.com/watch?v=LFGP0J0MpnI

Вспомнил, как делал подобное, давно правда. Простейшая прога на C с хитрой функцией, генерит массив и по нему генерит файл AutoLISP-а, который выполняется в ACAD-е. Исходники кстати нашел, если полезно будет то могу скинуть.

Интересное видео, получается можно по массиву точек создать объемную фигуру.
Да, скиньте пожалуйста, хотелось бы взглянуть на программу.
Mef
я сделал это через САМ350
взял эту формулу y=exp(0.2*x). Вбил ее в простейший макрос, который по полученным координатам строит линию. Потом данные из САМа загоняем в PCAD.
Получилось вот так.
Нажмите для просмотра прикрепленного файла

Также например имея массив данных (координат), можно постороить по ним все что угодно.
Sagittarius
Цитата(Stefan1 @ Oct 15 2014, 08:58) *
Да, скиньте пожалуйста, хотелось бы взглянуть на программу.

Нажмите для просмотра прикрепленного файла
исходник и то, что он сформировал. это еще под Borland C++ вроде было, с мелкими правками должно пойти и как консольное на VS20xx
Stefan1
Цитата(Sagittarius @ Oct 22 2014, 22:51) *
Нажмите для просмотра прикрепленного файла
исходник и то, что он сформировал. это еще под Borland C++ вроде было, с мелкими правками должно пойти и как консольное на VS20xx

Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.