Компас параметры вывода в файл формата dwg нет кнопки сохранить
Малыгин Александр Васильевич, старший преподаватель кафедры «Информационные технологии в машиностроении и инженерный консалтинг» Херсонского национального технического университета, г. Херсон, Украина.
Плюсы и минусы использования на одном предприятии CAD/CAM/CAE-систем от разных разработчиков обсуждались в САПР-изданиях неоднократно. В одних случаях такая ситуация обусловлена историей автоматизации, багажом старых разработок, выполненных в определенной системе. В других случаях — это стратегия, когда для каждой инженерной задачи выбран лучший, по мнению предприятия, продукт. Есть еще соображения экономии и нежелание зависеть от единственного разработчика.
В этой статье мы подробно рассмотрим, как ведет себя САПР КОМПАС-3D в окружении различных CAD/CAM/CAE-систем, насколько она отвечает требованиям информационной согласованности между системами, производительности и качества обмена данными.
Особенности преобразования данных при взаимодействии систем
Прикладным программам, например, программе генерации сетки для анализа по методу конечных элементов или траектории движения инструмента станков с числовым программным управлением (ЧПУ), требуется на входе техническое описание продукта. Данные технических требований делятся на два типа. Первый тип данных – это данные чертежа; они включают векторное описание линий и пояснительные данные, имеющиеся на чертеже. Ко второму типу данных технических требований относится представление твердотельной модели и некоторые пояснительные данные. Поэтому данные технических требований обычно импортируются из CAD-системы – либо автоматизированной разработки чертежей, либо из системы твердотельного моделирования.
Однако все CAD-системы хранят результаты проектирования, то есть данные технических требований, в своих собственных структурах данных, формат которых зависит от конкретной системы. Они могут не соответствовать входному формату используемой прикладной программы. Таким образом, когда две или более CAD/CAM/CAE-системы объединяются и связываются для совместного использования данных, возникает проблема обмена данными. Для решения этой коммуникационной проблемы необходима возможность преобразовывать данные технических требований одной системы в форму, понятную для других систем, и наоборот.
Различные CAD/CAM/CAE-системы хранят данные технических требований в структурах разного вида, поэтому для переноса данных необходимо преобразовывать данные технических требований одной системы в формат другой системы. Еще один конвертор необходим для обратного переноса данных между системами.
Также обмен данными можно обеспечить, введя нейтральную структуру данных, называемую нейтральным файлом, которая была бы независима от существующих САПР. Эта структура будет действовать как промежуточная точка коммуникации между различными структурами баз данных САПР.
Например, «система 1» экспортирует данные в нейтральный файл, а «система n» импортирует данные из этого файла. В каждой системе будет своя пара конверторов для экспорта и импорта данных в этот нейтральный файл. Конвертор, преобразующий данные из собственного формата данной системы в нейтральный формат, называется препроцессором, а конвертор, выполняющий обратное преобразование, – постпроцессором.
При переносе данных технических требований через нейтральный файл некоторая информация, как правило, теряется, особенно информация о топологическом дереве и ограничениях в системах параметрического моделирования.
Международными стандартами были приняты форматы нейтральных файлов: STEP, IGES, ACIS, Parasolid, STL, VRML, C3D, AutoCAD DWG, AutoCAD DXF и др.
Описание приведенных форматов и история развития описана в специальной документации 1.
Импорт – экспорт данных в САПР КОМПАС-3D
Система КОМПАС-3D поддерживает следующие форматы нейтральных файлов:
Форматы нейтральных файлов для импорта/экспорта данных в документах КОМПАС-3D
Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В этом уроке поговорим о том, как сохранять документы.
Содержание цикла уроков «Работа с API КОМПАС-3D»
1. Основы
2. Оформление чертежа
3. Корректное подключение к КОМПАС
4. Основная надпись
5. Графические примитивы
6. Сохранение документа в различные форматы
7. Знакомство с настройками
8. Более сложные методы записи в основную надпись
Простое сохранение
Для сохранения графического документа используются методы ksSaveDocument и ksSaveDocumentEx интерфейса ksDocument2D. Начнем с первого, его прототип представлен ниже.
Единственный параметр метода – строка с полным именем файла, в который нужно сохранить документ. Если параметр filename содержит пустую строку, то документ сохраняется по пути заданному в свойстве filename интерфейса ksDocumentParam (кратко описывался в первой части цикла).
Учтите, что если файл с указанным именем уже существует, то КОМПАС перезапишет его.
В случае успеха метод ksSaveDocument возвращает значение true, а в случае ошибки – значение false.
Метод ksSaveDocumentEx похож на метод ksSaveDocument и, по сути, является его расширенной версией. Ниже приводится прототип метода ksSaveDocumentEx.
Как видно из прототипа по сравнению с методом ksSaveDocument в методе ksSaveDocumentEx добавился еще один параметр: признак того, в какой версии КОМПАС сохранять документ. У него всего три допустимых значения:
-1 –в предыдущую версию;
0 – в текущую версию;
1 – в версию 5.11.
Дополнительный параметр – единственное отличие метода ksSaveDocumentEx от метода ksSaveDocument. Вызов метода ksSaveDocumentEx с параметром version равным нулю, эквивалентен вызову метода ksSaveDocument.
Сохранение в формат DXF
Согласно Википедии: DXF (Drawing eXchange Format) – отрытый формат файлов для обмена графической информацией между приложениями САПР. КОМПАС поддерживает этот формат и позволяет нам сохранять документы в этом формате.
Для сохранения графического документа в формат DXF используется метод ksSaveToDXF интерфейса ksDocument2D. Вот его прототип.
В качестве единственного параметра он принимает полный путь к файлу, в который нужно сохранить документ. В случае успеха метод возвращает значение true, а в случае ошибки – значение false.
Параметры сохранения в растровом формате
КОМПАС позволяет сохранять документы в растровом формате. Для этого вначале нужно заполнить интерфейс параметров ksRasterFormatParam. Получить данный интерфейс можно с помощью метода RasterFormatParam() интерфейса ksDocument2D. Данный метод не имеет входных параметров и в случае успеха возвращает интерфейс ksRasterFormatParam. В случае ошибки он возвращает значение NULL. Рассмотрим свойства интерфейса ksRasterFormatParam.
colorBPP – цветность растрового изображения. Задает глубину цвета создаваемого изображения. Допустимые значения данного свойства перечислены в таблице ниже. Константы объявлены в модуле ldefin2d.h.
Допустимые значения свойства colorBPP
colorType – глубина цвета вывода графического изображения. Данное свойство похоже на свойство colorBPP и имеет те же допустимые значения. Разница между ними в том, что свойство colorBPP определяет глубину цвета в итоговом файле, а colorType – глубину цвета при преобразовании графических объектов в растровую форму до их сохранения в файл.
extResolution – разрешение растрового изображения в точках на дюйм. Если значение этого свойства равно нулю, то используется текущее разрешение экрана. Максимальное разрешение, при котором мне удалось построить изображение, составило 960 точек на дюйм, хотя возможно на более производительных системах можно построить изображение и с еще большим разрешением.
extScale – масштаб. Если значение extScale больше единицы, то изображение увеличивается в extScale раз. Если же оно меньше единицы, то изображение уменьшается в 1/extScale раз.
format – формат растрового изображения. Допустимые значения этого свойства приведены в таблице ниже. Константы объявлены в модуле ldefin2d.h.
Допустимые значения свойства format
Формат WMF не поддерживается. Согласно документации КОМПАС при попытке сохранить документ в этом формате, он будет сохранен в формате EMF.
greyScale – признак использования оттенков серого. Если значение данного свойства равно true, то используются оттенки серого. Если же значение свойства равно false, то сохраняется цветное изображение.
multiPageOutput – признак сохранения листов документа в одном файле. Если значение данного свойства равно true, то все листы документа сохраняются в одном файле. Если же значение этого свойства равно false, то листы сохраняются в отдельных файлах. Данное свойство используется только для формата TIFF. Но, как показывают мои эксперименты, КОМПАС для формата TIFF сохраняет листы документа в один файл вне зависимости от значения свойства multiPageOutput. Для других форматов листы сохраняются в отдельные файлы.
onlyThinLine – признак вывода в тонких линиях. Если значение этого свойства равно true, то содержимое документа выводится только в тонких линиях. Если же значение этого свойства равно false, то при выводе документа используются линии, установленные для объектов.
pages – список выводимых листов документа, представленный в виде строки. Пример списка: «1-18, 24-25». В данном примере выводятся листы с 1 по 18, а так же 24 и 25 листы. Нумерация листов ведется с единицы. Если строка пустая, то КОМПАС не использует данное свойство.
rangeindex – признак выбора четных и нечетных листов. Допустимые значения свойства:
0 – все листы;
1 – нечетные листы;
2 – четные листы.
Метод у интерфейса ksRasterFormatParam всего один.
Init() – обнуляет значения всех свойств интерфейса. Он не имеет входных параметров и, в случае успеха возвращает значение true.
Сохранение в виде растрового изображения
Для сохранения документа в виде растрового изображения используется метод SaveAsToRasterFormat интерфейса ksDocument2D. Ниже приводится его прототип.
Первый параметр задает полный путь к файлу, в который нужно сохранить документ.
Второй параметр содержит интерфейс ksRasterFormatParam, задающий параметры сохранения в виде растрового изображения.
В случае успеха метод SaveAsToRasterFormat возвращает значение true, а в случае ошибки – false.
Ниже приводится пример использования данного метода.
В данном примере создается новый документ, который сохраняется в виде jpeg изображения. Учтите, поскольку документ пустой вы, скорее всего, увидите пустой лист, а в некоммерческих версиях с пометкой КОМПАС в левом нижнем углу, как на рисунке ниже.
Пометка документа в некоммерческих версиях (край листа показан условно)
Сохранение многолистовых документов
В результате сохранения документа может получаться как один файл, так и несколько файлов. Один файл получается в следующих случаях:
- сохраняемый документ состоит из одного листа;
- сохраняется только 1 лист документа;
- документ сохраняется в формате TIFF.
Если файл, в который сохраняются листы, уже существует, то КОМПАС ведет себя по-разному в зависимости от того, сколько файлов должно получиться. Если 1 файл, то он перезаписывается без какого-либо предупреждения. Если же образуется несколько файлов, то КОМПАС выдает диалоговое окно, показанное ниже. При этом метод SaveAsToRasterFormat не вернет управление до тех пор, пока пользователь не закроет окно.
Диалоговое окно, предупреждающее о перезаписи файла
Данные окна появляются даже в том случае, если КОМПАС запущен в невидимом режиме.
Номера сохраняемых листов задаются с помощью свойств pages и rangeindex. Рассмотрим, как они используются КОМПАС.
Если свойство pages не задано или содержит пустую строку, а значение свойства rangeindex равно нулю, то сохраняются все листы документа. Если свойство pages задано, а значение свойства rangeindex равно нулю, то сохраняются все листы, указанные в свойстве pages.
Если свойство pages содержит некорректный номер листа, то он игнорируется. Например, если для документа, состоящего из 5 листов, в свойстве pages задать строку «0,1,4,8», то будут сохранены листы 1 и 4. Если pages содержит строку «неверная,1, строка,3,», то будут сохранены листы 1 и 3.
Если свойство rangeindex равно 1 (2), а свойство pages не задано, то будут сохранены все нечетные (четные) листы документа. Например, если для документа, состоящего из 5 листов, свойство rangeindex равно 1, а свойство pages не задано, то будут сохранены листы: 1, 3, 5.
Если свойство rangeindex равно 1 (2) и задано свойство pages, то будут сохранены нечетные (четные) листы, указанные в свойстве pages. Например, при условии
pages = «1,2,3»;
rangeindex = 1;
будут сохранены листы 1 и 3. Лист 2 сохраняться не будет точно так, же как и лист 5, если он есть в документе.
Взглянем на такой пример:
pages = «1,3»;
rangeindex = 2.
В этом случае не будет сохранено ни одного листа. Согласно значению свойства rangeindex КОМПАС должен сохранить четные листы, но в свойстве pages не указано ни одного четного листа. Поэтому метод SaveAsToRasterFormat ничего не сохраняет и возвращает значение false.
Сохранение без сжатия
Для сохранения документа в виде растрового изображения без сжатия используется метод SaveAsToUncompressedRasterFormat интерфейса ksDocument2D. Данный метод полностью аналогичен методу SaveAsToRasterFormat, рассмотренному ранее. Поэтому описывать его я не буду.
Учтите, что различие между методами SaveAsToRasterFormat и SaveAsToUncompressedRasterFormat проявляется только при работе с файлами формата TIFF. Для файлов других типов они работают абсолютно одинаково.
Заключение
В данной статье мы рассмотрели сохранение графического документа в различные форматы. Не забывайте, что сохранение в виде растрового изображения или DXF ни в коем случае не должно заменять сохранения с помощью метода ksSaveDocument или ksSaveDocumentEx.
Вообще при разработке приложения под КОМПАС вы должны четко определиться с тем, кто отвечает за сохранение документа: вы, или пользователь. Я считаю, что в большинстве случаев за это должен отвечать пользователь. Ваша программа создает документ и показывает его пользователю, который и решает, что с ним делать дальше: сохранить, или забыть. Однако, если ваша программа должна изменить большое количество документов, то перекладывать задачу их сохранения на пользователя некрасиво. В этом случае сохранять документы должна программа. Хотя всё зависит от поставленной задачи.
Продолжение следует, следите за новостями блога.
Сергей Норсеев, автор книги «Разработка приложений под КОМПАС в Delphi».
Ни для кого не секрет что на сегодняшний день самыми популярными программами для создания 3D-моделей и проектов являются «КОМПАС-3D» и «AutoCAD». В следующем уроке вы узнаете, как перенести данные из одной программы в формат другой. С уверенностью можно сказать, что эта информация станет полезной для специалистов разных уровней.
- Для того чтобы перенести файлы в 2D-формате в программу «AutoCAD», не зависимо от того какой именно объект мы переносим, нужно всего лишь нажать несколько клавиш: «Сохранить как», а затем выбрать формат «AutoCAD». В принципе все довольно просто и понятно на интуитивном уровне;
- Однако ввиду того, что файл переносится с одной программы в совершенно другую, то есть некоторые нюансы. Например, если вы переносите чертеж, то большинство его элементов могут перенестись в «AutoCAD» в виде неких блоков. Для того чтобы продолжить корректную работу с чертежами уже в этой программе необходимо преобразовать наш проект;
- Небольшим недостатком работы в программе «КОМПАС-3D» является то, что полученную работу невозможно сохранить в формате «*.DWG». Это касается как отдельных деталей, так и всего комплексного объекта. Но это не значит, что у специалиста нет никакого выхода, как перестать работать в полюбившейся программе. Есть обходной путь, и он заключается в том, что модель можно сохранить в универсальном формате, которых в Компасе несколько. Например, вы можете воспользоваться форматом «*.SAT». Он позволит экспортировать ваш проект целиком или отдельные его объекты в «AutoCAD» без каких либо проблем;
- Сохраняем нашу модель в формате «*.SAT». Для этого заходим в меню, жмем «Сохранить как» и в соответствующем окошке выбираем нужный формат;
- После того как формат выбран, его нужно сохранить. После того как вы нажмете клавишу «Сохранить», программа начнет записывать проект в новом формате. Вы можете сохранить свою модель в определенной указанной вами папке, а можете сохранить по умолчанию в папку, которую выберет Компас;
Не стоит забывать, что любая программа может давать сбой и записывать файлы не корректно, так что обязательно убедитесь в том, что ваш файл не поврежден, экспортирован правильно, а если потребуется, то просто перезапишите объект еще раз.
Сейчас одной из самых популярных программ для черчения и моделирования по праву считается AutoCAD, однако не все пользователи имеют возможность или желание задействовать именно эту САПР (Систему Автоматизированного Проектирования). Связано это с требованиями работодателя или личными причинами. Самым популярным аналогом Автокада от отечественного разработчика выступает Компас-3D, предоставляя юзерам примерно такой же набор функций и инструментов. Иногда обладатели такого ПО сталкиваются с надобностью переноса своих чертежей, с чем мы и хотим помочь разобраться в рамках сегодняшней статьи.
Выбор формата для сохранения
Первоочередно потребуется определиться с подходящим форматом, который будет использоваться для сохранения готового проекта в AutoCAD. Сейчас целесообразно рассматривать только три варианта, полностью поддерживающиеся в Компас и не вызывающие каких-либо проблем.
Переносим чертежи из AutoCAD в Компас-3D
Теперь, когда вы знакомы со списком поддерживаемых файлов, можно смело приступать непосредственно к переносу имеющихся чертежей. Делается это достаточно быстро и просто с помощью одного из двух доступных методов. Мы советуем ознакомиться поочередно с ними двумя, чтобы выбрать наиболее подходящий и в дальнейшем воплотить его в жизнь.
Способ 1: Стандартное сохранение
Как видите, рассмотренный метод больше подойдет тем юзерам, кто желает запускать имеющийся чертеж в разных версиях AutoCAD. Если же вы задействуете старую сборку Компаса, то с некоторыми форматами могут наблюдаться проблемы, к тому же здесь отсутствует третий указанный тип под названием ACIS. Потому если данный вариант вас не устроил, рекомендуем ознакомиться со следующим.
Теперь вы знакомы с двумя методами переноса чертежей из AutoCAD в Компас-3D. После успешного сохранения останется только открыть файл через стандартное меню в программе, указав при этом в обозревателе отображение всех типов объектов. Если вас интересует выполнение других действий в рассмотренном сегодня AutoCAD или Компас-3D, советуем ознакомиться со специальными обучающими материалами по этой теме на нашем сайте, перейдя по указанным ниже ссылкам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Одними из самых актуальных и используемых САПР являются КОМПАС-3D компании Аскон и всем известный AutoCAD. В этой статье мы расскажем, как можно перенести данные из КОМПАСа в AutoCAD.
Экспорт 2D-моделей
Для того что бы конвертировать 2D-файлы Компас в AutoCAD, не зависимо от того, чертеж это, фрагмент или спецификация. Достаточно выполнить команду Меню: Файл > Сохранить как, и в проводнике выбрать соответствующий формат AutoCAD.
Стоит отметить, что при экспорте документов из Компаса в AutoCAD большая часть элементов чертежа передается в виде блоков. Для последующей корректной работы с данными чертежами в AutoCAD может потребовать их переопределение или разрушение.
Экспорт 3D-моделей
Для того что бы сохранить документ в формате *.SAT достаточно выполнить команду Меню: Файл > Сохранить как, и в проводнике выбрать соответствующий формат.
После указания формата, пути сохранения файла и его имени, нажмите клавишу Сохранить, далее будет выведено окно Запись файла формата …, где опять же будет указан путь к файлу Компас (по умолчанию текущий) и путь к файлу в который будет осуществляться запись (по умолчанию файл создается в указанной вами папке).
Стоит все же отметить что экспорт и импорт документов между программами не всегда проходит «гладко», а потому, старайтесь избегать редактирования импортированных объектов.
Читайте также: