示例#1
0
        private void btnFbhWithoutNr_Click(object sender, EventArgs e)
        {
            if (_FbhWithoutNrShield)
            {
                return;
            }
            try
            {
                _FbhWithoutNrShield = true;

                using (_AcAp.DocumentLock m_doclock = _AcAp.Application.DocumentManager.MdiActiveDocument.LockDocument())
                {
#if NEWSETFOCUS
                    _AcAp.Application.DocumentManager.MdiActiveDocument.Window.Focus();
#else
                    Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView(); // previous 2014 AutoCAD - Versions
#endif
                    _AcAp.Application.DocumentManager.MdiActiveDocument.SendStringToExecute("Plan2MoveFbhWithoutNumber ", true, false, false);
                }
            }
            catch (Exception ex)
            {
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2Raumnummern aufgetreten! {0}", ex.Message));
            }
            finally
            {
                _FbhWithoutNrShield = false;
            }
        }
示例#2
0
        static public void Plan2LayTransExport()
        {
            try
            {
#if BRX_APP
                return;
#else
                _AcAp.Document doc = _AcAp.Application.DocumentManager.MdiActiveDocument;
                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    //_AcWnd.SaveFileDialog sfd = new _AcWnd.SaveFileDialog("Excel-Datei", "", "xlsx","LayTransSave", _AcWnd.SaveFileDialog.SaveFileDialogFlags.AllowAnyExtension);
                    //System.Windows.Forms.DialogResult dr = sfd.ShowDialog();
                    //if (dr != System.Windows.Forms.DialogResult.OK)  return;

                    Engine engine = new Engine();
                    var    ok     = engine.ExcelExport();
                    if (!ok)
                    {
                        _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler beim Export!"));
                    }
                    else
                    {
                        string msg = string.Format(CultureInfo.CurrentCulture, "Der Excel-Export wurde erfolgreich beendet.");
                        _AcAp.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(msg);
                        log.Info(msg);
                    }
                }
#endif
            }
            catch (System.Exception ex)
            {
                log.Error(ex.Message, ex);
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2LayTransExport aufgetreten! {0}", ex.Message));
            }
        }
示例#3
0
        static public void Plan2CenterBlockSelBlock()
        {
            try
            {
                if (!OpenPalette())
                {
                    return;
                }

                var            opts = Globs.TheOptions;
                _AcAp.Document doc  = _AcAp.Application.DocumentManager.MdiActiveDocument;

                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    _AcAp.DocumentCollection dm = _AcAp.Application.DocumentManager;
                    if (doc == null)
                    {
                        return;
                    }
                    _AcEd.Editor ed = doc.Editor;
#if NEWSETFOCUS
                    doc.Window.Focus();
#else
                    Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView(); // previous 2014 AutoCAD - Versions
#endif

                    _AcEd.PromptNestedEntityResult per = ed.GetNestedEntity("\nBlock wählen: ");

                    if (per.Status == _AcEd.PromptStatus.OK)
                    {
                        using (var tr = doc.TransactionManager.StartTransaction())
                        {
                            _AcDb.DBObject       obj = tr.GetObject(per.ObjectId, _AcDb.OpenMode.ForRead);
                            _AcDb.BlockReference br  = obj as _AcDb.BlockReference;
                            if (br == null)
                            {
                                br = Plan2Ext.Globs.GetBlockFromItsSubentity(tr, per);
                                if (br == null)
                                {
                                    return;
                                }
                            }

                            opts.SetBlockname(br.Name);

                            tr.Commit();
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2CenterBlockSelBlock aufgetreten! {0}", ex.Message));
            }
        }
示例#4
0
        static public void Plan2LayTransExportBulk()
        {
            try
            {
#if BRX_APP
                return;
#else
                log.Info("----------------------------------------------------------------------------------");
                log.Info("Plan2LayTransExportBulk");

                _AcAp.Document doc = _AcAp.Application.DocumentManager.MdiActiveDocument;
                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    string dirName = string.Empty;
                    using (var folderBrowser = new System.Windows.Forms.FolderBrowserDialog())
                    {
                        folderBrowser.Description = "Verzeichnis mit Zeichnungen für den Layerexport";
                        folderBrowser.RootFolder  = Environment.SpecialFolder.MyComputer;
                        if (folderBrowser.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                        {
                            return;
                        }
                        dirName = folderBrowser.SelectedPath;
                    }
                    //dirName = @"D:\Plan2\Data\Plan2PlotToDwf";

                    Engine engine = new Engine();
                    var    ok     = engine.ExcelExport(dirName);
                    if (!ok)
                    {
                        _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler beim Plan2LayTransExportBulk!"));
                    }
                    else
                    {
                        string msg = string.Format(CultureInfo.CurrentCulture, "Der Excel-Export wurde erfolgreich beendet.");
                        _AcAp.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(msg);
                        log.Info(msg);
                    }
                }
#endif
            }
            catch (System.Exception ex)
            {
                log.Error(ex.Message, ex);
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2LayTransExportBulk aufgetreten! {0}", ex.Message));
            }
        }
示例#5
0
        static public void Plan2LayTrans()
        {
            try
            {
#if BRX_APP
                return;
#else
                _AcAp.Document doc = _AcAp.Application.DocumentManager.MdiActiveDocument;
                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    _AcEd.Editor ed = _AcAp.Application.DocumentManager.MdiActiveDocument.Editor;
                    // First let's use the editor method, GetFileNameForOpen()
                    _AcEd.PromptOpenFileOptions opts = new _AcEd.PromptOpenFileOptions("Excel-Datei für Layer-Infos");
                    opts.Filter = "Excel (*.xlsx)|*.xlsx|Excel alt (*.xls)|*.xls";
                    _AcEd.PromptFileNameResult pr = ed.GetFileNameForOpen(opts);
                    if (pr.Status != _AcEd.PromptStatus.OK)
                    {
                        return;
                    }

                    //_AcWnd.OpenFileDialog ofd = new _AcWnd.OpenFileDialog("Excel-Datei", "", "xlsx", "LayTrans", _AcWnd.OpenFileDialog.OpenFileDialogFlags.AllowAnyExtension);
                    //System.Windows.Forms.DialogResult dr = ofd.ShowDialog();
                    //if (dr != System.Windows.Forms.DialogResult.OK)  return;

                    string fileName = pr.StringResult;

                    Engine engine = new Engine();
                    var    ok     = engine.LayTrans(fileName);
                    if (!ok)
                    {
                        _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in LayTrans!"));
                    }
                    else
                    {
                        string msg = string.Format(CultureInfo.CurrentCulture, "LayTrans wurde erfolgreich beendet.");
                        _AcAp.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(msg);
                        log.Info(msg);
                    }
                }
#endif
            }
            catch (System.Exception ex)
            {
                log.Error(ex.Message, ex);
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2LayTrans aufgetreten! {0}", ex.Message));
            }
        }
示例#6
0
        static public void Plan2AutoIdExcelExport()
        {
            try
            {
#if BRX_APP
                return;
#else
                if (!OpenAutoIdPalette())
                {
                    return;
                }

                var            opts = Globs.TheAutoIdOptions;
                _AcAp.Document doc  = _AcAp.Application.DocumentManager.MdiActiveDocument;

                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    Engine engine = new Engine(opts);
                    var    ok     = engine.ExcelExport();
                    if (!ok)
                    {
                        _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Nicht alle Blöcke haben die gleichen Attribute (siehe %temp%\\plan2.log)"));
                    }
                    else
                    {
                        string msg = string.Format(CultureInfo.CurrentCulture, "Der Excel-Export wurde erfolgreich beendet.");
                        _AcAp.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(msg);
                        log.Info(msg);
                    }
                }
#endif
            }
            catch (System.Exception ex)
            {
                log.Error(ex.Message, ex);
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2AutoIdExcelExport aufgetreten! {0}", ex.Message));
            }
        }
示例#7
0
        static public void Plan2AutoIdVergabe()
        {
            try
            {
                if (!OpenAutoIdPalette())
                {
                    return;
                }

                var            opts = Globs.TheAutoIdOptions;
                _AcAp.Document doc  = _AcAp.Application.DocumentManager.MdiActiveDocument;

                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    Engine engine = new Engine(opts);
                    engine.AssignIds();
                }
            }
            catch (System.Exception ex)
            {
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2AutoIdVergabe aufgetreten! {0}", ex.Message));
            }
        }
示例#8
0
        public void Plan2CenterBlockDelErrSyms()
        {
            try
            {
                if (!OpenPalette())
                {
                    return;
                }

                var            opts = Globs.TheOptions;
                _AcAp.Document doc  = _AcAp.Application.DocumentManager.MdiActiveDocument;

                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    CenterRaumBlock crb = new CenterRaumBlock();
                    crb.DelErrSyms(doc);
                }
            }
            catch (System.Exception ex)
            {
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2CenterBlockDelErrSyms aufgetreten! {0}", ex.Message));
            }
        }
