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

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

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

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

Всем привет!
В свободное время делаю для себя небольшую 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 версии не менее 2.0.10 на базе FPC версии не менее 3.2

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

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

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

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


Последний раз редактировалось zamtmn, 08.07.2020 в 00:19.
Просмотров: 178735
 
Непрочитано 02.10.2021, 22:02
#401
zvezdochiot

маркшейдер
 
Регистрация: 25.09.2021
Москва
Сообщений: 54


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Эта тема не про LiteCAD
Я знаю. А я и не про него спрашивал. Я как раз спрашивал про Zcad.
__________________
Keep it simple, stupid.
zvezdochiot вне форума  
 
Автор темы   Непрочитано 02.10.2021, 22:09
#402
zamtmn

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


Мне кажется постановка задачи какаято неправильная.
Но в любом случае zcad это опенсорс, можете добавить все что хочется))
zamtmn вне форума  
 
Непрочитано 02.10.2021, 22:26
#403
zvezdochiot

маркшейдер
 
Регистрация: 25.09.2021
Москва
Сообщений: 54


Цитата:
Сообщение от zamtmn Посмотреть сообщение
можете добавить все что хочется))
Не шути так! Я паскаль последний раз на студачке видел, а это было чорт знает когда. А ты ещё говоришь, что синтаксис команд отличается, и знаешь его в полной мере только ты.
Будь даже желание разобраться, времени то увы.

PS: А ежели бы и взялся, то только переписать все вычисление в отдельную либу на чистых С-ях.
__________________
Keep it simple, stupid.

Последний раз редактировалось zvezdochiot, 02.10.2021 в 22:40.
zvezdochiot вне форума  
 
Автор темы   Непрочитано 02.10.2021, 22:40
| 1 #404
zamtmn

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


Да во многих вещах там без меня разобраться трудновато. Озвучиваете что конкретно интересует распишу тут

https://github.com/zamtmn/zcad/tree/...docs/userguide

У меня тоже желания vs время к сожалению

>>переписать все вычисление в отдельную либу на чистых С-ях.
смысла в этом никакого имхо нет. Но, на c/c++ кадов множество выбирайте, присоединяйтесь.

Последний раз редактировалось zamtmn, 02.10.2021 в 22:48.
zamtmn вне форума  
 
Непрочитано 02.10.2021, 22:51
#405
zvezdochiot

маркшейдер
 
Регистрация: 25.09.2021
Москва
Сообщений: 54


Цитата:
Сообщение от zamtmn Посмотреть сообщение
на c/c++ кадов множество выбирайте, присоединяйтесь.
Ты на QCAD/LibreCAD щаз намекаешь, чтоле? Да проще застрелиться. Монструозные недоростки.
__________________
Keep it simple, stupid.
zvezdochiot вне форума  
 
Автор темы   Непрочитано 02.10.2021, 22:58
| 1 #406
zamtmn

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


навскидку
https://github.com/solvespace/solvespace
https://github.com/zecruel/CadZinho
качество не проверял
zamtmn вне форума  
 
Непрочитано 02.10.2021, 23:02
#407
zvezdochiot

маркшейдер
 
Регистрация: 25.09.2021
Москва
Сообщений: 54


Цитата:
Сообщение от zamtmn Посмотреть сообщение
SolveSpace - классная штука, но она "слегка" про другое. Щупали-знаем.
Интересуют именно "рисовалки" уровня Zcad/LiteCad для "наброса". Но вот в качестве сохранения хотелось бы иметь скрипт-файлы.
__________________
Keep it simple, stupid.
zvezdochiot вне форума  
 
Автор темы   Непрочитано 02.10.2021, 23:11
#408
zamtmn

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


>>Но вот в качестве сохранения хотелось бы иметь скрипт-файлы.
Готового конечно небудет, но я думаю это можно элементарно добавить в любой устраивающий опенсорс
zamtmn вне форума  
 
Автор темы   Непрочитано 11.10.2021, 21:57
#409
zamtmn

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


Стартовая версия нового руководства пользователя https://github.com/zamtmn/zcad/blob/...erguide.ru.pdf единственное что пока расписано нетривиального это 3.3.1 про экспорт и 3.1.3 про навигаторы. просьба покритиковать оформление
zamtmn вне форума  
 
