Экспорт CAD
Экспорт 3D Изображений AutoCAD в PDF
Aspose.CAD позволяет экспортировать 3D изображения AutoCAD в PDF. Пожалуйста, используйте Aspose.CAD.ImageOptions.CadRasterizationOptions, чтобы указать, что вы хотите экспортировать 3D объекты.
Следующий пример кода загружает 3D файл AutoCAD и экспортирует его в PDF. После того как файл будет преобразован в PDF, вы сможете открыть его с помощью вашего любимого PDF-ридера.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (Aspose.CAD.Image cadImage = Aspose.CAD.Image.Load(sourceFilePath)) | |
{ | |
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 500; | |
rasterizationOptions.PageHeight = 500; | |
// rasterizationOptions.TypeOfEntities = TypeOfEntities.Entities3D; | |
rasterizationOptions.Layouts = new string[] { "Model" }; | |
PdfOptions pdfOptions = new PdfOptions(); | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "Export3DImagestoPDF_out.pdf"; | |
cadImage.Save(MyDir, pdfOptions); | |
} |
Экспорт CAD Макетов в PDF
Aspose.CAD для .NET позволяет вам экспортировать CAD макеты в PDF. Метод Save класса CadImage может использоваться для экспорта макета(ов) в формате PDF.
Следующий пример кода загружает CAD файл и экспортирует его макет “Model” в PDF. После того как файл будет преобразован в PDF, вы сможете открыть его с помощью вашего любимого PDF-ридера.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
// Create an instance of CadImage class and load the file. | |
using (Aspose.CAD.Image cadImage = (Aspose.CAD.Image)Image.Load(sourceFilePath)) | |
{ | |
// Create an instance of CadRasterizationOptions class | |
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
// Set the Entities type property to Entities3D. | |
//rasterizationOptions.TypeOfEntities = TypeOfEntities.Entities3D; | |
rasterizationOptions.AutomaticLayoutsScaling = true; | |
rasterizationOptions.NoScaling = false; | |
rasterizationOptions.ContentAsBitmap = true; | |
// Set Layouts | |
rasterizationOptions.Layouts = new string[] { "Model" }; | |
// Create an instance of PDF options class | |
PdfOptions pdfOptions = new PdfOptions(); | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
MyDir = MyDir + "CADLayoutsToPDF_out.pdf"; | |
// Set Graphics options | |
rasterizationOptions.GraphicsOptions.SmoothingMode = SmoothingMode.HighQuality; | |
rasterizationOptions.GraphicsOptions.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; | |
rasterizationOptions.GraphicsOptions.InterpolationMode = InterpolationMode.HighQualityBicubic; | |
//Export to PDF by calling the Save method | |
cadImage.Save(MyDir, pdfOptions); | |
} |
Поддержка настройки пера в экспорте
Aspose.CAD для .NET позволяет вам добавлять параметры пера в свойства экспорта CAD. Используя CadRasterizationOptions, мы можем установить параметры свойств пера.
Ниже приведен пример кода для достижения указанных требований.
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
CadImage cadImage = (CadImage)Image.Load(sourceFilePath); | |
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); | |
PdfOptions pdfOptions = new PdfOptions(); | |
// Here user can change default start cap and end cap of pens when exporting CadImage object to | |
// image. It can be using for all image formats: pdf, png, bmp, gif, jpeg2000, jpeg, psd, tiff, wmf. | |
// If user doesn't use PenOptions, system will use its own default pens (different in defferent places). | |
rasterizationOptions.PenOptions = new PenOptions | |
{ | |
StartCap = LineCap.Flat, | |
EndCap = LineCap.Flat | |
}; | |
pdfOptions.VectorRasterizationOptions = rasterizationOptions; | |
cadImage.Save(MyDir+"9LHATT-A56_generated.pdf", pdfOptions); | |
Декомпозиция CAD Объекта Вставки
Aspose.CAD для .NET позволяет вам декомпозировать CAD объекты и обрабатывать отдельные сущности внутри вставки. Ниже приведен пример кода, чтобы достичь указанных требований.
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath)) | |
{ | |
for (int i = 0; i < cadImage.Entities.Length; i++) | |
{ | |
if (cadImage.Entities[i].TypeName == CadEntityTypeName.INSERT) | |
{ | |
CadBlockEntity block = cadImage.BlockEntities[(cadImage.Entities[i] as CadInsertObject).Name]; | |
foreach (CadBaseEntity baseEntity in block.Entities) | |
{ | |
// processing of entities | |
} | |
} | |
} | |
Поддержка ACAD Proxy Сущностей
Aspose.CAD для .NET позволяет вам читать и экспортировать сущности ACAD_PROXY_ENTITY. Ниже приведен пример кода для достижения указанных требований.
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath)) | |
{ | |
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); | |
rasterizationOptions.UnitType = UnitType.Inch; | |
rasterizationOptions.DrawType = CadDrawTypeMode.UseObjectColor; | |
rasterizationOptions.BackgroundColor = Color.Black; | |
rasterizationOptions.Layouts = new string[] { "Model" }; | |
PdfOptions pdfOptions = new PdfOptions | |
{ | |
VectorRasterizationOptions = rasterizationOptions | |
}; | |
cadImage.Save(MyDir+"output.pdf", pdfOptions); | |
} |
Интеграция формата IGES
Aspose.CAD для .NET позволяет вам читать и экспортировать формат IGES. Ниже приведен пример кода для достижения указанных требований.
string MyDir = RunExamples.GetDataDir_IGESDrawings(); | |
string sourceFilePath = MyDir + ("figa2.igs"); | |
string outPath = MyDir + ("meshes.pdf"); | |
using (Image igesImage = Image.Load(sourceFilePath)) | |
{ | |
Aspose.CAD.ImageOptions.PdfOptions pdf = new Aspose.CAD.ImageOptions.PdfOptions(); | |
pdf.VectorRasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions(); | |
pdf.VectorRasterizationOptions.PageHeight = 1000; | |
pdf.VectorRasterizationOptions.PageWidth = 1000; | |
igesImage.Save("figa2.pdf", pdf); | |
} |
Поддержка Сетчатых Моделей
Aspose.CAD для .NET позволяет вам реализовывать и подсчитывать сетчатые модели, такие как грани, вершины и поверхности, которые используют полигональное представление. Ниже приведен пример кода для достижения указанных требований.
string MyDir = RunExamples.GetDataDir_DWGDrawings(); | |
string sourceFilePath = MyDir+("meshes.dwg"); | |
string outPath = MyDir+("meshes.pdf"); | |
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath)) | |
{ | |
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); | |
rasterizationOptions.PageWidth = 1600; | |
rasterizationOptions.PageHeight = 1600; | |
//rasterizationOptions.TypeOfEntities = TypeOfEntities.Entities3D; | |
rasterizationOptions.Layouts = new string[] { "Model" }; | |
PdfOptions pdfOptions = new PdfOptions | |
{ | |
VectorRasterizationOptions = rasterizationOptions | |
}; | |
{ | |
cadImage.Save(outPath, pdfOptions); | |
} | |
} |
Установить Пользовательскую Точку Зрения
Aspose.CAD для .NET позволяет вам установить пользовательскую точку зрения для макета модели. Используя VectorRasterizationOptions, вы можете установить пользовательскую точку зрения. Пример кода ниже показывает, как установить пользовательскую точку зрения.
// The path to the documents directory. | |
string MyDir = RunExamples.GetDataDir_ConvertingCAD(); | |
string sourceFilePath = MyDir + "conic_pyramid.dxf"; | |
var outPath = Path.Combine(MyDir, "FreePointOfView_out.jpg"); | |
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath)) | |
{ | |
JpegOptions options = new JpegOptions | |
{ | |
VectorRasterizationOptions = new CadRasterizationOptions | |
{ | |
PageWidth = 1500, PageHeight = 1500 | |
} | |
}; | |
float xAngle = 10; //Angle of rotation along the X axis | |
float yAngle = 30; //Angle of rotation along the Y axis | |
float zAngle = 40; //Angle of rotation along the Z axis | |
((CadRasterizationOptions)(options.VectorRasterizationOptions)).ObserverPoint = new ObserverPoint(xAngle, yAngle, zAngle); | |
cadImage.Save(outPath, options); | |
} |