Идея замечательная. Из вышенижеизложенного не понятно - это только ещЁ проект или компилятор уже реализован? Его уже можно опробовать?
Вид для печати
Смотрится для определённых случаев не плохо. Но явно надо компилятор *.maa > *.ant. Создавать антенны всё-таки удобнее и быстрее в "графической рисовалке". А вот для "сложных случаев" как раз не плохо иметь программный подход.
Другими словами, я вижу такой use case: *maa > *.ant > *.maa.
Присоединяюсь к вопросу.
У меня есть на C++ несколько простых программ, так как когда то был ПОшником (Pascal, C, html, Csharp), с помощью которых создавал такие модели
Вложение 238446
Вложение 238447
Это бывает полезным при создании повторяющихся структур или периодических (типа логи, кстати есть транслятор моделей из лог в MMANA)
Но так что бы что то супер серьезное сооружать под движок MMANA - не знаю... ее интерфейс и так прост, как автомат Калашникова.
Я никогда не рисую в графическом интерфейсе - сразу шпарю в координатах, так как в голове "картинка" уже сложилась. Единственное - калькулятор под руками, координаты прикинуть :s7:
Как на такие диски и конусы - не ругается ли MMANA? Слишком много проводов в одну точку сходятся под острым углом.
Иван, а вот бы забабахать двухзаходную логопериодическую спираль. В MMANA я ее заахался рисовать.
Михаил, была задача проверить сходимость практических результатов в УКВ диапазоне с расчетами в ММАНе и других программах. В КВ и УКВ - все сходится вполне нормально, в железе КСВН даже с меньшей неравномерностью.
Вложение 238451
А для двухзаходных логопериодических спиралей есть CST, HFSS .... или старые советские книги - Юрцев О.А., Рунов А.В., Казарин А.Н. Спиральные антенны
Вложение 238453
А я привык "размножать" простые структуры через операции поворота, или сдвига и превращать их в сложные , вставляя результат преобразования ( поворот, сдвиг) вручную прямо в текстовый файл ( правка описания антенны).
В NEC2 с этим всё проще. Там прямо в описании модели можно задавать "размножение" структур через поворот, сдвиг и осевую симметрию.
Давно задаюсь вот каким вопросом . В проволочных моделях плоских структур в ММАНе получается так, что с обеих сторон сетки текут одинаковые токи. Но в реальных зеркалах, стенках рупоров и т.п. в идеале токи текут только с одной стороны.
По этой причине не увлекаюсь моделями из сетки. Использую в NEC2 моделирование при помощи "patch`ей" - плоских проводящих прямоугольников .
Вложение 238505
Вложение 238463Код:# Генерация диско-конусника
ant
(
N = 15, # Число секторов
H = 15, # Общая высота
U = 2, # Высота ножки
D = 10, # Высота юбки
R1 = 10, # Радиус шляпы
R2 = 10, # Радиус юбки
)
{
a = 360 / n # угол сектора
ca = cos (a)
sa = sin (a)
<[0,0,0] SOURCE (0.5, 1, 0) [0,0,U]> # ножка
b = 0
repeat (N)
{
< [0, 0, 0] [R1, 0, 0 ] [R1*ca, R1*sa, 0 ] > # Шляпа
< [0, 0, U] [R2, 0, U+D] [R2*ca, R2*sa, U+D] > # Юбка
rotate (0,0,b) # Повернуть на угол сектора
b = b + a
}
scale (1,1,-1) # Перевернуть по вертикали
move (0, 0, H) # Поднять на заданную высоту
}
В самом первом посте есть сцылка на ANT2.ZIP ( Вложение 238490 )
U = 2, # Высота ножки
Лучше сделать это значение 0,2-0,3 - это ближе к правильному.
Прописными буквами сочетание .ANT в расширении уже занято программой YO 354.
Но не знаю, совместимо ли применять сочетание строчными буквами .ant
БББлин! В этом мире все хорошие расширения уже заняты.(((
Да, были такие мысли. Еще просится плагин для MMAN-ы, который бы кушал .ant. Еще лучше режим автоконтроля модификации открытого файла в MMAN-е. Как только файл изменен сторонними средствами MMANA должна автоматически считывать и отображать изменения. У меня есть своя программа которая всё это делает. Но ей до MMAN-ы как до луны.
Да, спасибо. Я специально сделал ножку большой для наглядности.
Вложение 238684Код:# ВГДШ
ant (R = 2, L = 14, M = 2) # радиус, длина, отступ
{
C60 = cos (60) * R
S60 = sin (60) * R
<[-0.3,0,0] source (0.5,1,0) [+0.3,0,0]> # питание
<[0,-C60,S60][0,+C60,S60]> # поперечина
e = 1
repeat (2)
{
cnt = 1
alfa = 0
repeat (6)
{
<[L+M,0,0][L,R,0][5,R,0][5,C60,S60]> <[L,R,0][L,C60,S60]> # 6-гранник
if cnt <= 4 then
<[5,R,0][M,R,0][0.3,0,0]> # 4-гранник
if cnt <= 3 then
<[M,R,0][M,C60,-S60]> # ближний обод
if cnt <= 2 then
<[5,-C60,S60][0,-C60,S60]> # верхние продолины
fi fi fi
rotate (alfa,0,0)
alfa = alfa + 60
cnt = cnt + 1
}
<[M,+R,0][M,-R,0]> # поперечина
scale (e,1,1)
e = -1
}
}
Да, конечно не у YO, а у YA 354 файлы с расширением .ant.
Не яги оптимизер, а яги анализер, типа того.