示例#9
0
        static public void Plan2AutoIdAssignments()
        {
            try
            {
                if (!OpenAutoIdPalette())
                {
                    return;
                }

                var            opts = Globs.TheAutoIdOptions;
                _AcAp.Document doc  = _AcAp.Application.DocumentManager.MdiActiveDocument;

                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    _AcAp.DocumentCollection dm = _AcAp.Application.DocumentManager;
                    if (doc == null)
                    {
                        return;
                    }
                    _AcEd.Editor ed = doc.Editor;
#if NEWSETFOCUS
                    doc.Window.Focus();
#else
                    Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView(); // previous 2014 AutoCAD - Versions
#endif

                    SetAssignmentsDict();
                    _AutoIdPalette.SetLvZuweisungen();

                    //bool attSelected = false;
                    //while (!attSelected)
                    //{
                    //    PromptNestedEntityOptions peo = new PromptNestedEntityOptions("\nZu-Raum-ID-Attribut wählen: ");
                    //    PromptNestedEntityResult per = ed.GetNestedEntity(peo);

                    //    if (per.Status == _AcEd.PromptStatus.OK)
                    //    {

                    //        using (var tr = doc.TransactionManager.StartTransaction())
                    //        {
                    //            DBObject obj = tr.GetObject(per.ObjectId, _AcDb.OpenMode.ForRead);
                    //            _AcDb.AttributeReference attRef = obj as _AcDb.AttributeReference;
                    //            if (attRef != null)
                    //            {
                    //                attSelected = true;
                    //                opts.SetZuRaumIdAtt(attRef.Tag);
                    //            }
                    //            else
                    //            {
                    //                ed.WriteMessage("\nDas gewählte Element ist kein Attribut.");
                    //            }

                    //            tr.Commit();
                    //        }
                    //    }
                    //    else
                    //    {
                    //        break;
                    //    }
                    //}
                }
            }
            catch (System.Exception ex)
            {
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2AutoIdAssignments aufgetreten! {0}", ex.Message));
            }
        }
示例#10
0
        static public void Plan2AutoIdSelPolygonLayer()
        {
            try
            {
                if (!OpenAutoIdPalette())
                {
                    return;
                }

                var            opts = Globs.TheAutoIdOptions;
                _AcAp.Document doc  = _AcAp.Application.DocumentManager.MdiActiveDocument;

                using (_AcAp.DocumentLock m_doclock = doc.LockDocument())
                {
                    _AcAp.DocumentCollection dm = _AcAp.Application.DocumentManager;
                    if (doc == null)
                    {
                        return;
                    }
                    _AcEd.Editor ed = doc.Editor;
#if NEWSETFOCUS
                    doc.Window.Focus();
#else
                    Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView(); // previous 2014 AutoCAD - Versions
#endif

                    _AcEd.PromptNestedEntityOptions peo = new _AcEd.PromptNestedEntityOptions("\nPolylinie wählen: ");
                    //peo.SetRejectMessage("\nDas gewählte Element ist keine Polylinie.");
                    //peo.AddAllowedClass(typeof(Polyline), true);
                    //peo.AddAllowedClass(typeof(Polyline2d), true);
                    //peo.AddAllowedClass(typeof(Polyline3d), true);

                    _AcEd.PromptEntityResult per = ed.GetNestedEntity(peo);

                    if (per.Status == _AcEd.PromptStatus.OK)
                    {
                        using (var tr = doc.TransactionManager.StartTransaction())
                        {
                            _AcDb.DBObject obj = tr.GetObject(per.ObjectId, _AcDb.OpenMode.ForRead);
                            _AcDb.Entity   ent = obj as _AcDb.Entity;
                            if (ent != null)
                            {
                                if (ent is _AcDb.Polyline || ent is _AcDb.Polyline2d || ent is _AcDb.Polyline3d)
                                {
                                    opts.SetPolygonLayer(Engine.RemoveXRefPart(ent.Layer));
                                }
                                else
                                {
                                    ed.WriteMessage("\nDas gewählte Element ist keine Polylinie.");
                                }
                            }

                            tr.Commit();
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                _AcAp.Application.ShowAlertDialog(string.Format(CultureInfo.CurrentCulture, "Fehler in Plan2AutoIdSelPolygonLayer aufgetreten! {0}", ex.Message));
            }
        }