![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
JuryS1806 |
![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: ![]() ![]() ![]() |
Так вот, уже год я занимаюсь написанием программы для рисования параметрических объектов. Сейчас активно создаю конзоль, которая будет анализировать команды.
http://depositfiles.com/files/9jq412vcg Вот что получилось на данный момент. Если у кого есть свободное время, можем объединить силы. Сейчас все акшоны и события переделываю под собственную консоль. такой командный интерпретатор получается. ![]() И работает здорово. К тому же я делаю команды не только на буржуйском языке, а также на отечественном, к примеру для того чтобы создать новый документ можно через меню Файл, Новый; или Ctrl+N; или ввести команду new; или ввести команду новый. Но самое важное теперь то, что эти команды и при использовании меню проходят через макроанализатор! Думаю еще через годик программа будет бомбой, по сравнению с FreeCad и QCad тем более Хочу спросить как можно на Qt например реализовать такую вещь: ввожу в QLineEdit строку содержания: линия 0 0 0 100 200 300 или на буржуйском языке line 0 0 0 100 200 300 Так вот, как можно анализировать такую команду, чтобы на выходе из QString было: QString Name = line int art1 = 0 int art2 = 0 int art3 = 0 int art4 = 100 int art5 = 200 int art6 = 300 Я понимаю что вопрос делетантский, но прошу помочь. К тому же думаю что не совсем актуально использовать сейчас goto. И путать исходный код макроанализатора. Спасибо за помощь. |
|
|
![]() |
JuryS1806 |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: ![]() ![]() ![]() |
Вот что получилось с использованием массивов ! Выкладываю свой MacroAnalize.cpp
MacroAnalize
Причина редактирования: плохо справку прочитал ;)
|
|
|
vanner |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 27.8.2009 Пользователь №: 1025 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Ты бы продумал архитектуру сначала, а потом писал. При таком подходе, как у тебя сейчас, добавление каждой новой команды будет превращаться в тяжелый труд.
|
|
|
JuryS1806 |
![]()
Сообщение
#4
|
![]() Студент ![]() Группа: Участник Сообщений: 93 Регистрация: 21.10.2009 Из: Нижний Новгород Пользователь №: 1168 Спасибо сказали: 9 раз(а) Репутация: ![]() ![]() ![]() |
Ты бы продумал архитектуру сначала, а потом писал. При таком подходе, как у тебя сейчас, добавление каждой новой команды будет превращаться в тяжелый труд. А у меня в MainWindow свыше 300 акшонов описано, при том что все эти акшоны были связаны со слотами и проделывали такой путь по классам: MainWindow -> DocumentCommon -> MDI -> View. соответственно, от базовой программы, затем вычисляется активный документ, затем активный вид документа, затем уже движок OpenCascade. Дурдом конечно, но MainWindow.cpp у меня состоял из 6500 строк. А сейчас 1500 в связи с использованием макроанализатора. Вот такая архитектура, а если вы имеете ввиду архитектуру OpenCascade, то там 600 Мб текстовой документации. Очень широкие возможности для программирования, множество классов и описаний, даже свои Strings и Integer, математика, геометрия и сопромат в одном месте ! И если все это использовать в полной мере, то это будет даже круче Rinoceros и уж тем более AutoCAD. Даже есть движение тел и вычисления инерций, расчеты столкновений и определение цвета покрытий, начиная с анализа медицинских ренген-снимков, заканчивая определением уровня конвекции на поверхности стали при плавке ! Сила натяжения электрических проводов при проектировании силовых линий ! Хочу доделать базовую часть без отклонения от стандартных функций и дать ее на использование всем желающим, а потом в закрытой части лицензии делать закосы под нужные виды деятельности. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 4:54 |