private void InitBlockName() { if (!string.IsNullOrEmpty(BlockName)) { return; } var bnOpt = Ac.Editor.GetPromptStringOptions("\r\n" + AppServices.Strings.EnterBlockName, LastBlockName, false, true); var bnRes = Ac.Editor.GetString(bnOpt); if (!bnRes.IsOK()) { return; } var blockName = bnRes.StringResult; if (string.IsNullOrEmpty(blockName)) { //InitBlockName(); return; } AcDwgDb.ImportMissedBlockDef(blockName, Geo7App.Geo7Dwg); this.BlockName = blockName; }
protected override void ExecuteCore() { this.DisplayErrormMessageBox = false; this.DimStyleId = AcDwgDb.ImportMissedDimStyle("G7-Slope", Geo7App.Geo7Dwg); do { PromptPointResult ptRes = Ac.Editor.GetPoint("\r\n" + AppServices.Strings.EnterStartPoint); if (!ptRes.IsOK()) { return; } var startPnt = ptRes.Value; var epPrtOpts = Ac.Editor.GetPromptPointOptions("\r\n" + AppServices.Strings.EnterEndPoint, startPnt, true); ptRes = Ac.Editor.GetPoint(epPrtOpts); if (!ptRes.IsOK()) { return; } var endPnt = ptRes.Value; AddSlope(startPnt, endPnt); } while (true); }
private void AddPointsToDrawing(ICollection <XyzPoint> points) { AcDwgDb.ImportMissedBlockDef(this.BlockName, Geo7App.Geo7Dwg); using (var docLock = Ac.Doc.LockDocument()) { using (var trans = Ac.StartTransaction()) { var blockScale = trans.GetSavedBlockScale(BlockName); var blockDef = trans.GetBlockDef(this.BlockName); Ac.InitProgress(AppServices.Strings.LoadingPoints, points.Count); foreach (var pt in points) { // Do not change X,Y coordinates - it was already done through this.ReadPoints(this.Storage, points); var blockPos = pt.ToPoint3d(this.IgnoreThirdCoordinate); var blockRef = blockDef.AddBlockRef(blockPos, trans); blockRef.Scale = blockScale; if (blockRef.Attributes.Count > 0) { SetAttributes(blockRef, pt); } //blockRef.Dispose(); Ac.ProgressStep(); } Ac.ClearProgress(); //blockDef.Dispose(); trans.Commit(); } //Debug.WriteLine(docLock); } }
protected override void ExecuteCore() { this.DisplayErrormMessageBox = false; this.DimStyleId = AcDwgDb.ImportMissedDimStyle("G7-Diff", Geo7App.Geo7Dwg); LineId = Ac.Editor.GetPolyline("\r\n" + AppServices.Strings.SelectLine + ": "); if (LineId.IsValid) { Ac.WriteLn(AppServices.Strings.SelectBlock); var selWnd = new BlockSelectWindow(OnBlocksSelected); Ac.ShowModal(selWnd); } }