Непрочитано 16.12.2021, 20:35 ZCAD исходники
#410
basilcat


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


Отсутствуют 2 файла allgeneratedfiles.inc buildmode.inc
Скомпилированная без них программа не запускается (если закоментаривать {$INCLUDE buildmode.inc} и {$INCLUDE allgeneratedfiles.inc}).
Скомпилировал и старую версию: zcad-0.9.8.5 и новую zcad-master.zip и
новую скаченную с GITHAB на Лазаре 2.2.0 RC2 FPC 3.2.2 после установки всех пакетов, как описано в README.md
EXE не запускается.
Прошу вас помочь, если можете поделиться allgeneratedfiles.inc и buildmode.inc.

Запускал ваш exe-шник. Симпатично.

Приложил свой САПР раскрой для машин термической резки, шёл с нашими машинами КРИСТАЛЛ.
Написал в 2000 -х на Delphi 7 отрисовка в OpenGL.
Читает файлы dxf : "SolidWorks 2001 FINAL", Autodesk AutoCAD 2004" и КОМПАС v9-15.
Видео коротко по чтению и раскладке приложил.
Защита снята только с SAPR.exe с эмуляторов KRISTAL.EXE и CNCZont.exe нет, если нужно, то вышлю ключи авторизации для них.
Спасибо.
Почта basil_cat@ukr.net (на всякий случай).
Вложения
Тип файла: rar SAPR.part1.rar (9.00 Мб, 8 просмотров)
Тип файла: rar SAPR.part2.rar (7.09 Мб, 8 просмотров)
Тип файла: rar ScreenRecorderProject2 (video-converter.com).rar (2.36 Мб, 8 просмотров)

Последний раз редактировалось basilcat, 16.12.2021 в 20:41.
basilcat вне форума  
 
Непрочитано 16.12.2021, 20:45 ZCAD исходники
#411
basilcat


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


Перехожу или осваиваю Лазаря 2.2.0 RC2 FPC 3.2.2 .
Скачал ваш ZCAD/
Отсутствуют 2 файла allgeneratedfiles.inc buildmode.inc
Скомпилированная без них программа не запускается (если закоментаривать {$INCLUDE buildmode.inc} и {$INCLUDE allgeneratedfiles.inc}).
Скомпилировал и старую версию: zcad-0.9.8.5 и новую zcad-master.zip и
новую скаченную с GITHAB на Лазаре 2.2.0 RC2 FPC 3.2.2 после установки всех пакетов, как описано в README.md
EXE не запускается.
Прошу вас помочь, если можете поделиться allgeneratedfiles.inc и buildmode.inc.

Запускал ваш exe-шник. Симпатично.

Приложил свой САПР раскрой для машин термической резки, шёл с нашими машинами КРИСТАЛЛ.
Написал в 2000 -х на Delphi 7 отрисовка в OpenGL.
Читает файлы dxf : "SolidWorks 2001 FINAL", Autodesk AutoCAD 2004" и КОМПАС v9-15.
Видео коротко по чтению и раскладке приложил.
Защита снята с SAPR.exe и он рабочий. С эмуляторов машин терморезки CNCZont.exe и KRISTAL.exe нет. Если нужно, то вышлю ключи для них.
Спасибо.
Почта basil_cat@ukr.net (на всякий случай).
Вложения
Тип файла: rar ScreenRecorderProject2 (video-converter.com).rar (2.36 Мб, 7 просмотров)
Тип файла: rar SAPR.part1.rar (9.00 Мб, 8 просмотров)
Тип файла: rar SAPR.part2.rar (7.09 Мб, 8 просмотров)
basilcat вне форума  
 
Автор темы   Непрочитано 16.12.2021, 22:48
#412
zamtmn

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


