dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание CAD программы с нуля

Создание CAD программы с нуля

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 19.11.2013, 00:29 6 |
Создание CAD программы с нуля
zamtmn
 
КИПиА
 
Tyumen
Регистрация: 21.03.2005
Сообщений: 1,410
Отправить сообщение для zamtmn с помощью ICQ

zamtmn вне форума Вставить имя

Всем привет!
В свободное время делаю для себя небольшую CAD программу - всегда было интересно как это работает внутри.
На данный момент есть следующие наработки:
  • Довольно быстрый OpenGL рендеринг чертежа
  • Кроссплатформенность (Windows/Linux, x86/x64, win/gtk/qt)
  • поддержка подмножества DXF версии 2000
  • поддержка SHX, TTF шрифтов
  • поддержка типов линий
  • поддержка примитивов POINT, LINE, CIRCLE, POLYLINE, LWPOLYLINE, ARC, ELLIPSE, INSERT, TEXT, MTEXT, 3DFACE, SOLID, SPLINE
  • некоторые потуги автоматизации слаботочных разделов проекта
Cтраничка программы на SourceForge
Cтраничка программы на GitHub
Cтраничка программы на Ohloh

Программа пишется на паскале, компилируется в Lazarus/FPC. Исходный код открыт и лежит в SVN репозитории Git репозитории
Текущую сборку программы можно взять тут (более менее свежие сборки для Windows_x86 и для Linux_x86_64, другие - стареханькие). Для работы требуется аппаратная поддержка OpenGL на целевом компе
Также программу можно собрать самомтоятельно, для этого понадобятся:
  • Lazarus версии не менее 1.6 на данный момент нужна последняя версия Lazarus из trunk, FPC версии не менее 3.0.4
  • SVN клиент чтоб скачать исходные коды (под Windows лучше всего подойдет TortoiseSVN, мануал)
