Esempio n. 1
0
        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");
            }
        }
Esempio n. 2
0
        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");
            }
        }
Esempio n. 3
0
        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");
            }
        }