示例#1
0
 /// <summary>
 /// Crear un nuevo Polígono en 2D.
 /// </summary>
 /// <param name="VerticesList">Vertices del polígono. Ejemplo: (X1,Y1, X2,Y2, X3,Y3 X4,Y4)</param>
 /// <param name="Layer">Capa del Polígono</param>
 /// <param name="Closed">Establece si el polígono es cerrado</param>
 public static void AddPolyline2D(double[] VerticesList, string Layer, bool Closed = true)
 {
     if (AcadDoc != null)
     {
         AcadLWPolyline polyline = AcadDoc.ModelSpace.AddLightWeightPolyline(VerticesList);
         polyline.Layer  = Layer;
         polyline.Closed = Closed;
         polyline.Update();
     }
 }
示例#2
0
        /// <summary>
        ///  Añadir un nuevo Poligono y un texto representado el largo de este.
        /// </summary>
        /// <param name="VerticesPolyline">Vertices del polígono. Ejemplo: (X1,Y1, X2,Y2, X3,Y3 X4,Y4)</param>
        /// <param name="LayerPolyline">Capa del Polígono</param>
        /// <param name="TextString">Texto adicional al largo del Polígono</param>
        /// <param name="PText_XYZ">Coordenadas del texto (X,Y,Z).</param>
        /// <param name="Width">Alto del Texto.</param>
        /// <param name="Height">Ancho del Texto.</param>
        /// <param name="LayerText">Capa del Texto.</param>
        /// <param name="StyleText">Estilo del Texto</param>
        /// <param name="Rotation">Ángulo de rotación del texto en grados </param>
        /// <param name="Width2">Ancho del cuadro de Texto.</param>

        public static void AddPolyline2DWithLengthText(double[] VerticesPolyline, string LayerPolyline, string TextString, double[] PText_XYZ, double Width, double Height, string LayerText, string StyleText, float Rotation, double Width2 = 1.3)
        {
            if (AcadDoc != null)
            {
                AcadLWPolyline polyline = AcadDoc.ModelSpace.AddLightWeightPolyline(VerticesPolyline);
                polyline.Layer = LayerPolyline;
                polyline.Update();
                TextString += @"%<\AcObjProp Object(%<\_ObjId " + polyline.ObjectID + @">%).Length \f " + (char)(34) + "%lu2%pr2" + (char)(34) + ">%";
                AddText(TextString, PText_XYZ, Width, Height, LayerText, StyleText, Rotation, Width2: Width2);
            }
        }
示例#3
0
 /// <summary>
 /// Crear un nuevo Polígono en 2D con su respectivo Relleno (Hatch).
 /// </summary>
 /// <param name="VerticesList">Vértices del Polígono</param>
 /// <param name="Layer">Capa del Polígono.</param>
 /// <param name="Pattern">Tipo de Hatch (SOILD,ANGLE,ANS31,...)</param>
 /// <param name="LayerHatch">Capa del Hatch</param>
 /// <param name="ScaleHacth">Escala del Hatch</param>
 /// <param name="PatternScale">Factor de escala del tipo de Hatch</param>
 /// <param name="PatternAngle">Angulo del tipo de Hatch</param>
 public static void AddPolyline2D(double[] VerticesList, string Layer, string Pattern, string LayerHatch, double ScaleHacth, double PatternScale = 0.009, float PatternAngle = 45)
 {
     if (AcadDoc != null)
     {
         AcadLWPolyline polyline = AcadDoc.ModelSpace.AddLightWeightPolyline(VerticesList);
         polyline.Layer  = Layer;
         polyline.Closed = true;
         AddHatch((AcadEntity)polyline, Pattern, LayerHatch, ScaleHacth, PatternScale, PatternAngle);
         polyline.Update();
     }
 }
 /// <summary>
 ///  Añadir un nuevo Poligono y un texto representado el largo de este.
 /// </summary>
 /// <param name="VerticesPolyline">Vertices del polígono. [System.Drawing]</param>
 /// <param name="LayerPolyline">Capa del Polígono</param>
 /// <param name="TextString">Texto adicional al largo del Polígono</param>
 /// <param name="PText_XYZ">Coordenadas del texto (X,Y,Z).</param>
 /// <param name="Width">Alto del Texto.</param>
 /// <param name="Height">Ancho del Texto.</param>
 /// <param name="LayerText">Capa del Texto.</param>
 /// <param name="StyleText">Estilo del Texto</param>
 /// <param name="Rotation">Ángulo de rotación del texto en grados </param>
 /// <param name="Width2">Ancho del cuadro de Texto.</param>
 /// <param name="JustifyText">Justificación del Texto.</param>
 public static void AddPolyline2DWithLengthText(PointF[] VerticesPolyline, string LayerPolyline, string TextString, double[] PText_XYZ, double Width, double Height, string LayerText, string StyleText, float Rotation, double Width2 = 1.3, JustifyText JustifyText = JustifyText.Left)
 {
     try {
         if (AcadDoc != null)
         {
             AcadLWPolyline polyline = AcadDoc.ModelSpace.AddLightWeightPolyline(ConvertirPuntosEnDoubles(VerticesPolyline));
             polyline.Layer = LayerPolyline;
             polyline.Update();
             TextString += @"%<\AcObjProp Object(%<\_ObjId " + polyline.ObjectID + @">%).Length \f " + (char)(34) + "%lu2%pr2" + (char)(34) + ">%";
             AddText(TextString, PText_XYZ, Width, Height, LayerText, StyleText, Rotation, Width2: Width2, JustifyText: JustifyText);
         }
     }
     catch
     {
         NotificadorErrores?.Invoke("Error inesperado.");
     }
 }
 /// <summary>
 /// Crear un nuevo Polígono en 2D.
 /// </summary>
 /// <param name="VerticesList">Vertices del polígono. [System.Drawing]</param>
 /// <param name="Layer">Capa del Polígono</param>
 /// <param name="Closed">Establece si el polígono es cerrado</param>
 public static void AddPolyline2D(PointF[] VerticesList, string Layer, bool Closed = true)
 {
     try
     {
         if (AcadDoc != null)
         {
             AcadLWPolyline polyline = AcadDoc.ModelSpace.AddLightWeightPolyline(ConvertirPuntosEnDoubles(VerticesList));
             polyline.Layer  = Layer;
             polyline.Closed = Closed;
             polyline.Update();
         }
     }
     catch
     {
         NotificadorErrores?.Invoke("Error inesperado.");
     }
 }