Если Вы соберете zcad для Windows64 также понадобится 64 разрядная версия библиотеки GLU32.DLL (системная не подходит, т.к. старой версии) - прилагаю к этому посту, необходимо будет положить ее рядом с ексешником, заменив идущую в дистрибутиве zcad`а 32 разрядную версию GLU32.DLL

Программа не требует установки и не пишет\читает ничего в системные папки (за исключением TEMP) Под windows не допускаются кирилические (и другие) символы в пути к программе (в путях к dxf файлам допускаются), lunux версия такой болезнью не страдает.

Для запуска доступны следующие ключи командной строки:
  • NLL - отключение загрузки файла докинга окон, окна открываются непристыкованными, но докинг работает
  • SI - полное отключение докинга, зкад работает в однооконном режиме (очень недоделанном)
  • UPDATEPO - отключение закрузки локализации, будет запущена английская версия. Также в этом режиме доступна команда обновления файлов локализации
  • NOSPLASH - отключение показа окна загрузки
  • путь/к/файлу.dxf - открыть указанный файл

Любые замечания/предложения приветствуются!

Вложения
Тип файла: zip glu.zip (903.8 Кб, 295 просмотров)


Последний раз редактировалось zamtmn, 25.07.2018 в 11:55.
Просмотров: 79224
 
Непрочитано 13.04.2018, 11:57
#241
Andrey_nadym


 
Регистрация: 22.02.2008
Сообщений: 171


Цитата:
Сообщение от veb86 Посмотреть сообщение
zamtmn рассказывает про прокладку кабеля это позволяет жестко все прочертить. метод очень надежный, но мне показался долгим, я так не привык

Как вариант сделанный мной другой метод кабеле укладчик, работает в целом нормально, мне нравится, к нему надо привыкнуть. Я черчу им, проблем не наблюдаю, а если они есть то обычно сам сделал ляп, но не хитрыми методами можно поймать место аварии, и подправить.

Внизу видео посмотрите.
Предыдущая ссылка на видео почему то сломался, сделал две ссылки

https://www.youtube.com/watch?v=jklTCAnjzdE

Increase Size Decrease Size Нажмите для просмотра
Пробовал способ показанный на видео. Кнопка D() у меня не срабатывает. Пишет Неизвестная команда:"SLAGCAB". Версия zcad 0.9.8 сборка 2510

P.S. WIN10PRO x64 (Лицензия)
Andrey_nadym вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.04.2018, 14:02
#242
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 97


Цитата:
Сообщение от Andrey_nadym Посмотреть сообщение
Пробовал способ показанный на видео. Кнопка D() у меня не срабатывает. Пишет Неизвестная команда:"SLAGCAB". Версия zcad 0.9.8 сборка 2510

P.S. WIN10PRO x64 (Лицензия)
Значит команда не попала в релиз, странно. Скорее всего при компиляции была отключена. Ну это только zamtmn может исправить и залить новую версию.
veb86 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 14.04.2018, 09:44
#243
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,410
Отправить сообщение для zamtmn с помощью ICQ


>>Значит команда не попала в релиз, странно.
да, извиняюсь. Прям сейчас исправить неполучится, уже накопилось изменений. чуть позже выложу новый релиз
zamtmn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 26.04.2018, 18:46
1 | #244
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,410
Отправить сообщение для zamtmn с помощью ICQ


Начал разделение проекта на голый кад и кад с электрическими прибамбасами. в дальнейшем надеюсь второе станет плагином к первому, пока только статическая перекомпиляция.
голенький зкад https://sourceforge.net/projects/zca...an.7z/download
zamtmn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.04.2018, 18:52
#245
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 5,516


Цитата:
Сообщение от zamtmn Посмотреть сообщение
в дальнейшем надеюсь второе станет плагином к первому,
а смысл? Плагины нужны, когда исходный код недоступен.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 26.04.2018, 20:31
#246
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,410
Отправить сообщение для zamtmn с помощью ICQ


Смысла у меня 2:
1 - так будет правильно
2 - исходный код прибамбасов не факт что будет доступен
zamtmn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.04.2018, 22:20
#247
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 5,516


и в исходном коде трудновато будет другим разобраться - что там за 5 лет накопилось) Да и сейчас Delphi/Pascal уже не так распространен, имхо.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.04.2018, 08:21
#248
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,410
Отправить сообщение для zamtmn с помощью ICQ


Другим там разбираться без шансов(( разве что совсем в простых вещах.
Плагины пока к сожалению не сделать - в компиляторе нет поддержки пакетов
zamtmn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 09:56
#249
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 97


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
а смысл? Плагины нужны, когда исходный код недоступен.
Я тоже думаю что нужно разделение, что бы новый человек которому нужен простой CAD не видел электрические команды. Во первых, это сразу настораживает так как начинаешь думать, что программа имеет узкую специализацию. А так скачал электрическую версию и не удивлен наличию кабелей, светильников и других штук.

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Да и сейчас Delphi/Pascal уже не так распространен, имхо.
Сейчас в моде все на HTML5 переписывать, работа прям в браузере, единственный наверное тормозить будет.

Цитата:
Сообщение от zamtmn Посмотреть сообщение
Другим там разбираться без шансов(( разве что совсем в простых вещах.
Если человек хорошо понимает в программирование, разобраться в целом возможно! Конечно не сразу, потратишь время на понимание. Но zamtmn на связи. Как говорится было бы желание...
veb86 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 12:30
#250
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 5,516


Цитата:
Сообщение от veb86 Посмотреть сообщение
Я тоже думаю что нужно разделение, что бы новый человек которому нужен простой CAD не видел электрические команды. Во первых, это сразу настораживает так как начинаешь думать, что программа имеет узкую специализацию. А так скачал электрическую версию и не удивлен наличию кабелей, светильников и других штук.
так просто две версии - обычный и электрикал.

Цитата:
Сообщение от veb86 Посмотреть сообщение
Если человек хорошо понимает в программирование, разобраться в целом возможно!
я несколько лет писал на дельфи вспомогательные задачи, но сейчас давно перешел на C# и придется заново вспоминать язык дельфи и его конструкции - прежде чем начать разбираться в самом коде.

Кстати, Майкрософт похоже решила не отставать и Linux сегмент тоже охватить .Net.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 12:52
#251
Marsikus

software quality engineer
 
Регистрация: 19.09.2009
Харьков, Украина
Сообщений: 425


Не планируете на C# переписывать с нуля?
__________________
energokot.blogspot.com
Marsikus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.04.2018, 12:52
#252
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,410
Отправить сообщение для zamtmn с помощью ICQ


Шутите?
zamtmn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 12:55
#253
Marsikus

software quality engineer
 
Регистрация: 19.09.2009
Харьков, Украина
Сообщений: 425


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Шутите?
Не шучу, довольно часто бывает, что проект за годы превращается в такие дебри, что легче переписать. Правда для личного проекта времени на это найти малореально.
__________________
energokot.blogspot.com
Marsikus вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 13:08
#254
hentan


 
Регистрация: 22.01.2013
Сообщений: 1,245
Отправить сообщение для hentan с помощью Skype™


Цитата:
Сообщение от veb86 Посмотреть сообщение
Сейчас в моде все на HTML5 переписывать, работа прям в браузере, единственный наверное тормозить будет.
На одном html5 работать не будет..
__________________
"Тщательное планирование – ключ к безопасному и быстрому путешествию."
Одиссей (с)
hentan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 13:17
#255
trir


 
Регистрация: 18.12.2010
Сообщений: 2,976


Цитата:
На одном html5 работать не будет..
webgl + webassembly
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 13:21
#256
hentan


 
Регистрация: 22.01.2013
Сообщений: 1,245
Отправить сообщение для hentan с помощью Skype™


Цитата:
Сообщение от trir Посмотреть сообщение
webgl + webassembly
и где тут html5?
Это библиотека для джаваскрипта
__________________
"Тщательное планирование – ключ к безопасному и быстрому путешествию."
Одиссей (с)
hentan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 13:25
#257
trir


 
Регистрация: 18.12.2010
Сообщений: 2,976


Цитата:
и где тут html5?
Это библиотека для джаваскрипта
весь современный инет работает на javascript - у этой страници в загаловке >10 ссылок на .js
вот html
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 13:29
#258
hentan


 
Регистрация: 22.01.2013
Сообщений: 1,245
Отправить сообщение для hentan с помощью Skype™


Цитата:
Сообщение от trir Посмотреть сообщение
весь современный инет на работает на javascript - у этой страници в загаловке >10 ссылок на .js
вот html
Так все же чтобы оно работало в браузере на одном html написать нельзя? Нужен-таки хотя бы js а еще куча библиотек?
__________________
"Тщательное планирование – ключ к безопасному и быстрому путешествию."
Одиссей (с)
hentan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 13:34
#259
trir


 
Регистрация: 18.12.2010
Сообщений: 2,976


webgl часть спецификации html5
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.04.2018, 13:40
#260
Marsikus

software quality engineer
 
Регистрация: 19.09.2009
Харьков, Украина
Сообщений: 425


Цитата:
Сообщение от hentan Посмотреть сообщение
Так все же чтобы оно работало в браузере на одном html написать нельзя? Нужен-таки хотя бы js а еще куча библиотек?
Скорее всего JS генерит HTML, а браузер потом его рисует. На самом HTML писать это тот еще джедаизм. А вообще веб ужасен тем что там все завязано на 100500 прослоек, среди которых А генерит Б, потом скрипт конвертит Б в В, а потом это все с вкраплениями Г рендерится в браузере. И одна страничка жрет ресурсов как целый Автокад, еще и срабатывает через раз. Нахрен так жить, как говорится.
Интересно из чего собрали свой продукт OnShape, у них получилось хорошо;
__________________
energokot.blogspot.com
Marsikus вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание CAD программы с нуля

РЕВЕРС. Автоматическая пакетная печать множества рамок (форматов) из пространства модели и листов
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||