// креслення лінії (Line) public void Line(double StartX1, double StartY1, double EndX2, double EndY2, string LineType) { //Створюємо об'єкт Line AcadLine lineObj; //створюємо масиви для початку і кінця лінії double[] startPoint = new double[3]; double[] endPoint = new double[3]; // задаємо координати початкової точки startPoint[0] = StartX1; startPoint[1] = StartY1; startPoint[2] = 0.0; // задаємо координати кінцевої точки endPoint[0] = EndX2; endPoint[1] = EndY2; endPoint[2] = 0.0; // креслимо лінію в автокаді lineObj = AcadApp.ActiveDocument.ModelSpace.AddLine(startPoint, endPoint); // перевірка чи довжина не нуль if (LineType.Length > 0) { lineObj.Linetype = LineType; //'"HIDDEN" lineObj.LinetypeScale = 10; lineObj.Update(); } AcadApp.ZoomAll(); }
public void DrawLine(double StartX1, double StartY1, double EndX2, double EndY2, string LineTypebool, bool DrawDonutsOnLineStart, bool DrawDonutsOnLineEnds) { Autodesk.AutoCAD.Interop.Common.AcadLine lineObj; //AcadLine lineObj; double[] startPoint = new double[3]; double[] endPoint = new double[3];; startPoint[0] = StartX1; startPoint[1] = StartY1; startPoint[2] = 0.0; endPoint[0] = EndX2; endPoint[1] = EndY2; endPoint[2] = 0.01; lineObj = cadApp.ActiveDocument.ModelSpace.AddLine(startPoint, endPoint); //if (LineType.Length > 0) //{ // lineObj.Linetype = LineType; //'"HIDDEN" // lineObj.LinetypeScale = 10; // lineObj.Update(); //} //if (DrawDonutsOnLineStart == true) //{ // DrawDonut((AcadBlock)gbl_doc.ModelSpace, // 0, 3.0, StartX1, StartY1); //} //if (DrawDonutsOnLineEnds == true) //{ // DrawDonut((AcadBlock)gbl_doc.ModelSpace, // 0, 3.0, EndX2, EndY2); //} cadApp.ZoomAll(); }
public static void DrawLine(double StartX1, double StartY1, double EndX2, double EndY2, string LineType, bool DrawDonutsOnLineStart, bool DrawDonutsOnLineEnds) { AcadLine lineObj; double[] startPoint = new double[3]; double[] endPoint = new double[3];; startPoint[0] = StartX1; startPoint[1] = StartY1; startPoint[2] = 0.0; endPoint[0] = EndX2; endPoint[1] = EndY2; endPoint[2] = 0.01; lineObj = gbl_doc.ModelSpace.AddLine(startPoint, endPoint); if (LineType.Length > 0) { lineObj.Linetype = LineType; //'"HIDDEN" lineObj.LinetypeScale = 10; lineObj.Update(); } if (DrawDonutsOnLineStart == true) { DrawDonut((AcadBlock)gbl_doc.ModelSpace, 0, 3.0, StartX1, StartY1); } if (DrawDonutsOnLineEnds == true) { DrawDonut((AcadBlock)gbl_doc.ModelSpace, 0, 3.0, EndX2, EndY2); } gbl_app.ZoomAll(); }
public void AcadApp_EndOpen(string filename) { IsOpenError = false; DelLayouts(); AcadApp.ActiveDocument.ActiveLayout = AcadApp.ActiveDocument.Layouts.Item("Model"); int tN = AcadApp.ActiveDocument.ModelSpace.Count; for (int i = 0; i < tN; i++) { if (AcadApp.ActiveDocument.ModelSpace.Item(i).EntityName == "AcDbBlockReference") { AcadBlockReference iBlockReference = (AcadBlockReference)AcadApp.ActiveDocument.ModelSpace.Item(i); if (iBlockReference.EffectiveName == GlobalInfo.FrameEffectiveName) { string iFVKey; FrameView iFrameView; iFVKey = String.Format("{0, 3}", iBlockReference.GetAttributes()[GlobalInfo.FramePageAttrID].TextString); iFrameView.Id = i; iFrameView.Page = iBlockReference.GetAttributes()[GlobalInfo.FramePageAttrID].TextString; iFrameView.LowerLeft = new double[] { iBlockReference.InsertionPoint[0] - iBlockReference.XScaleFactor * GlobalInfo.PlotPageWidth, iBlockReference.InsertionPoint[1], 0 }; iFrameView.UpperRight = new double[] { iBlockReference.InsertionPoint[0], iBlockReference.InsertionPoint[1] + iBlockReference.YScaleFactor * GlobalInfo.PlotPageHeight, 0 }; if (!FrameViewList.ContainsKey(iFVKey)) { FrameViewList.Add(iFVKey, iFrameView); } } } } FrameViewList = FrameViewList.OrderBy(o => o.Key).ToDictionary(o => o.Key, p => p.Value); AcadApp.ActiveDocument.Layouts.Item("Model").ConfigName = GlobalInfo.ModelConfigName; AcadApp.ActiveDocument.Layouts.Item("Model").StyleSheet = StyleSheetName; foreach (KeyValuePair <string, FormatTask.FrameView> iFrameView in FrameViewList) { AddBlankLayout(iFrameView.Value.Page); AcadLayout iLayout = AcadApp.ActiveDocument.Layouts.Item(iFrameView.Value.Page); AcadApp.ActiveDocument.ActiveLayout = iLayout; iLayout.ConfigName = GlobalInfo.PlotConfigName; iLayout.CanonicalMediaName = GlobalInfo.PlotCanonicalMediaName; iLayout.PlotRotation = AcPlotRotation.ac0degrees; iLayout.PaperUnits = AcPlotPaperUnits.acMillimeters; iLayout.SetWindowToPlot(new double[] { 0, 0 }, new double[] { GlobalInfo.PlotPageWidth, GlobalInfo.PlotPageHeight }); iLayout.PlotType = AcPlotType.acWindow; iLayout.UseStandardScale = true; iLayout.StandardScale = AcPlotScale.ac1_1; iLayout.CenterPlot = true; iLayout.StyleSheet = StyleSheetName; AcadPViewport iPViewport = AcadApp.ActiveDocument.PaperSpace.AddPViewport(new double[] { GlobalInfo.PlotPageWidth / 2, GlobalInfo.PlotPageHeight / 2, 0 }, GlobalInfo.PlotPageWidth, GlobalInfo.PlotPageHeight); iPViewport.Display(true); iPViewport.Layer = "0"; iPViewport.ViewportOn = true; AcadApp.ActiveDocument.MSpace = true; AcadApp.ActiveDocument.ActivePViewport = iPViewport; AcadApp.ZoomWindow(iFrameView.Value.LowerLeft, iFrameView.Value.UpperRight); AcadApp.ActiveDocument.MSpace = false; iPViewport.DisplayLocked = true; } AcadApp.ActiveDocument.ActiveLayout = AcadApp.ActiveDocument.Layouts.Item("Model"); foreach (KeyValuePair <string, FormatTask.FrameView> iFrameView in FrameViewList) { AcadLayout iLayout = AcadApp.ActiveDocument.Layouts.Item(iFrameView.Value.Page); AcadApp.ActiveDocument.ActiveLayout = iLayout; AcadApp.ZoomAll(); } DelLayout(GlobalInfo.TempLayoutName); AcadApp.ActiveDocument.ActiveLayout = AcadApp.ActiveDocument.Layouts.Item("Model"); AcadApp.ZoomAll(); IsSaveError = !SaveDocument(); AcadApp.ActiveDocument.SendCommand("CLOSE\n"); }