| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

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

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

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

Всем привет!
В свободное время делаю для себя небольшую 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, HATCH
  • некоторые потуги автоматизации слаботочных разделов проекта
Cтраничка программы на SourceForge
Cтраничка программы на GitHub
Cтраничка программы на Ohloh

Программа пишется на паскале, компилируется в Lazarus/FPC. Исходный код открыт и лежит в SVN репозитории Git репозитории
Текущую сборку программы можно взять тут, но лучше тут (более менее свежие сборки для Windows_x86 и для Linux_x86_64, другие - стареханькие). Для работы требуется аппаратная поддержка OpenGL на целевом компе
Также программу можно собрать самомтоятельно, для этого понадобятся:
  • релизный Lazarus версии не менее 2.0.10 на базе FPC версии не менее 3.2

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

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

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


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


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


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

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

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

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

Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=jklTCAnjzdE
Пробовал способ показанный на видео. Кнопка D() у меня не срабатывает. Пишет Неизвестная команда:"SLAGCAB". Версия zcad 0.9.8 сборка 2510

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

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


Цитата:
Сообщение от 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,554
<phrase 1=


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

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,554
<phrase 1=


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


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


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

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,554
<phrase 1=


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


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


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

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,554
<phrase 1=


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

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


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

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

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


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


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

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

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

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


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

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,554
<phrase 1=


Шутите?
zamtmn вне форума  
 
Непрочитано 27.04.2018, 12:55
#253
Marsikus

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


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


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


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


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


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


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


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


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


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


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


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


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


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

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


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

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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