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

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

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

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 19.11.2013, 00:29 3 | #1
Создание CAD программы с нуля
zamtmn
 
КИПиА
 
Tyumen
Регистрация: 21.03.2005
Сообщений: 1,362
Отправить сообщение для 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траничка программы на Ohloh

Программа пишется на паскале, компилируется в Lazarus/FPC. Исходный код открыт и лежит в SVN репозитории
Текущую сборку программы можно взять тут (более менее свежие сборки для Windows_x86 и для Linux_x86_64, другие - стареханькие). Для работы требуется аппаратная поддержка OpenGL на целевом компе
Также программу можно собрать самомтоятельно, для этого понадобятся:
  • Lazarus версии не менее 1.6, FPC версии не менее 3.0
  • 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 Кб, 242 просмотров)


Последний раз редактировалось zamtmn, 29.03.2016 в 01:33.
Просмотров: 48490
 
Непрочитано 19.11.2013, 02:30
#2
ETCartman

Ansys, SolidWorks, etc
 
Регистрация: 09.12.2008
Texas
Сообщений: 4,456


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

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


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

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Проектное бюро Фордевинд, Санкт-Петербург
Сообщений: 7,618


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

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


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

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Проектное бюро Фордевинд, Санкт-Петербург
Сообщений: 7,618


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

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

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


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

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Проектное бюро Фордевинд, Санкт-Петербург
Сообщений: 7,618


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

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

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

Ansys, SolidWorks, etc
 
Регистрация: 09.12.2008
Texas
Сообщений: 4,456


Цитата:
Сообщение от 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
Проектное бюро Фордевинд, Санкт-Петербург
Сообщений: 7,618


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

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


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

Ansys, SolidWorks, etc
 
Регистрация: 09.12.2008
Texas
Сообщений: 4,456


Цитата:
Сообщение от 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
Проектное бюро Фордевинд, Санкт-Петербург
Сообщений: 7,618


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

Ansys, SolidWorks, etc
 
Регистрация: 09.12.2008
Texas
Сообщений: 4,456


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


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


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

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Проектное бюро Фордевинд, Санкт-Петербург
Сообщений: 7,618


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

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


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

Ansys, SolidWorks, etc
 
Регистрация: 09.12.2008
Texas
Сообщений: 4,456


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


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


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

Ansys, SolidWorks, etc
 
Регистрация: 09.12.2008
Texas
Сообщений: 4,456


Цитата:
Сообщение от 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 программы с нуля

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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


Размещение рекламы