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ě:
- Načtěte soubor výkresu DXF pomocí tovární metody Image.Load.
- Vytvořte objekt třídy CadRasterizationOptions a nastavte vlastnosti PageHeight a PageWidth.
- Vytvořte objekt třídy PdfOptions a nastavte vlastnost VectorRasterizationOptions.
- 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ě:
- Zarovnávaná dimenze
- Úhlová dimenze
- Oblouk
- Atribut
- Odkaz na blok
- Kružnice
- Průměrná dimenze
- Elipsa
- Sít
- Úsečka
- Vícerozměrný text
- Radiální dimenze
- Bod
- Lomená čára
- Radiální dimenze
- Papírová plocha
- Text
- 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ě:
- Otevřete soubor s výkresem DXF pomocí tovární metody Image.Load.
- Vytvořte instanci třídy CadRasterizationOptions a specifikujte vlastnosti PageWidth a PageHeight.
- Přidejte vrstvy do objektu CadRasterizationOptions.
- Vytvořte instanci třídy PdfOptions a nastavte její vlastnost VectorRasterizationOptions.
- 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ě:
- Načtěte soubor s výkresy DXF pomocí metody továrny Image.Load.
- Vytvořte objekt třídy CadRasterizationOptions a načtěte soubory PDF.
- Nastavte vlastnosti PageHeight a PageWidth.
- 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ě:
- Načtěte soubor s výkresem DXF pomocí tovární metody Image.Load.
- Vytvořte objekt třídy CadRasterizationOptions a načtěte soubory PDF.
- Nastavte vlastnosti PageHeight a PageWidth.
- 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ě:
- Otevřete soubor s výkresem DXF pomocí tovární metody Image.Load.
- Vytvořte instanci třídy CadRasterizationOptions a specifikujte vlastnosti PageWidth a PageHeight.
- Specifikujte požadovaný název rozvržení použitím vlastnosti CadRasterizationOptions.Layouts.
- Vytvořte instanci třídy PdfOptions a nastavte její vlastnost VectorRasterizationOptions.
- 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ě:
- Načtěte soubor s výkresem DXF pomocí metody továrny Image.Load.
- Vytvořte objekt třídy CadRasterizationOptions a načtěte soubory PDF.
- Nastavte požadované vlastnosti CadRasterizationOptions.
- 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:
- Nastavit nový font
- Skrýt entity
- 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ě:
- Otevřete soubor s výkresem DXF pomocí tovární metody Image.Load.
- Vytvořte instanci třídy CadRasterizationOptions a specifikujte vlastnosti [PageWidth](https://reference.aspose.com/cad