Показать сообщение отдельно
  #1 (permalink)  
Старый 04.05.2017, 12:37
Интересующийся
Отправить личное сообщение для piton369 Посмотреть профиль Найти все сообщения от piton369
 
Регистрация: 26.01.2017
Сообщений: 16

Геометрия в скрипте для Altium Designer
Добрый день. Пишу скрипт для Altium Designer. Его смысл заключается в том, что он простыми линиями (Track) и/или дугами (Arc) обрисовывает отверстие (Pad).
Застрял на геометрии. У объекта отверстие есть следующие переменные:
Pad.x - координата центра отверстия по оси х.
Pad.y - координата центра отверстия по оси y.
Pad.Rotate - угол поворота отверстия.
Pad.HoleSize - диаметр отверстия.
Pad.Length - длина отверстия (появляется только у отверстия эллипсоидной формы).
И вот с эллипсоидным отверстием начинается проблема. Оно состоит из двух линий и двух дуг. Каждое отверстие соединяется с двумя дугами. Мне нужно посчитать точки где они это делать, чтобы построить их, потому что у линий есть переменные Track.x1, Track.x2, Track.y1 и Track.y2. У дуг есть Arc.x, Arc.y, Arc.StartAngle, Arc.EndEngle - координаты центра и начальный и конечный угол дуги.
Я пытался рассчитать с помощью формул типа x*cos(Pad.Rotate)-y*sin(Pad.Rotate), но кажется, что они должны быть разными для разных углов поворота, потому что нормально получается построить только для одной линии и только при начальном угле поворота.
Я или путаю знаки или использую не те формулы. Подскажите, пожалуйста.
Ответить с цитированием