Výkresy DXF

Exportování výkresů DXF do formátu PDF

Aspose.CAD poskytuje funkci načítání entit výkresu DXF z AutoCADu a jejich vykreslování jako celý výkres do formátu PDF. Přístup k převodu DXF na PDF funguje následovně:

  1. Načtěte soubor výkresu DXF pomocí tovární metody Image.Load.
  2. Vytvořte objekt třídy CadRasterizationOptions a nastavte vlastnosti PageHeight a PageWidth.
  3. Vytvořte objekt třídy PdfOptions a nastavte vlastnost VectorRasterizationOptions.
  4. Zavolejte funkci Image.Save a jako druhý parametr předejte objekt PdfOptions.

Následující ukázkový kód ukazuje, jak převést soubor s výchozími nastaveními.

// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string sourceFilePath = MyDir + "conic_pyramid.dxf";
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath))
{
// Create an instance of CadRasterizationOptions and set its various properties
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
rasterizationOptions.BackgroundColor = Aspose.CAD.Color.White;
rasterizationOptions.PageWidth = 1600;
rasterizationOptions.PageHeight = 1600;
// Create an instance of PdfOptions
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();
// Set the VectorRasterizationOptions property
pdfOptions.VectorRasterizationOptions = rasterizationOptions;
MyDir = MyDir + "conic_pyramid_out.pdf";
//Export the DXF to PDF
image.Save(MyDir, pdfOptions);
}

Podporované formáty

V současné době plně podporujeme formáty souborů AutoCAD DXF 2010. Předchozí verze DXF nejsou zaručeny jako 100% platné. Plánujeme zahrnout více formátů a funkcí v budoucích verzích Aspose.CAD.

Podporované entity

V současné době podporujeme všechny běžné 2D entity a jejich základní výchozí parametry následovně:

  1. Zarovnávaná dimenze
  2. Úhlová dimenze
  3. Oblouk
  4. Atribut
  5. Odkaz na blok
  6. Kružnice
  7. Průměrná dimenze
  8. Elipsa
  9. Sít
  10. Úsečka
  11. Vícerozměrný text
  12. Radiální dimenze
  13. Bod
  14. Lomená čára
  15. Radiální dimenze
  16. Papírová plocha
  17. Text
  18. Přímka

Správa paměti

Vlastnost ExactReallocateOnly třídy Cache se dá použít k řízení přerozdělení paměti. Přerozdělení paměti je pravděpodobné zejména u předem přidělených vyrovnávacích pamětí. Může se stát, že systém zjistí, že přidělený prostor nebude postačující.

  • Pokud je ExactReallocateOnly nastaveno na výchozí hodnotu, False, prostor je přerozdělen do stejného média.
  • Pokud je nastaveno na True, přerozdělení nemůže přesáhnout maximálně stanovený prostor. V tomto případě je uvolněna existující přidělená mezipaměť (která vyžaduje přerozdělení) a rozšířený prostor je přidělen na disk.

Exportování specifické vrstvy výkresů DXF do PDF

Tento přístup funguje následovně:

  1. Otevřete soubor s výkresem DXF pomocí tovární metody Image.Load.
  2. Vytvořte instanci třídy CadRasterizationOptions a specifikujte vlastnosti PageWidth a PageHeight.
  3. Přidejte vrstvy do objektu CadRasterizationOptions.
  4. Vytvořte instanci třídy PdfOptions a nastavte její vlastnost VectorRasterizationOptions.
  5. Zavolejte metodu Image.Save a jako druhý parametr předejte objekt PdfOptions.

Následující ukázkový kód ukazuje, jak převést konkrétní vrstvu DXF do PDF.

// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string sourceFilePath = MyDir + "conic_pyramid.dxf";
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath))
{
// Create an instance of CadRasterizationOptions and set its various properties
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
rasterizationOptions.PageWidth = 1600;
rasterizationOptions.PageHeight = 1600;
// Add desired layers
rasterizationOptions.Layers = new string[] { "LayerA" };
// Create an instance of PdfOptions
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();
// Set the VectorRasterizationOptions property
pdfOptions.VectorRasterizationOptions = rasterizationOptions;
MyDir = MyDir + "conic_pyramid_layer_out.pdf";
//Export the DXF to PDF
image.Save(MyDir, pdfOptions);
}

