رنگ‌آمیزی ورودی‌ها با لایه‌های جدید اضافه شده

چگونه ورودی‌ها را با لایه‌های جدید اضافه شده رنگ‌آمیزی کنیم (CADNET-1146)

مسئله: چگونه ورودی‌ها را با لایه‌های جدید اضافه شده رنگ‌آمیزی کنیم (CADNET-1146).

نکات: برای این کار، از کلاس CadLayerTable برای ایجاد یک لایه استفاده کنید تا بتوانید یک لایه جدید به طراحی اضافه کنید، همچنین می‌توانید از CadLayersList برای اضافه کردن چندین لایه استفاده کنید.

مثال:

using (CadImage cadImage = (CadImage)Image.Load(GetPath(fileName)))
{
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.DrawType = CadDrawTypeMode.UseObjectColor;
CadLayersList newList = cadImage.Layers;
CadLayerTable redLayer = new CadLayerTable();
redLayer.Name = "REDLAYER";
redLayer.ColorId = 1; // ID of red color
redLayer.ObjectHandle = "REDLAYER";
CadLayerTable greenLayer = new CadLayerTable();
greenLayer.Name = "GREENLAYER";
greenLayer.ObjectHandle = "GREENLAYER";
greenLayer.ColorId = 3; // ID of green color
newList.AddRange(new CadLayerTable[] {redLayer, greenLayer});
cadImage.Layers = newList;
foreach (CadBaseEntity entity in cadImage.Entities)
{
if (entity.TypeName == CadEntityTypeName.INSERT)
{
CadInsertObject insert = (CadInsertObject)entity;
// the required block to change color for is identified by name
if (insert.Name == "3")
{
insert.LayerName = "REDLAYER";
}
if (insert.Name == "2")
{
insert.LayerName = "GREENLAYER";
}
}
}
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.VectorRasterizationOptions = rasterizationOptions;
cadImage.Save(outPath, pdfOptions);
}