تلوين الإدخالات مع الطبقات الجديدة المضافة

كيف تلوين الإدخالات مع الطبقات الجديدة المضافة (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);
}