Vykreslení souborů PDF jako části výkresů DXF

Tento přístup funguje následovně:

  1. Načtěte soubor s výkresy DXF pomocí metody továrny Image.Load.
  2. Vytvořte objekt třídy CadRasterizationOptions a načtěte soubory PDF.
  3. Nastavte vlastnosti PageHeight a PageWidth.
  4. Zavolejte Image.Save a uložte soubor.

Následující ukázkový kód ukazuje, jak vykreslit soubory PDF jako část výkresů DXF.

// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string sourceFilePath = MyDir + "conic_pyramid.dxf";
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath))
{
// Create an instance of CadRasterizationOptions and set its various properties
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
rasterizationOptions.PageWidth = 1600;
rasterizationOptions.PageHeight = 1600;
// Specify desired layout name
rasterizationOptions.Layouts = new string[] { "Model" };
// Create an instance of PdfOptions
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();
// Set the VectorRasterizationOptions property
pdfOptions.VectorRasterizationOptions = rasterizationOptions;
MyDir = MyDir + "conic_pyramid_layout_out.pdf";
//Export the DXF to PDF
image.Save(MyDir, pdfOptions);
}

Export vnořeného podkladu DGN pro formát DXF

Aspose.CAD poskytuje funkci načítání souborů AutoCAD DXF a export vnořeného podkladu DGN pro formát DXF.

Následující ukázkový kód ukazuje, jak dosáhnout určených požadavků.

// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string sourceFilePath = MyDir + "conic_pyramid.dxf";
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath))
{
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.Layouts = new[] { "Model" };
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.VectorRasterizationOptions = rasterizationOptions;
cadImage.Save(MyDir + "conic_pyramid.pdf", pdfOptions);
}

Podpora pro ukládání souborů DXF

Aspose.CAD poskytuje funkci načítání souborů AutoCAD DXF a provádění změn v něm a opětovné uložení jako soubor DXF.

Následující ukázkový kód ukazuje, jak dosáhnout určených požadavků.

// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string sourceFilePath = MyDir + "conic_pyramid.dxf";
using (CadImage cadImage = (CadImage)Image.Load(sourceFilePath))
{
// any entities updates
cadImage.Save(MyDir+"conic.dxf");
}

Exportování DXF do WMF

Tento přístup funguje následovně:

  1. Načtěte soubor s výkresem DXF pomocí tovární metody Image.Load.
  2. Vytvořte objekt třídy CadRasterizationOptions a načtěte soubory PDF.
  3. Nastavte vlastnosti PageHeight a PageWidth.
  4. Zavolejte Image.Save a uložte soubor.
// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string sourceFilePath = MyDir + "conic_pyramid.dxf";
using (var image = Image.Load("NRB-GRID-BLOCK-MD-PROVALVDK-241000-162000-45400.dgn"))
{
var vectorOptions = new CadRasterizationOptions();
vectorOptions.AutomaticLayoutsScaling = true;
vectorOptions.BackgroundColor = Color.Black;
vectorOptions.PageWidth = 500;
vectorOptions.PageHeight = 500;
WmfOptions wmfOptions = new WmfOptions()
{
VectorRasterizationOptions = vectorOptions
};
image.Save("NRB-GRID-BLOCK-MD-PROVALVDK-241000-162000-45400.dgn.wmf", wmfOptions);
}

Exportování konkrétního DXF layoutu do PDF

Tento přístup funguje následovně:

  1. Otevřete soubor s výkresem DXF pomocí tovární metody Image.Load.
  2. Vytvořte instanci třídy CadRasterizationOptions a specifikujte vlastnosti PageWidth a PageHeight.
  3. Specifikujte požadovaný název rozvržení použitím vlastnosti CadRasterizationOptions.Layouts.
  4. Vytvořte instanci třídy PdfOptions a nastavte její vlastnost VectorRasterizationOptions.
  5. Exportujte výkres do PDF zavoláním funkce Image.Save a předáním objektu PdfOptions jako druhého parametru.

Následující ukázkový kód ukazuje, jak převést konkrétní rozvržení výkresu DXF do PDF.

// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string sourceFilePath = MyDir + "conic_pyramid.dxf";
using (Aspose.CAD.Image image = Aspose.CAD.Image.Load(sourceFilePath))
{
// Create an instance of CadRasterizationOptions and set its various properties
Aspose.CAD.ImageOptions.CadRasterizationOptions rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions();
rasterizationOptions.PageWidth = 1600;
rasterizationOptions.PageHeight = 1600;
// Specify desired layout name
rasterizationOptions.Layouts = new string[] { "Model" };
// Create an instance of PdfOptions
Aspose.CAD.ImageOptions.PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions();
// Set the VectorRasterizationOptions property
pdfOptions.VectorRasterizationOptions = rasterizationOptions;
MyDir = MyDir + "conic_pyramid_layout_out.pdf";
//Export the DXF to PDF
image.Save(MyDir, pdfOptions);
}

Podpora blokového oříznutí

Aspose.CAD poskytuje funkci blokového oříznutí. Přístup k blokovému oříznutí funguje následovně:

  1. Načtěte soubor s výkresem DXF pomocí metody továrny Image.Load.
  2. Vytvořte objekt třídy CadRasterizationOptions a načtěte soubory PDF.
  3. Nastavte požadované vlastnosti CadRasterizationOptions.
  4. Zavolejte funkci Image.Save a jako druhý parametr předejte objekt PdfOptions a uložte soubor.

Následující ukázkový kód ukazuje, jak funguje blokové oříznutí.

// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-.NET
// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
string inputFile = MyDir + "SLS-CW-CD-CE001-R01_blockClip.dxf";
string outputFile = MyDir + "SLS-CW-CD-CE001-R01_blockClip.pdf";
using (CadImage cadImage = (CadImage)Image.Load(inputFile))
{
var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions
{
BackgroundColor = Aspose.CAD.Color.White,
DrawType = Aspose.CAD.FileFormats.Cad.CadDrawTypeMode.UseObjectColor,
PageWidth = 1200,
PageHeight = 1600,
Margins = new Margins
{
Top = 5,
Right = 30,
Bottom = 5,
Left = 30
},
Layouts = new string[] { "Model" }
};
PdfOptions pdfOptions = new Aspose.CAD.ImageOptions.PdfOptions
{
VectorRasterizationOptions = rasterizationOptions
};
cadImage.Save(outputFile, pdfOptions);

Exportování obrázků do formátu DXF

Pomocí Aspose.CAD můžete exportovat obrázky do formátu DXF. Pomocí tohoto přístupu můžete provést následující akce:

  1. Nastavit nový font
  2. Skrýt entity
  3. Aktualizovat text

Následující ukázka kódu vám ukazuje, jak provést výše uvedené akce.

// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DXFDrawings();
foreach (var file in new DirectoryInfo(MyDir).EnumerateFiles("*.dxf"))
{
// ****************************
// Set new font per document
// ****************************
using (var cadImage = (CadImage)Image.Load(file.FullName))
{
// Iterate over the items of CadStyleTableObject
foreach (CadStyleTableObject style in cadImage.Styles)
{
// Set font name
style.PrimaryFontName = "Broadway";
}
cadImage.Save(file.FullName + "_font.dxf");
}
// ****************************
// Hide all "straight" lines
// ****************************
using (var cadImage = (CadImage)Image.Load(file.FullName))
{
foreach (var entity in cadImage.Entities)
{
// Make lines invisible
if (entity.TypeName == CadEntityTypeName.LINE)
{
entity.Visible = 0;
}
}
cadImage.Save(file.FullName + "_lines.dxf");
}
// ****************************
// Manipulations with text
// ****************************
using (var cadImage = (CadImage)Image.Load(file.FullName))
{
foreach (var entity in cadImage.Entities)
{
if (entity.TypeName == CadEntityTypeName.TEXT)
{
((CadText)entity).DefaultValue = "New text here!!! :)";
break;
}
}
cadImage.Save(file.FullName + "_text.dxf");
}
}

Exportování konkrétní vrstvy výkresů DXF do obrázku

Tento přístup funguje následovně:

  1. Otevřete soubor s výkresem DXF pomocí tovární metody Image.Load.
  2. Vytvořte instanci třídy CadRasterizationOptions a specifikujte vlastnosti [PageWidth](https://reference.aspose.com/cad