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

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

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

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

Всем привет!
В свободное время делаю для себя небольшую 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 Кб, 561 просмотров)


Последний раз редактировалось zamtmn, 09.09.2022 в 20:53.
Просмотров: 209290
 
Непрочитано 19.11.2013, 02:30
#2
ETCartman


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


это один из самых популярных проектов на free pascal на sf.net но повертев туда сюда работать я не почему то не смог. Не хватило времени для разбирательства.
последняя версия которую я закачивал - была на русском, даже слегка на олбанском, хотя в росии sf.net не особо популярен (главным образом лидирует по закачкам италия, германия и сша)
есть ли сейчас нормальный английский перевод?
ETCartman вне форума  
 
Автор темы   Непрочитано 19.11.2013, 09:51
1 | #3
zamtmn

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


До работы там еще как до китая пешком)) В нем можно расставить блоки оборудования, проложить кабеля, получить несколько отчетов... а дальше дорабатывать в нормальном каде))
Нормального английского как и нормального русского пока нет. При запуске смотрится язык системы, если он русский - запускается русская версия, если нет - английская. Английская локализация зашита в код, русская сидит в cad\languades\zcad.ru.po ее можно поправить в любом PO редакторе, можно создать любую другую лакализацию, создав соответствующий PO файл
zamtmn на форуме  
 
Непрочитано 19.11.2013, 11:09
#4
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,611


Offtop: я очень извиняюсь, но почему было не взять нано в качестве платформы и на его базе пилить свои решения? Вот, например, результат нескольких недель работы: youtube.com/watch?v=sE3Zp6_osRY
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 19.11.2013, 12:24
#5
zamtmn

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


swell{d}
Когда появился нанокад, зкад уже был в более менее адекватном состоянии, кроме того, агрессивная пиар кампания нанософта отбила всякий интерес к их продукции. Когдато давно я пытался использовать автокад в качестве "платформы", но в то время было очень мало доступной информации по arx - несложилось.
>>Вот, например, результат нескольких недель работы
Мне не столько важен результат, как сам процесс разработки)) Насколько я понял из видео - по данным из экселя отрисовываются чертежи... но это только полдела, как потом предпологается вносить изменения в чертежи? перечерчивать?
zamtmn на форуме  
 
Непрочитано 19.11.2013, 12:49
#6
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,611


Offtop: можно вопросом на вопрос? а как вы в своей слаботочке вносите изменения?
изменения изменениям рознь. если изменились параметры стенки, задаваемые из экселя - проще заного скрипт прогнать. если появились какие-то мелкие дырки (под слаботочку, например) - просто дорисовать руками.
__________________
.: WikiЖБК + YouTube :.

Последний раз редактировалось swell{d}, 19.11.2013 в 13:47.
swell{d} вне форума  
 
Автор темы   Непрочитано 19.11.2013, 13:26
#7
zamtmn

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


>>а как вы в своей слаботочке вносите изменения?
Я хочу чтобы чертеж был некой моделью, т.е. не только строился по внешним данным, а содержал эти данные.
>>если изменились параметры стенки, задаваемые из экселя - проще заного скрипт прогнать.
>>если появились какие-то мелкие дырки (под слаботочку, например) - просто дорисовать руками.
Имхо не стоит мешать эти подходы. если генерируется - пусть генерируется - не надо руками его править.
Но если всетаки есть соблазн поправить, надо иметь способ получить назад измененные исходные данные из исправленного чертежа
zamtmn на форуме  
 
Непрочитано 19.11.2013, 13:47
#8
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,611


Offtop: получить на 100% готовые чертежи мне не представляется возможным. в любом случае что-то для 5-10% стен придётся дорабатывать руками.
т.е. у меня на одной чаше весов - время на доработку "руками", на другой - время для алгоритмизации, параметризации и написания скрипта для решения _непредсказуемых_ задач.

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

п.с. вообще это оофтоп. сори, что засоряю тему
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 19.11.2013, 19:02
| 1 #9
ETCartman


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


