public static AcDb.ObjectId CreateLayer(String layerName) { AcDb.ObjectId layerId; AcDb.Database db = CurrentCAD.Database; using (AcDb.Transaction tr = db.TransactionManager.StartTransaction()) { AcDb.LayerTable layerTable = (AcDb.LayerTable)tr.GetObject(db.LayerTableId, AcDb.OpenMode.ForWrite); if (layerTable.Has(layerName)) { layerId = layerTable[layerName]; } else { AcDb.LayerTableRecord layerTableRecord = new AcDb.LayerTableRecord { Name = layerName }; layerId = layerTable.Add(layerTableRecord); tr.AddNewlyCreatedDBObject(layerTableRecord, true); } tr.Commit(); } return(layerId); }
private void CreateOrModifyLayer(LayerInfo layerInfo, _AcAp.Document doc, _AcDb.Database db, _AcDb.Transaction trans, _AcDb.LayerTable layTb) { if (layTb.Has(layerInfo.NewLayer)) { var oid = layTb[layerInfo.NewLayer]; _AcDb.LayerTableRecord ltr = (_AcDb.LayerTableRecord)trans.GetObject(oid, _AcDb.OpenMode.ForWrite); layerInfo.ModifyLayer(ltr, trans, db); } else { using (_AcDb.LayerTableRecord ltr = new _AcDb.LayerTableRecord()) { // Assign the layer a name ltr.Name = layerInfo.NewLayer; // Upgrade the Layer table for write //layTb.UpgradeOpen(); // Append the new layer to the Layer table and the transaction layTb.Add(ltr); trans.AddNewlyCreatedDBObject(ltr, true); layerInfo.ModifyLayer(ltr, trans, db); } } }
private _AcDb.ObjectId CreateNewLayer(_AcAp.Document doc, _AcDb.Database db) { using (_AcDb.Transaction trans = doc.TransactionManager.StartTransaction()) { try { string layerName = "MyTest"; _AcDb.LayerTable layTb = trans.GetObject(db.LayerTableId, _AcDb.OpenMode.ForRead) as _AcDb.LayerTable; using (_AcDb.LayerTableRecord acLyrTblRec = new _AcDb.LayerTableRecord()) { // Assign the layer a name acLyrTblRec.Name = layerName; // Upgrade the Layer table for write layTb.UpgradeOpen(); // Append the new layer to the Layer table and the transaction layTb.Add(acLyrTblRec); trans.AddNewlyCreatedDBObject(acLyrTblRec, true); int transparenz = 10; Byte alpha = TransparenzToAlpha(transparenz); _AcCm.Transparency tr = new _AcCm.Transparency(alpha); acLyrTblRec.Transparency = tr; _AcCm.Color col = _AcCm.Color.FromColorIndex(_AcCm.ColorMethod.ByColor, 2); //_AcCm.Color col = _AcCm.Color.FromRgb(10, 20, 30); acLyrTblRec.Color = col; _AcDb.ObjectId ltOid = GetLinetypeFromName("Continuous", trans, db); if (!ltOid.IsNull) { acLyrTblRec.LinetypeObjectId = ltOid; } _AcDb.LineWeight lw = _AcDb.LineWeight.LineWeight030; acLyrTblRec.LineWeight = lw; // ??? //acLyrTblRec.PlotStyleName = "hugo"; acLyrTblRec.Description = "My new Layer"; return(acLyrTblRec.ObjectId); } } finally { trans.Commit(); } } }
public void initLayer(string layerName) { _Db.LayerTable layerTable = _c.trans.GetObject(_c.db.LayerTableId, _Db.OpenMode.ForWrite) as _Db.LayerTable; if (!layerTable.Has(layerName)) { _Db.LayerTableRecord newLayer = new _Db.LayerTableRecord(); newLayer.Name = layerName; newLayer.Color = _Cm.Color.FromColorIndex(_Cm.ColorMethod.None, 1); _Db.ObjectId layerId = layerTable.Add(newLayer); _c.trans.AddNewlyCreatedDBObject(newLayer, true); } }
private void createLayer(string layerName, _Db.LayerTable layerTable) { _Db.LayerTableRecord newLayer = new _Db.LayerTableRecord(); newLayer.Name = layerName; newLayer.Color = _Cm.Color.FromColorIndex(_Cm.ColorMethod.None, 80); newLayer.LineWeight = _Db.LineWeight.LineWeight013; _Db.ObjectId layerId = layerTable.Add(newLayer); _c.trans.AddNewlyCreatedDBObject(newLayer, true); newLayer.Description = "Kõik mõõtjooned"; _Db.LinetypeTable lineTypes = _c.trans.GetObject(_c.db.LinetypeTableId, _Db.OpenMode.ForWrite) as _Db.LinetypeTable; if (lineTypes.Has("Continuous") == true) { newLayer.LinetypeObjectId = lineTypes["Continuous"]; } }
internal void CreateNewLayer() { _AcDb.LayerTable lt = (_AcDb.LayerTable)_Tr.GetObject(_Db.LayerTableId, _AcDb.OpenMode.ForRead, false); if (!lt.Has(_NewLayer)) { _AcDb.LayerTableRecord ltRec = new _AcDb.LayerTableRecord(); ltRec.Name = _NewLayer; lt.UpgradeOpen(); lt.Add(ltRec); ltRec.LinetypeObjectId = GetLinetypeFromName(_NewLineType, _Tr, _Db); if (ltRec.LinetypeObjectId == default(_AcDb.ObjectId)) { log.WarnFormat("Linientyp '{0}' existiert nicht und wird daher Layer '{1}' nicht zugeordnet!", _NewLineType, _NewLayer); } ltRec.Color = _ColorO; _Tr.AddNewlyCreatedDBObject(ltRec, true); } }
private void createLayer(string layerName, _Db.LayerTable layerTable) { _Db.LayerTableRecord newLayer = new _Db.LayerTableRecord(); newLayer.Name = layerName; if (layerName == "Armatuur") { newLayer.Color = _Cm.Color.FromColorIndex(_Cm.ColorMethod.None, 30); } if (layerName == "_AUTO_KONTROLL_") { newLayer.Color = _Cm.Color.FromColorIndex(_Cm.ColorMethod.None, 1); } else { newLayer.Color = _Cm.Color.FromColorIndex(_Cm.ColorMethod.None, 6); } _Db.ObjectId layerId = layerTable.Add(newLayer); _c.trans.AddNewlyCreatedDBObject(newLayer, true); }