CAD 내보내기

3D AutoCAD 이미지를 PDF로 내보내기

Aspose.CAD를 사용하면 3D AutoCAD 이미지를 PDF로 내보낼 수 있습니다. 3D 엔티티를 내보내고 싶을 경우 Aspose.CAD.ImageOptions.CadRasterizationOptions를 사용해 주십시오.

아래 샘플 코드는 AutoCAD 3D 파일을 로드하고 이를 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 for .NET은 CAD 레이아웃을 PDF로 내보내는 기능을 제공합니다. CadImage 클래스의 Save 메서드를 사용하여 레이아웃을 PDF 형식으로 내보낼 수 있습니다.

아래 샘플 코드는 CAD 파일을 로드하고 “모델” 레이아웃을 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 for .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 for .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 프록시 엔티티 지원

Aspose.CAD for .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 for .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 for .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 for .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);
}