К сожалению еще не у кого нее получалось собрать зкад без моей помощи(( краткая инструкция имеется в README.md, но не поленюсь, распишу более подробно

Инструкцию тут потер и разместил в репозитории с исходниками https://github.com/zamtmn/zcad/blob/.../README_RUS.md

Последний раз редактировалось zamtmn, 18.01.2022 в 00:13.
zamtmn вне форума  
 
Непрочитано 17.12.2021, 04:58 Zcad
#413
basilcat


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


Добрый день. Никаких хитростей в SAPR нет. В своё время на работе потребовалось простое решение, вместо покупки систем разработки управляющих программ в iso и esi кодах типа Интех Раскрой или ProNest, из за их дороговизны написать что то похожее с встроенным построителем деталей и чтением dxf файлов, для автоматизированного получения фигур для раскроя. Единственное, что сама раскладка деталей на лист вручную, пока нет алгоритма автоматической раскладки, да и цели такой не было. Система шла с нашими машинами на предприятия заказчика. И капала копейка, поэтому и была защищена кодами авторизации и прикреплялась к машине, 1 рабочее место. Писал на Delphi 7.
С год назад уже не продаю её и она выложена в свободном скачивании. https://youtu.be/DU_i7sLcd0A
Спасибо за подробный ответ.
basilcat вне форума  
 
Автор темы   Непрочитано 17.12.2021, 10:44
#414
zamtmn

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


>>Никаких хитростей в SAPR нет
возможно. но интерфейс своеобразный очень я даже не разобрался как выйти, хотя вроде не дурак)), пришлось грохать

Сама программа наврятли кого-то кроме пользователей вашего оборудования заинтересует. Исходники возможно комунить пригодились бы. но нет так нет))
zamtmn вне форума  
 
Непрочитано 17.12.2021, 10:53
#415
basilcat


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


Я ж переписываю его под Лазаря. Перепишу, оттестирую и ОБЯЗАН буду выложить на форуме Lazarus. А под Delphi 7 не имею права.
Миниатюры
Нажмите на изображение для увеличения
Название: Close.png
Просмотров: 50
Размер:	21.7 Кб
ID:	243776  
basilcat вне форума  
 
Автор темы   Непрочитано 17.12.2021, 12:32
1 | 1 #416
zamtmn

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


кто будет пробовать собрать зкад отпишитесь пжст, получится или нет по этой инструкции.

>>оттестирую и ОБЯЗАН буду выложить на форуме Lazarus
не обязан. выкладывать лучше на github\gitlab, на форумы толко ссылку
zamtmn вне форума  
 
Непрочитано 22.12.2021, 19:19 Портирование проекта Delphi в Lazarus
#417
basilcat


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


<zamtmn>
В первом приближении на Лазаре. Портировал библиотеки. Сам проект пришлось переписать. Но это даже лучше. Попробовал что такое работа с указателями в Лазаре.
Ещё тестить, но это уже дело времени. Спасибо за оказанную помощь. Да, с менеджером файлов пока не такой как в Delphi, а FileListBox Лазаря.
В лоб не захотел ставиться. Пойдём другим путём.
Миниатюры
Нажмите на изображение для увеличения
Название: SAPR_Lazarus.jpg
Просмотров: 26
Размер:	156.3 Кб
ID:	243942  
basilcat вне форума  
 
Автор темы   Непрочитано 22.12.2021, 20:03
#418
zamtmn

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


basilcat
Следующий шаг - работа на линукс.
Для чтения\отображения dxf что используется?
zamtmn вне форума  
 
Непрочитано 22.12.2021, 20:15
#419
basilcat


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


CAD Import VCL. Я не дома, помоему v.6.1. Но она 32 битная. 😀 Есть исходник , но один файл dcu. Буду пытаться сделать 64 битной. Пока не знаю как.
Ну и посмотрю как вы читаете dxf. Я для чего качал ваши исходники. Но нужно стобы читало dxf всех основных САДов. AUTOCAD, КОМПАС. Желательно последних версий.
В DELPHI читал 2004 автокад и 8-15 Компас.
basilcat вне форума  
 
Автор темы   Непрочитано 22.12.2021, 20:27
#420
zamtmn

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


>>Есть исходник , но один файл dcu
Думаю какраз в нем основной функционал. Считайте исходников нет - 64 бита сделать не выйдет. линукс тоже отпадает.

У меня dxf только 2000, более новые по сути сильно не отличаются, только кодировка внутри utf-8.
Кроме того, чтение у меня написано лет 15 назад и в ужасном стиле, прибито гвоздями к моим примитивам))
zamtmn вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание CAD программы с нуля

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

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