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);
}