Как сохранить чертеж из Компаса в формат наиболее удобный для печати? Как конвертировать чертежи в PDF или Jpeg?
Для чего нужны такие «тело-движения»? Все очень просто! Программы Компаса часто несовместимы с друг другом. То есть чертеж, даже самый простой, сделанный в старой версии, не откроется в новом Компасе. Также при открытии чертежа, могут изменится шрифты и картинки. И чтобы напечатать чертеж наверняка нужно сохранять его в универсальный формат — PDF или Jpg.
Они гарантированно откроются на любом компьютере в любой типографии. Про другую программу для черчения — Автокад у нас уже есть статья.
2. Открываем «Сохранить как. «;
Компас 3D. Урок. Как сохранить чертеж в нужном формате.
3. В предложенных форматах выбираем jpg#;
4. Важный момент. Для сохранения качества лучше всего поставить «Разрешение» на 300. «Оттенки серого» — если Вам нужны черно-белые чертежи.
Так несложно в Компасе сохранить в формат jpg.
5. Теперь учимся сохранять в pdf. Для этого необходимы «виртуальные принтеры». Это программы которые устанавливаются под видом принтера, только не печатают документы, а конвертируют в pdf. Самый лучший «виртуальный принтер» это doPDF. Мы про него уже писали статью.
В этой статье будем использовать принтер, который установлен на компьютер вместе с Компасом. Он проще, но его достаточно.
Открываем «Предварительный просмотр».
6. В настройках принтера выбираем «Adobe PDF». И жмем «ОК».
7. Таким образом у нас есть и джипег и pdf. Можно идти печатать!
Фото ателье
Телефон: +7 (916) 005-05-84
Адрес: Варшавское шоссе 158 кор 1
пн-пт: с 10.00 до 21.00
сб-вс: с 10.00 до 20.00
Источник: 8-art.ru
Работа с API КОМПАС-3D → Урок 6 → Сохранение документа в различные форматы
Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В этом уроке поговорим о том, как сохранять документы.
Простое сохранение
Для сохранения графического документа используются методы ksSaveDocument и ksSaveDocumentEx интерфейса ksDocument2D. Начнем с первого, его прототип представлен ниже.
BOOL ksSaveDocument ( BSTR fileName //полное имя файла );
Единственный параметр метода – строка с полным именем файла, в который нужно сохранить документ. Если параметр filename содержит пустую строку, то документ сохраняется по пути заданному в свойстве filename интерфейса ksDocumentParam (кратко описывался в первой части цикла).
Учтите, что если файл с указанным именем уже существует, то КОМПАС перезапишет его.
В случае успеха метод ksSaveDocument возвращает значение true, а в случае ошибки – значение false.
Метод ksSaveDocumentEx похож на метод ksSaveDocument и, по сути, является его расширенной версией. Ниже приводится прототип метода ksSaveDocumentEx.
BOOL ksSaveDocumentEx ( BSTR fileName, //полное имя файла long version //для какой версии КОМПАС сохранять );
Как видно из прототипа по сравнению с методом ksSaveDocument в методе ksSaveDocumentEx добавился еще один параметр: признак того, в какой версии КОМПАС сохранять документ. У него всего три допустимых значения:
-1 –в предыдущую версию;
0 – в текущую версию;
1 – в версию 5.11.
Дополнительный параметр – единственное отличие метода ksSaveDocumentEx от метода ksSaveDocument. Вызов метода ksSaveDocumentEx с параметром version равным нулю, эквивалентен вызову метода ksSaveDocument.
Сохранение в формат DXF
Согласно Википедии: DXF (Drawing eXchange Format) – отрытый формат файлов для обмена графической информацией между приложениями САПР. КОМПАС поддерживает этот формат и позволяет нам сохранять документы в этом формате.
Для сохранения графического документа в формат DXF используется метод ksSaveToDXF интерфейса ksDocument2D. Вот его прототип.
BOOL ksSaveToDXF ( LPCTSTR dxfFileName //полное имя файла );
В качестве единственного параметра он принимает полный путь к файлу, в который нужно сохранить документ. В случае успеха метод возвращает значение true, а в случае ошибки – значение false.
По своей сути формат DXF является текстовым, и содержимое файла вы можете просмотреть в стандартном блокноте. Однако блокнот не поддерживает этот формат полностью. Для полноценного просмотра содержимого файла можно воспользоваться сайтом sharecad.org, или специальной программой. На рисунке ниже показан чертеж, сохраненный в формате DXF и открытый на портале sharecad.org.
Чертеж в формате DXF открытый на портале sharecad.org
Параметры сохранения в растровом формате
КОМПАС позволяет сохранять документы в растровом формате. Для этого вначале нужно заполнить интерфейс параметров 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. Ниже приводится его прототип.
BOOL SaveAsToRasterFormat ( BSTR fileName, //Полный путь к файлу LPDISPATCH rasterPar //Параметры сохранения );
Первый параметр задает полный путь к файлу, в который нужно сохранить документ.
Второй параметр содержит интерфейс ksRasterFormatParam, задающий параметры сохранения в виде растрового изображения.
В случае успеха метод SaveAsToRasterFormat возвращает значение true, а в случае ошибки – false.
Ниже приводится пример использования данного метода.
//Формируем путь к файлу, в который будем сохранять WideString str_filepath; str_filepath = ExtractFileDir(Application->ExeName); str_filepath += L»\MyNewDocument.jpg»; //Подключаемся к КОМПАС KompasObjectPtr kompas; kompas.CreateInstance(L»KOMPAS.Application.5″); //Подготавливаем параметры документа DocumentParamPtr DocumentParam; DocumentParam=(DocumentParamPtr)kompas->GetParamStruct(ko_DocumentParam); DocumentParam->Init(); DocumentParam->type= lt_DocSheetStandart;//Чертеж на стандартном листе //Создаем документ Document2DPtr Document2D; Document2D = (Document2DPtr)kompas->Document2D(); Document2D->ksCreateDocument(DocumentParam); //Подготавливаем параметры сохранения в растр RasterFormatParamPtr RasterFormatParam; RasterFormatParam = (RasterFormatParamPtr)Document2D->RasterFormatParam(); RasterFormatParam->Init(); RasterFormatParam->set_colorBPP(BPP_COLOR_24); RasterFormatParam->set_colorType(BPP_COLOR_24); RasterFormatParam->set_extResolution(0); RasterFormatParam->set_extScale(1.0); RasterFormatParam->set_format(FORMAT_JPG); RasterFormatParam->set_greyScale(false); RasterFormatParam->set_onlyThinLine(false); RasterFormatParam->set_pages(SysAllocString(L»»)); RasterFormatParam->set_rangeIndex(0); //Сохраняем в виде растрового изображения Document2D->SaveAsToRasterFormat(SysAllocString(str_filepath.c_bstr()), RasterFormatParam); //Освобождаем ресурсы RasterFormatParam.Unbind(); Document2D.Unbind(); kompas->set_Visible(true); kompas.Unbind();
В данном примере создается новый документ, который сохраняется в виде 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».
- Блог компании АСКОН
- CAD/CAM
Источник: habr.com
Компас сохранить как
Тема данной статьи – компас сохранить как. Удивительно, но и сохранение в компасе у людей вызывает массу вопросов. Казалось бы, нет ничего проще, но, если у людей возникают вопросы, то я с удовольствием постараюсь на них ответить.
Компас сохранить как
Меня часто спрашивают, как сохранить чертёж в компасе. Скажу сразу, что у части людей, задающих этот вопрос, закончился период, данный на ознакомление с компасом, поэтому и не работает функция сохранения. Для остальных читателей расскажу 3 простых способа, как это сделать. В очередной раз, для примера, буду использовать чертёж домика. Также покажу несколько форматов сохранения, по которым мне задавали вопросы.
На картинке представлено 3 способа, сейчас расскажу о каждом. Отмечу сразу, что результат первых двух способов будет совершенно одинаковый, у третьего немного другой. Поэтому я и поставил цифры 1,2 и 3 в порядке предпочтения. Где 1 – самый простой и быстрый способ, 3 – тоже очень простой, но ведёт к закрытию программы.
Способ 1. В верхней панели выбираем иконку в виде дискеты и нажимаем на неё. Программа Вам выдаст вот такое окно.
Здесь мы определяемся с местом сохранения, вводим имя нашего чертежа, выбираем формат и сохраняем. Сразу скажу – данный простой способ действует для любых файлов компаса.
Сохранить файл в компасе можно в различных форматах. Первое, что меня спрашивают, в каком формате сохраняет компас? Если не изменять формат, то по умолчанию компас сохраняет в формате cdw чертежи, spw спецификации, m3d детали и a3d сборки. Следующий вопрос как в компасе сохранить в dxf – это формат Автокада, в таком формате можно сохранять чертежи, фрагменты и спецификации.
Иными словами, в компас сохранить в dxf можно двухмерные файлы. Для этого нужно просто выбрать формат (На картинке выше показано, как выбирать формат).
Файл компас сохранить в jpg можно аналогичным образом, с одной лишь разницей – в JPEG можно сохранить любой файл компас 3d, хоть чертёж, хоть 3D сборку, хоть спецификацию, хоть фрагмент. И ещё один вопрос, насчёт форматов сохранения – компас сохранить в stl может только трёхмерный файл, это деталь и сборка.
Способ 2. Как в компас 3Д сохранить. Для этого нажимаем в верхней панели кнопку со словом «Файл», и программа нам откроет дополнительное меню.
Тут можно выбрать «Сохранить», или «Сохранить как», или «Сохранить все». Дальнейшие действия будут точно такими же, как описаны в первом способе после нажатия иконки дискеты.
Способ 3. Для сохранения достаточно просто нажать закрытие программы (крестик в верхнем правом углу), после чего программа предложит сохранить результаты работы, нажимаем «Да» и дальше всё точно также, как описано в первом способе. Почему я поставил этот способ на 3 место? Потому что, после такого сохранения, программа закроется, и предложит сохранить все файлы, с которыми успели поработать.
Как видите, ничего сложно в процессе сохранения нет. Процесс сохранения не будет работать, если нет лицензии на программу и закончен ознакомительный период, а также, если файл уже открыт другим пользователем, но это актуально только для компаний, где несколько компьютеров имеют доступ к одним и тем же файлам. Для простого пользователя сохранение также может не сработать, если файл открыт два раза в компас 3D, или ещё в какой-нибудь программе.
Теперь Вы знаете, как сохранить деталь в компасе, как сохранить модель в компасе, как сохранить спецификацию, поэтому мне остаётся только пожелать Вам успехов в дальнейшем изучении этой программы и сохранения только лучших чертежей и моделей!
Традиционно, интересующие вопросы можете задавать в комментариях!
Источник: lsapr.ru