Цитата:
Сообщение от swell{d} Посмотреть сообщение
[offtop]я очень извиняюсь, но почему было не взять нано в качестве платформы и на его базе пилить свои решения? Вот, например, результат нескольких недель работы:
плюс открытой программы то что она практически ваша с того момента как вы ее скачали. то есть открытый софт (его копия) обладает де-факто свойством частной собственности в сравнении с закрытым, даже бесплатным. Это - вещь. то что и другие могут скачать то же самое - ваши права никак не ущемляет. полно же например одинаковых автомобилей, табуреток, кроватей и пр. вещей. Просто бесплатный софт как нанокад - не ваш. Это как если вас пустили бесплатно даже пожить в квартиру, а вы взялись вкладывать деньги в ее ремонт и реконструкцию. когда оно не ваше - зачем это делать? Хотя конечно какие то обыденные вещи делать можно, ничего плохого про нанокад не скажу.
вообще полно открытых кадов под которые можно было бы пилить что то свое (qcad не pro, freecad и т.д.) но как автор выразился - ему было интересней запилить полностью свой, и в принципе получилось не так плохо.
у меня сейчас критерий достаточности када стал - для нужд cnc плазма. подвинуть-поправить детали, поставить хвостики для луча, и т.д. ничего особо сверхестественного не требуется. автокад2000 какой нибудь справляется прекрасно. Кстати открытая часть qcad имеет поддержку dwg вплоть до последней версии (нет не открытая стоит 30 евро).

Последний раз редактировалось ETCartman, 19.11.2013 в 19:50.
ETCartman вне форума  
 
Непрочитано 19.11.2013, 23:56
#10
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,611


Offtop: Аналогии у Вас странные. Одно дело зайти и жить в чужую квартиру, из которой никогда не выгонят. Другое дело не имея квартиры пойти в лес, срубить много деревьев, построить сруб... Ну вы поняли.. Я занимаюсь парусным спортом, так наш рулевой тоже "такой" - ему делать лодку нравится больше, чем на ней гоняться.
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 20.11.2013, 00:04
#11
zamtmn

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


ETCartman
В триале qcad`а есть поддержка dwg (насколько я понял на oda`вском движке) отключающаяся через несколько минут использования, в гите либрекада тоже есть ветка с началом поддержки dwg полностью своей реализации. Но от одной поддержки толку не много, если программа не перенимает полностью "идеологию" автокада - т.е. теже примитивы, теже стили, теже приемы работы... Ни qcad ни в librecad (да и вообще по сути они однояйцевые близнецы) этого нет, такчто dwg там имхо ненужен...
Недавно вышла новая community версия qcad - программа существенно ускорилась, появился инспектор объектов. Но всеравно скорость обработки больших чертежей в qcad и особенно в librecad пока оставляет желать лучшего.
>>но как автор выразился - ему было интересней запилить полностью свой, и в принципе получилось не так плохо.
Получилось неплохо (сам себя не похвалишь), но очень недоделано - руки всего 2, ночами спать охота... толком довести хоть чтото до конца невыходит
zamtmn на форуме  
 
Непрочитано 20.11.2013, 14:34
| 1 #12
ETCartman


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


Цитата:
Сообщение от swell{d} Посмотреть сообщение
[offtop]Аналогии у Вас странные. Одно дело зайти и жить в чужую квартиру, из которой никогда не выгонят. Другое дело не имея квартиры пойти в лес, срубить много деревьев, построить сруб...
Все гораздо проще. Сегодня это бесплатно. Завтра будет платно, и может даже и дорого, потому как хозяин - барин. Стоимость ПО часто привязывается к валюте, а валютные курсы могут меняться, допустим лет 15 назад до кредитной накачики 100-200 долларов были нормальными деньгами. Периоды кредитных накачек меняются периодами кредитного сжатия, когда сие вернется назад, вы будете иметь копию ПО стоимостью несколько средних зарплат, то что вчера не стоило ползарплаты. А у вас вагон файлов с расширением .абвгд и куча своих наработок под конкретное программное обеспечение.
А открытое ПО коль вы его освоите и подгоните под себя, таких проблем вам не создаст. Если вы инженер и программное обеспечение инструмент вашей деятельности, ваш инструмент должен быть ваш. И кстати я бы не сказал что все открытое ПО подобно срубу в деревне. Полно открытых программ гораздо лучше платных даже на сегодняшний день. И полно таких (типа qcad) которые просто требуют слегка переучиться и вполне ничего для многих приложений.

Последний раз редактировалось ETCartman, 20.11.2013 в 14:42.
ETCartman вне форума  
 
Непрочитано 20.11.2013, 15:26
#13
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,611


Offtop: ерунда. нанокад 3.7 бесплатный и будет бесплатным всегда. новые версии - платные, но 3.7 будет бесплатным всегда. и 3.7 бодрее 2000 акада
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 20.11.2013, 15:35
#14
ETCartman


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


Offtop: где взять 3.7 ? На сегодня 5 версия - бесплатная, но лицензия выдается на год
ETCartman вне форума  
 
Непрочитано 20.11.2013, 15:43
#15
Kinzer


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


