Exemplo n.º 1
0
        // креслення лінії (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();
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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");
        }