public void DbEvent_ObjectModified_Handler_MarkingCalc(object sender, Autodesk.AutoCAD.DatabaseServices.ObjectEventArgs e) { try { if (e.DBObject is Autodesk.AutoCAD.DatabaseServices.LayerTableRecord) { //LufsGenplan.AcadApp.AcaEd.WriteMessage("DEBUG: ObjectModified sender = " + (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).Name + // " ID = " + (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).ObjectId + "\n"); AcadUtils.CbAutocadItem obj = new AcadUtils.CbAutocadItem((e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).Name, (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).ObjectId); if (obj == null) { return; } for (int i = 0; i < cbLayerUse.Items.Count; i++) { if ((cbLayerUse.Items[i] as AcadUtils.CbAutocadItem).ID == obj.ID) { if ((cbLayerUse.Items[i] as AcadUtils.CbAutocadItem).Name == currentLayer) { cbLayerUse.Items.RemoveAt(i); cbLayerUse.Items.Insert(i, obj); currentLayer = cbLayerUse.Items[i].ToString(); cbLayerUse.SelectedItem = obj; } else { cbLayerUse.Items.RemoveAt(i); cbLayerUse.Items.Insert(i, obj); } break; } } } } catch (Exception ex) { LufsGenplan.AcadApp.AcaEd.WriteMessage("\nERROR: MarkingCalc.DbEvent_ObjectModified_Handler() " + ex + "\n"); } }
public void DbEvent_ObjectErased_Handler_RoadPavenment(object sender, ObjectErasedEventArgs e) { try { if (e.DBObject is Alignment) { AcadUtils.CbAutocadItem obj = new AcadUtils.CbAutocadItem((e.DBObject as Alignment).Name, (e.DBObject as Alignment).ObjectId); if (obj == null) { return; } for (int i = 0; i < cbAlignment.Items.Count; i++) { if ((cbAlignment.Items[i] as AcadUtils.CbAutocadItem).ID == obj.ID) { if (cbAlignment.Text == obj.Name) { cbAlignment.Items.RemoveAt(i); if (cbAlignment.Items.Count != 0) { cbAlignment.SelectedIndex = 0; cbAlignment.SelectedItem = cbAlignment.Items[0]; } } else { cbAlignment.Items.RemoveAt(i); } break; //for i } } } else if (e.DBObject is TinSurface) { AcadUtils.CbAutocadItem obj = new AcadUtils.CbAutocadItem((e.DBObject as TinSurface).Name, (e.DBObject as TinSurface).ObjectId); if (obj == null) { return; } for (int i = 0; i < cbSurfEx.Items.Count; i++) { if ((cbSurfEx.Items[i] as AcadUtils.CbAutocadItem).ID == obj.ID) { if (cbSurfEx.Text == obj.Name) { cbSurfEx.Items.RemoveAt(i); if (cbSurfEx.Items.Count != 0) { cbSurfEx.SelectedIndex = 0; cbSurfEx.SelectedItem = cbSurfPr.Items[0]; } } else { cbSurfEx.Items.RemoveAt(i); } break; //for } } for (int i = 0; i < cbSurfPr.Items.Count; i++) { if ((cbSurfPr.Items[i] as AcadUtils.CbAutocadItem).ID == obj.ID) { if (cbSurfPr.Text == obj.Name) { cbSurfPr.Items.RemoveAt(i); if (cbSurfPr.Items.Count != 0) { cbSurfPr.SelectedIndex = 0; cbSurfPr.SelectedItem = cbSurfPr.Items[0]; } } else { cbSurfPr.Items.RemoveAt(i); } break; //for } } } } catch (Exception ex) { LufsGenplan.AcadApp.AcaEd.WriteMessage("\nERROR: RoadPavenment.DbEvent_ObjectErased_Handler() " + ex + "\n"); } }
public void DbEvent_ObjectErased_Handler_AreaLinearCalc(object sender, Autodesk.AutoCAD.DatabaseServices.ObjectErasedEventArgs e) { try { if (e.DBObject is Autodesk.AutoCAD.DatabaseServices.LayerTableRecord) { //LufsGenplan.AcadApp.AcaEd.WriteMessage("DEBUG: ObjectErased sender = " + (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).Name + // " ID = " + (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).ObjectId + "\n"); AcadUtils.CbAutocadItem obj = new AcadUtils.CbAutocadItem((e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).Name, (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LayerTableRecord).ObjectId); if (obj == null) { return; } for (int i = 0; i < cbLayerUse.Items.Count; i++) { if ((cbLayerUse.Items[i] as AcadUtils.CbAutocadItem).ID == obj.ID) { if (currentLayer == obj.Name) { cbLayerUse.Items.RemoveAt(i); currentLayer = "0"; for (int j = 0; j < cbLayerUse.Items.Count; j++) { if ((cbLayerUse.Items[j] as AcadUtils.CbAutocadItem).Name == "0") { cbLayerUse.SelectedIndex = j; break; //for j } } } else { cbLayerUse.Items.RemoveAt(i); } break; //for i } } } else if (e.DBObject is Autodesk.AutoCAD.DatabaseServices.LinetypeTableRecord) { //LufsGenplan.AcadApp.AcaEd.WriteMessage("DEBUG: ObjectErased sender = " + (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LinetypeTableRecord).Name + // " ID = " + (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LinetypeTableRecord).ObjectId + "\n"); AcadUtils.CbAutocadItem obj = new AcadUtils.CbAutocadItem((e.DBObject as Autodesk.AutoCAD.DatabaseServices.LinetypeTableRecord).Name, (e.DBObject as Autodesk.AutoCAD.DatabaseServices.LinetypeTableRecord).ObjectId); if (obj == null) { return; } for (int i = 0; i < cbLinetUse.Items.Count; i++) { if ((cbLinetUse.Items[i] as AcadUtils.CbAutocadItem).ID == obj.ID) { if (currentLinetType == obj.Name) { cbLinetUse.Items.RemoveAt(i); currentLinetType = "ByBlock"; for (int j = 0; j < cbLinetUse.Items.Count; j++) { if ((cbLinetUse.Items[j] as AcadUtils.CbAutocadItem).Name == "ByBlock") { cbLinetUse.SelectedIndex = j; break; //for j } } } else { cbLinetUse.Items.RemoveAt(i); } break; //for } } } } catch (Exception ex) { LufsGenplan.AcadApp.AcaEd.WriteMessage("\nERROR: AreaLinearCalc.DbEvent_ObjectErased_Handler() " + ex + "\n"); } }