swell{d}, Offtop: open sourceэто как секта (в хорошем понимании, если такое есть) лучше не спорить.
Kinzer вне форума  
 
Непрочитано 20.11.2013, 15:57
#16
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,611


ETCartman, Offtop: гуглим "nanocad free" - там должна быть 3.7, т.к. 5 пока только по подписке
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 20.11.2013, 15:57
#17
zamtmn

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


swell{d}
>> Другое дело не имея квартиры пойти в лес, срубить много деревьев, построить сруб... Ну вы поняли..
Думаете купить крутые хоромы и обставить всё мебелью из горбыля на гвоздях сильно лучше?
То что на видео всё происходит в нанокаде - не заслуга нанокада, он ничем не лучше других клонов, а темболее первоисточника. Там вполне мог бы быть и q и libre, и для таких несложных чертежей это было бы экономически более выгодно (не в обиду, на мой неопытный взгляд...), просто вам было так удобнее.
Мне нужны свои кастомные примитивы, в свое время я не нашел простого способа сделать их в автокаде - для меня проще такое решение
такчто вопрос
>>но почему было не взять ... в качестве платформы
для меня не стоял, поддержу ETCartman, делать чтото серъезное под закрытое ПО имеет смысл только надеясь на существенную прибыль - я на это не расчитываю - хобби. Можно было подключиться в разработку qcad и librecad... но свободная версия qcad существует только для галочки (редко обновляется, непонятно как комитить и в каком ключе идет разработка...), librecad на тот момент вообще не существовало. В итоге по положению на сейчас zcad во многих параметрах переплюнет и q и libre
zamtmn на форуме  
 
Непрочитано 20.11.2013, 17:32
#18
ETCartman


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


я согласен что любители открытого ПО напоминают иногд секту. Сектантское состоит в отрицании коммерческого ПО полностью. Но я допустим коммерческое не отрицаю, а открытое очень помогает в тех случях когд покупк чего либо не оправдана экономически а воспользовться той или иной опцией нужно. в частности все программы для 2д черчения для меня - анахронизм, но иногд нужно что то простое набросать
ETCartman вне форума  
 
Непрочитано 20.11.2013, 18:22
#19
Kinzer


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


ETCartman, Offtop: Об этом и речь. Каждый подбирает себе инструмент по возможностям и потребностям. И открытое ПО не всегда перевешивает на чаше весов, имхо. А для хобби конечно открытое ПО более очевидный и правильный выбор, наверное, хотя опять же зависит от человека, его возможностей и предложений коммерческого софта.
Kinzer вне форума  
 
Непрочитано 20.11.2013, 21:30
#20
ETCartman


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


Цитата:
Сообщение от Kinzer Посмотреть сообщение
Об этом и речь. Каждый подбирает себе инструмент по возможностям и потребностям.
Ну да - например Solidworks имеет открытый аналог (самый мощный на сегодняшний день) Freecad. Тоже feature-based parametric принцип. Возможно в принципе работать во Freecad, но это будет занимать гораздо больше времени. Если конечно освоить все Freecad-овские фичи, в том числе python интерфейс, то со временем разрыв в производительности можно сократить для многих задач. Но поскольку такого рода работа моя основная, я бы предпочел купить Solidworks (это примерно $3K - в данном случае цена вполне адекватна для такой программы и того где она мне нужна).
2D черчение нужно для небольшой коррекции файлов для CNC - очень редко. Полно открытых и бесплатных чертилок годятся для этого. A9CAD (кстати dwg до 2005)
чистый freeware в том числе commercial, qcad, еще ряд программок.
Но покупать даже Autocad LT или даже в 3 раза более дешевые intellicad аналоги для этого - кажется несообразно дорого. Ну 30 евро за QCAD Pro - копейки, раз побухать
а 400 уже много.
Для расчетов например. Иногда нужно посчитать тепловую задачу. Покупать "дешевую" программу за 20 тыс - за раз - много. И ее тоже надо будет учить и тестировать как и открытую. Есть для этого CalculiX - по многим функциям даже превосходящий коммерческие программы. Я его потестю для себя и буду пользовать.
Пока времени нет взглянуть лучше на ZCAD но я обязательно сделаю это. Мне кажется лучше всего написать подробный мануал для тех кто хочет включиться в разработку. Но это может занять времени довольно много. Хотя плюс что и Lazarus вполне простая система тоже. Я пытаюсь тоже делать что то открытое для хобби и времени тоже немного. Но хотелось бы взглянуть на код ZCADа и может быть что то позаимствовать оттуда для себя
ETCartman вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание CAD программы с нуля

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

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