Тема: Создание dwg файла

Необходимо написать программу на c#, которой мы задаем определенные параметры объекта, и получить на выходе dwg чертеж этого объекта. Вопрос в следующем, подскажите как, или где можно найти материал по работе с dwg форматом, самостоятельному созданию чертежей

Re: Создание dwg файла

OpenDWG Alliance может это поможет в поисках решения.

(изменено: Сергей Климкин, 22 января 2013г. 16:23:38)

Re: Создание dwg файла

Если идти от конца вопроса к его началу, то:
1.
Спецификации dwg-формата вещь непростая, закрытая и никогда и нигде не раскрывалась владельцем - AutoDesk.

Есть контора Open Design Alliance (ODA), которая каким-то образом знает dwg-формат, трепетно следит за изменениями в этом формате от версии к версии и предоставляет членам ODA спецификации - стоит это немалых денег (зависит от типа лицензии).
Например DassaultSystems выпускает бесплатный DraftSightCAD с постоянно "свежим" dwg-форматом.
Но DraftSightCAD не содержит инструментов разработчика SDK (потому и бесплатный).
Вероятно и другие разработчики CAD'ов (например ZwCAD) пользуются "услугами" ODA - дело это темное.

2.
Из ДОСТУПНЫХ разработок, которые позволяют работать с dwg-форматом на уровне SDK я знаю только одну:
LiteCAD
Стоимость лицензии на SDK - примерно $350 (при этом сам LiteCAD бесплатный, а LiteCAD-SDK доступен для пользователя и без лицензии).

Если скачать и установить LiteCAD, то в его примерах для разработчиков есть:
C:\Program Files\LiteCAD\Projects\Samples\VCpp\CreateDrawing\CreateDrawing.vcproj
и уже скомпилированный CreateDrawing.exe
который и выполняет то, что Вы хотите (файл создается в формате LiteCAD, но можно добавит сохранение в dwg-формате).

Сам LiteCAD и его SDK (что в данном случае гораздо важнее) содержит в виде плагинов работу с dxf и dwg форматами.
То есть можно и открывать dwg-чертеж и сохранять работу как dwg-чертеж (кажется до версии 2010).
На лицензирование более поздних версий dwg-формата у автора судя по всему просто не хватило денег.

3.
Примеры на C# в LiteCAD тоже есть (но нет примера CreateDrawing):
C:\Programs\LiteCAD-FULL\Projects\Samples\VCS\
Все это сделано в MS-VStudio.
Таким образом CreateDrawing можно переписать из C++ в C# (я так думаю).
Во всяком случае стоит посмотреть содержимое файла:
C:\Program Files\LiteCAD\Projects\Samples\VCpp\CreateDrawing\main.cpp

4.
И до кучи:
Есть примеры также на: Delphi, MS-VB6 и MS-VBNET
Мои примеры на "голом" СИ:
https://www.caduser.ru/forum/topic50049.html

P.S.
Уточнение:
Читает и пишет DWG и DXF форматы версий: R10--R15(2000)--R24(2010), а по умолчанию R21(2008)
Есть файл \LiteCAD\Data\PlugIns\dwg.lcplug (это DLL работающая в связку с LiteCAD.dll) размером в 9.3 МБ.
Использует для этого корейскую разработку ($99):
simonview