Ejemplo n.º 1
0
        internal Layer(string name, bool checkName)
            : base(name, DxfObjectCode.Layer, checkName)
        {
            if (string.IsNullOrEmpty(name))
                throw new ArgumentNullException(nameof(name), "The layer name should be at least one character long.");

            this.IsReserved = name.Equals(DefaultName, StringComparison.OrdinalIgnoreCase);
            this.color = AciColor.Default;
            this.linetype = Linetype.Continuous;
            this.isVisible = true;
            this.plot = true;
            this.lineweight = Lineweight.Default;
            this.transparency = new Transparency(0);
        }
Ejemplo n.º 2
0
 protected EntityObject(EntityType type, string dxfCode)
     : base(dxfCode)
 {
     this.type = type;
     this.color = AciColor.ByLayer;
     this.layer = Layer.Default;
     this.lineType = LineType.ByLayer;
     this.lineweight = Lineweight.ByLayer;
     this.transparency = Transparency.ByLayer;
     this.lineTypeScale = 1.0;
     this.isVisible = true;
     this.normal = Vector3.UnitZ;
     this.reactors = new List<DxfObject>();
     this.xData = new XDataDictionary();
     this.xData.AddAppReg += this.XData_AddAppReg;
     this.xData.RemoveAppReg += this.XData_RemoveAppReg;
 }
Ejemplo n.º 3
0
 protected EntityObject(EntityType type, string dxfCode)
     : base(dxfCode)
 {
     this.type                = type;
     this.color               = AciColor.ByLayer;
     this.layer               = Layer.Default;
     this.linetype            = Linetype.ByLayer;
     this.lineweight          = Lineweight.ByLayer;
     this.transparency        = Transparency.ByLayer;
     this.linetypeScale       = 1.0;
     this.isVisible           = true;
     this.normal              = Vector3.UnitZ;
     this.reactors            = new List <DxfObject>();
     this.xData               = new XDataDictionary();
     this.xData.AddAppReg    += this.XData_AddAppReg;
     this.xData.RemoveAppReg += this.XData_RemoveAppReg;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Initializes a new instance of the <c>AttributeDefiniton</c> class.
        /// </summary>
        /// <param name="tag">Attribute identifier, the parameter <c>id</c> string cannot contain spaces.</param>
        /// <param name="textHeight">Height of the attribute definition text.</param>
        /// <param name="style">Attribute <see cref="TextStyle">text style</see>.</param>
        public AttributeDefinition(string tag, double textHeight, TextStyle style)
            : base(DxfObjectCode.AttributeDefinition)
        {
            if (string.IsNullOrEmpty(tag))
            {
                throw new ArgumentNullException(nameof(tag));
            }

            if (tag.Contains(" "))
            {
                throw new ArgumentException("The tag string cannot contain spaces.", nameof(tag));
            }
            this.tag      = tag;
            this.flags    = AttributeFlags.Visible;
            this.prompt   = string.Empty;
            this.attValue = null;
            this.position = Vector3.Zero;
            if (style == null)
            {
                throw new ArgumentNullException(nameof(style));
            }
            this.style = style;
            if (textHeight <= 0.0)
            {
                throw new ArgumentOutOfRangeException(nameof(textHeight), this.attValue, "The attribute definition text height must be greater than zero.");
            }
            this.height       = textHeight;
            this.widthFactor  = style.WidthFactor;
            this.obliqueAngle = style.ObliqueAngle;
            this.rotation     = 0.0;
            this.alignment    = TextAlignment.BaselineLeft;

            this.color         = AciColor.ByLayer;
            this.layer         = Layer.Default;
            this.linetype      = Linetype.ByLayer;
            this.lineweight    = Lineweight.ByLayer;
            this.transparency  = Transparency.ByLayer;
            this.linetypeScale = 1.0;
            this.isVisible     = true;
            this.normal        = Vector3.UnitZ;

            this.xData               = new XDataDictionary();
            this.xData.AddAppReg    += this.XData_AddAppReg;
            this.xData.RemoveAppReg += this.XData_RemoveAppReg;
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Initializes a new instance of the <c>AttributeDefinition</c> class.
        /// </summary>
        /// <param name="tag">Attribute identifier.</param>
        /// <param name="textHeight">Height of the attribute definition text.</param>
        /// <param name="style">Attribute <see cref="TextStyle">text style</see>.</param>
        public AttributeDefinition(string tag, double textHeight, TextStyle style)
            : base(DxfObjectCode.AttributeDefinition)
        {
            //TODO проверить что не бывает пустых тегов, раньше библиотека факапила, если были пробелы
            if (string.IsNullOrEmpty(tag))
            {
                throw new ArgumentNullException(nameof(tag));
            }

            this.tag      = tag;
            this.flags    = AttributeFlags.Visible;
            this.prompt   = string.Empty;
            this.attValue = null;
            this.position = Vector3.Zero;
            if (style == null)
            {
                throw new ArgumentNullException(nameof(style));
            }
            this.style = style;
            if (textHeight <= 0.0)
            {
                throw new ArgumentOutOfRangeException(nameof(textHeight), this.attValue, "The attribute definition text height must be greater than zero.");
            }
            this.height        = textHeight;
            this.width         = 1.0;
            this.widthFactor   = style.WidthFactor;
            this.obliqueAngle  = style.ObliqueAngle;
            this.rotation      = 0.0;
            this.alignment     = TextAlignment.BaselineLeft;
            this.isBackward    = false;
            this.isUpsideDown  = false;
            this.color         = AciColor.ByLayer;
            this.layer         = Layer.Default;
            this.linetype      = Linetype.ByLayer;
            this.lineweight    = Lineweight.ByLayer;
            this.transparency  = Transparency.ByLayer;
            this.linetypeScale = 1.0;
            this.isVisible     = true;
            this.normal        = Vector3.UnitZ;

            this.xData               = new XDataDictionary();
            this.xData.AddAppReg    += this.XData_AddAppReg;
            this.xData.RemoveAppReg += this.XData_RemoveAppReg;
        }
Ejemplo n.º 6
0
		/*Get Block in canvas*/
		public static Canvas GetBlock(Block xBlock, AciColor blockColor, Lineweight linew)
		{
			
			Canvas canvas1 = new Canvas();
			canvas1.Height = 0;
			canvas1.Width = 0;
			/*Debug.WriteLine("Block:"+xBlock.Handle+" Owner:"+xBlock.Owner+" OriginX:"+xBlock.Origin.X);*/
			foreach (netDxf.Entities.EntityObject xEntity in xBlock.Entities) {
				xEntity.Layer = xBlock.Layer;
				/*Debug.WriteLine("Entity:"+xEntity.CodeName+" Handle:"+xEntity.Handle+" Color:"+xEntity.getColor().ToString());*/

				if (xEntity.getColor().IsByBlock)
					xEntity.Color = blockColor;
				if (xEntity.getLineweightValue() == -2)
					xEntity.Lineweight = linew;
				
				if (xEntity.Type == EntityType.Line)
					DrawLine((netDxf.Entities.Line)xEntity, canvas1);
				if (xEntity.Type == EntityType.Circle)
					DrawCircle((netDxf.Entities.Circle)xEntity, canvas1);
				if (xEntity.Type == EntityType.MText)
					DrawMText((netDxf.Entities.MText)xEntity, canvas1);
				if (xEntity.Type == EntityType.Solid)
					DrawSolid((netDxf.Entities.Solid)xEntity, canvas1);
				if (xEntity.Type == EntityType.Arc)
					DrawArc((netDxf.Entities.Arc)xEntity, canvas1);
				if (xEntity.Type == EntityType.Insert)
					DrawInsert((netDxf.Entities.Insert)xEntity, canvas1);
				if (xEntity.Type == EntityType.LightWeightPolyline)
					DrawLwPolyline((netDxf.Entities.LwPolyline)xEntity, canvas1);
				
			}
			
			
			
			/*DxfObject xOwner = xBlock.Owner;*/
			/*Debug.WriteLine("Owner:"+xOwner.Handle+" Owner:"+xOwner.Owner+" Owner:"+xOwner.Owner.Owner);*/
			
			return canvas1;
		}
Ejemplo n.º 7
0
        /// <summary>
        /// Initializes a new instance of the <c>AttributeDefinition</c> class.
        /// </summary>
        /// <param name="tag">Attribute identifier.</param>
        /// <param name="textHeight">Height of the attribute definition text.</param>
        /// <param name="style">Attribute <see cref="TextStyle">text style</see>.</param>
        public AttributeDefinition(string tag, double textHeight, TextStyle style)
            : base(DxfObjectCode.AttributeDefinition)
        {
            if (string.IsNullOrEmpty(tag))
            {
                throw new ArgumentNullException(nameof(tag));
            }

            this.tag      = tag;
            this.flags    = AttributeFlags.None;
            this.prompt   = string.Empty;
            this.attValue = null;
            this.position = Vector3.Zero;
            if (style == null)
            {
                throw new ArgumentNullException(nameof(style));
            }
            this.style = style;
            if (textHeight <= 0.0)
            {
                throw new ArgumentOutOfRangeException(nameof(textHeight), this.attValue, "The attribute definition text height must be greater than zero.");
            }
            this.height        = textHeight;
            this.width         = 1.0;
            this.widthFactor   = style.WidthFactor;
            this.obliqueAngle  = style.ObliqueAngle;
            this.rotation      = 0.0;
            this.alignment     = TextAlignment.BaselineLeft;
            this.isBackward    = false;
            this.isUpsideDown  = false;
            this.color         = AciColor.ByLayer;
            this.layer         = Layer.Default;
            this.linetype      = Linetype.ByLayer;
            this.lineweight    = Lineweight.ByLayer;
            this.transparency  = Transparency.ByLayer;
            this.linetypeScale = 1.0;
            this.isVisible     = true;
            this.normal        = Vector3.UnitZ;
        }
Ejemplo n.º 8
0
        public bool Equals(EntityInfo other)
        {
            if (ReferenceEquals(this, other))
            {
                return(true);
            }
            if (other is null)
            {
                return(false);
            }
            var res = Extents.Equals(other.Extents) &&
                      ClassId.Equals(other.ClassId) &&
                      Color.Equals(other.Color) &&
                      Layer.Equals(other.Layer) &&
                      Linetype.Equals(other.Linetype) &&
                      Lineweight.Equals(other.Lineweight);

#if DEBUG
            if (!res)
            {
            }
#endif
            return(res);
        }
Ejemplo n.º 9
0
        private static LayerStateProperties ReadLayerProperties(TextCodeValueReader chunk)
        {
            LayerPropertiesFlags flags = LayerPropertiesFlags.Plot;
            string lineType            = String.Empty;
            //string plotStyle = string.Empty;
            AciColor     color        = AciColor.Default;
            Lineweight   lineweight   = Lineweight.Default;
            Transparency transparency = new Transparency(0);

            string name = chunk.ReadString();

            chunk.Next();

            while (chunk.Code != 8 && chunk.Code != 0)
            {
                switch (chunk.Code)
                {
                case 90:
                    flags = (LayerPropertiesFlags)chunk.ReadInt();
                    chunk.Next();
                    break;

                case 62:
                    color = AciColor.FromCadIndex(chunk.ReadShort());
                    chunk.Next();
                    break;

                case 370:
                    lineweight = (Lineweight)chunk.ReadShort();
                    chunk.Next();
                    break;

                case 6:
                    lineType = chunk.ReadString();
                    chunk.Next();
                    break;

                case 2:
                    //plotStyle = chunk.ReadString();
                    chunk.Next();
                    break;

                case 440:
                    int alpha = chunk.ReadInt();
                    transparency = alpha == 0 ? new Transparency(0) : Transparency.FromAlphaValue(alpha);
                    chunk.Next();
                    break;

                case 92:
                    color = AciColor.FromTrueColor(chunk.ReadInt());
                    chunk.Next();
                    break;

                default:
                    chunk.Next();
                    break;
                }
            }

            if (string.IsNullOrEmpty(name))
            {
                return(null);
            }

            LayerStateProperties properties = new LayerStateProperties(name)
            {
                Flags        = flags,
                Color        = color,
                Lineweight   = lineweight,
                LinetypeName = lineType,
                //PlotStyleName = plotStyle,
                Transparency = transparency
            };

            return(properties);
        }
Ejemplo n.º 10
0
        internal DimensionStyle(string name, bool checkName)
            : base(name, DxfObjectCode.DimStyle, checkName)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("name", "The dimension style name should be at least one character long.");
            }

            this.IsReserved = name.Equals(DefaultName, StringComparison.OrdinalIgnoreCase);

            // dimension and extension lines
            this.dimclrd  = AciColor.ByBlock;
            this.dimltype = Linetype.ByBlock;
            this.dimlwd   = Lineweight.ByBlock;
            this.dimdle   = 0.0;
            this.dimdli   = 0.38;
            this.dimsd1   = false;
            this.dimsd2   = false;

            this.dimclre  = AciColor.ByBlock;
            this.dimltex1 = Linetype.ByBlock;
            this.dimltex2 = Linetype.ByBlock;
            this.dimlwe   = Lineweight.ByBlock;
            this.dimse1   = false;
            this.dimse2   = false;
            this.dimexo   = 0.0625;
            this.dimexe   = 0.18;
            this.dimfxlon = false;
            this.dimfxl   = 1.0;

            // symbols and arrows
            this.dimldrblk = null;
            this.dimblk1   = null;
            this.dimblk2   = null;
            this.dimasz    = 0.18;
            this.dimcen    = 0.09;

            // text
            this.dimtxsty        = TextStyle.Default;
            this.dimclrt         = AciColor.ByBlock;
            this.dimtfillclr     = null;
            this.dimtxt          = 0.18;
            this.dimtad          = DimensionStyleTextVerticalPlacement.Centered;
            this.dimjust         = DimensionStyleTextHorizontalPlacement.Centered;
            this.dimgap          = 0.09;
            this.dimtih          = false;
            this.dimtoh          = false;
            this.dimtxtdirection = DimensionStyleTextDirection.LeftToRight;
            this.dimtfac         = 1.0;

            // fit
            this.dimtofl  = false;
            this.dimsoxd  = true;
            this.dimscale = 1.0;
            this.dimatfit = DimensionStyleFitOptions.BestFit;
            this.dimtix   = false;
            this.dimtmove = DimensionStyleFitTextMove.BesideDimLine;

            // primary units
            this.dimdec    = 4;
            this.dimadec   = 0;
            this.dimPrefix = string.Empty;
            this.dimSuffix = string.Empty;
            this.dimdsep   = '.';
            this.dimlfac   = 1.0;
            this.dimaunit  = AngleUnitType.DecimalDegrees;
            this.dimlunit  = LinearUnitType.Decimal;
            this.dimfrac   = FractionFormatType.Horizontal;
            this.suppressLinearLeadingZeros   = false;
            this.suppressLinearTrailingZeros  = false;
            this.suppressZeroFeet             = true;
            this.suppressZeroInches           = true;
            this.suppressAngularLeadingZeros  = false;
            this.suppressAngularTrailingZeros = false;
            this.dimrnd = 0.0;

            // alternate units
            this.alternateUnits = new DimensionStyleAlternateUnits();

            // tolerances
            this.tolerances = new DimensionStyleTolerances();
        }
Ejemplo n.º 11
0
 private void SetAttributes(EntityObject entity, IGeoObject go)
 {
     if (go is IColorDef cd && cd.ColorDef != null)
     {
         AciColor clr;
         if (cd.ColorDef.Color.ToArgb().Equals(Color.White.ToArgb()) || cd.ColorDef.Color.ToArgb().Equals(Color.Black.ToArgb()))
         {
             clr = AciColor.Default;
         }
         else
         {
             clr = AciColor.FromTrueColor(cd.ColorDef.Color.ToArgb());
             if (clr.Index > 0 && clr.Index < 256)
             {
                 var indexColor = AciColor.FromCadIndex(clr.Index);
                 if (indexColor.ToColor().ToArgb().Equals(cd.ColorDef.Color.ToArgb()))
                 {
                     // if the color matches the index color exactly
                     // we don't need to use TruColor
                     clr.UseTrueColor = false;
                 }
             }
         }
         entity.Color = clr;
     }
     if (go.Layer != null)
     {
         if (!createdLayers.TryGetValue(go.Layer, out netDxf.Tables.Layer layer))
         {
             layer = new netDxf.Tables.Layer(go.Layer.Name);
             doc.Layers.Add(layer);
             createdLayers[go.Layer] = layer;
         }
         entity.Layer = layer;
     }
     if (go is ILinePattern lp)
     {
         if (!createdLinePatterns.TryGetValue(lp.LinePattern, out Linetype linetype))
         {
             List <LinetypeSegment> segments = new List <LinetypeSegment>();
             if (lp.LinePattern.Pattern != null)
             {
                 for (int i = 0; i < lp.LinePattern.Pattern.Length; i++)
                 {
                     LinetypeSegment ls;
                     if ((i & 0x01) == 0)
                     {
                         ls = new LinetypeSimpleSegment(lp.LinePattern.Pattern[i]);
                     }
                     else
                     {
                         ls = new LinetypeSimpleSegment(-lp.LinePattern.Pattern[i]);
                     }
                     segments.Add(ls);
                 }
             }
             linetype = new Linetype(lp.LinePattern.Name);
             linetype.Segments.AddRange(segments);
             doc.Linetypes.Add(linetype);
             createdLinePatterns[lp.LinePattern] = linetype;
         }
         entity.Linetype = linetype;
     }
     if (go is ILineWidth lw)
     {
         double     minError = double.MaxValue;
         Lineweight found    = Lineweight.Default;
         foreach (Lineweight lwe in Enum.GetValues(typeof(Lineweight)))
         {
             double err = Math.Abs(((int)lwe) / 100.0 - lw.LineWidth.Width);
             if (err < minError)
             {
                 minError = err;
                 found    = lwe;
             }
         }
         entity.Lineweight = found;
     }
 }
Ejemplo n.º 12
0
 private void SetAttributes(EntityObject entity, IGeoObject go)
 {
     if (go is IColorDef cd && cd.ColorDef != null)
     {
         AciColor clr = AciColor.FromTrueColor(cd.ColorDef.Color.ToArgb());
         entity.Color = clr;
     }
     if (go.Layer != null)
     {
         if (!createdLayers.TryGetValue(go.Layer, out netDxf.Tables.Layer layer))
         {
             layer = new netDxf.Tables.Layer(go.Layer.Name);
             doc.Layers.Add(layer);
             createdLayers[go.Layer] = layer;
         }
         entity.Layer = layer;
     }
     if (go is ILinePattern lp)
     {
         if (!createdLinePatterns.TryGetValue(lp.LinePattern, out Linetype linetype))
         {
             List <LinetypeSegment> segments = new List <LinetypeSegment>();
             if (lp.LinePattern.Pattern != null)
             {
                 for (int i = 0; i < lp.LinePattern.Pattern.Length; i++)
                 {
                     LinetypeSegment ls;
                     if ((i & 0x01) == 0)
                     {
                         ls = new LinetypeSimpleSegment(lp.LinePattern.Pattern[i]);
                     }
                     else
                     {
                         ls = new LinetypeSimpleSegment(-lp.LinePattern.Pattern[i]);
                     }
                     segments.Add(ls);
                 }
             }
             linetype = new Linetype(lp.LinePattern.Name);
             linetype.Segments.AddRange(segments);
             doc.Linetypes.Add(linetype);
             createdLinePatterns[lp.LinePattern] = linetype;
         }
         entity.Linetype = linetype;
     }
     if (go is ILineWidth lw)
     {
         double     minError = double.MaxValue;
         Lineweight found    = Lineweight.Default;
         foreach (Lineweight lwe in Enum.GetValues(typeof(Lineweight)))
         {
             double err = Math.Abs(((int)lwe) / 100.0 - lw.LineWidth.Width);
             if (err < minError)
             {
                 minError = err;
                 found    = lwe;
             }
         }
         entity.Lineweight = found;
     }
 }
Ejemplo n.º 13
0
        internal DimensionStyle(string name, bool checkName)
            : base(name, DxfObjectCode.DimStyle, checkName)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException(nameof(name), "The dimension style name should be at least one character long.");
            }

            this.IsReserved = name.Equals(DefaultName, StringComparison.OrdinalIgnoreCase);

            // dimension lines
            this.dimclrd  = AciColor.ByBlock;
            this.dimltype = Linetype.ByBlock;
            this.dimlwd   = Lineweight.ByBlock;
            this.dimsd    = false;
            this.dimdli   = 0.38;
            this.dimdle   = 0.0;

            // extension lines
            this.dimclre  = AciColor.ByBlock;
            this.dimltex1 = Linetype.ByBlock;
            this.dimltex2 = Linetype.ByBlock;
            this.dimlwe   = Lineweight.ByBlock;
            this.dimse1   = false;
            this.dimse2   = false;
            this.dimexo   = 0.0625;
            this.dimexe   = 0.18;

            // symbols and arrows
            this.dimasz    = 0.18;
            this.dimcen    = 0.09;
            this.dimldrblk = null;
            this.dimblk1   = null;
            this.dimblk2   = null;

            // text
            this.dimtxsty = TextStyle.Default;
            this.dimclrt  = AciColor.ByBlock;
            this.dimtxt   = 0.18;
            this.dimtad   = 1;
            this.dimjust  = 0;
            this.dimgap   = 0.09;

            // fit
            this.dimscale = 1.0;

            // primary units
            this.dimdec    = 2;
            this.dimadec   = 0;
            this.dimPrefix = string.Empty;
            this.dimSuffix = string.Empty;
            this.dimtih    = 0;
            this.dimtoh    = 0;
            this.dimdsep   = '.';
            this.dimlfac   = 1.0;
            this.dimaunit  = AngleUnitType.DecimalDegrees;
            this.dimlunit  = LinearUnitType.Decimal;
            this.dimfrac   = FractionFormatType.Horizontal;
            this.suppressLinearLeadingZeros   = false;
            this.suppressLinearTrailingZeros  = false;
            this.suppressAngularLeadingZeros  = false;
            this.suppressAngularTrailingZeros = false;
            this.suppressZeroFeet             = true;
            this.suppressZeroInches           = true;
            this.dimrnd = 0.0;
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Initializes a new instance of the <c>Attribute</c> class.
        /// </summary>
        /// <param name="definition"><see cref="AttributeDefinition">Attribute definition</see>.</param>
        /// <remarks>
        /// Although the attribute entity could override values defined in its definition for simplicity the implementation has restricted this possibility.
        /// </remarks>
        public Attribute(AttributeDefinition definition)
            : base(DxfObjectCode.Attribute)
        {
            if (definition == null)
                throw new ArgumentNullException("definition");

            //EntityObject properties
            this.color = definition.Color;
            this.layer = definition.Layer;
            this.lineType = definition.LineType;
            this.lineweight = definition.Lineweight;
            this.lineTypeScale = definition.LineTypeScale;
            this.transparency = definition.Transparency;
            this.isVisible = definition.IsVisible;
            this.normal = definition.Normal;

            //Attribute definition properties
            this.definition = definition;
            this.tag = definition.Tag;
            this.value = definition.Value;
            this.style = definition.Style;
            this.position = definition.Position;
            this.flags = definition.Flags;
            this.height = definition.Height;
            this.widthFactor = definition.WidthFactor;
            this.obliqueAngle = definition.ObliqueAngle;
            this.rotation = definition.Rotation;
            this.alignment = definition.Alignment;
        }
        internal DimensionStyle(string name, bool checkName)
            : base(name, DxfObjectCode.DimStyle, checkName)
        {
            if (string.IsNullOrEmpty(name))
                throw new ArgumentNullException(nameof(name), "The dimension style name should be at least one character long.");

            this.reserved = name.Equals(DefaultName, StringComparison.OrdinalIgnoreCase);

            // dimension lines
            this.dimclrd = AciColor.ByBlock;
            this.dimltype = LineType.ByBlock;
            this.dimlwd = Lineweight.ByBlock;
            this.dimdli = 0.38;
            this.dimdle = 0.0;

            // extension lines
            this.dimclre = AciColor.ByBlock;
            this.dimltex1 = LineType.ByBlock;
            this.dimltex2 = LineType.ByBlock;
            this.dimlwe = Lineweight.ByBlock;
            this.dimse1 = false;
            this.dimse2 = false;
            this.dimexo = 0.0625;
            this.dimexe = 0.18;

            // symbols and arrows
            this.dimasz = 0.18;
            this.dimcen = 0.09;
            this.dimsah = false;
            this.dimldrblk = null;
            this.dimblk = null;
            this.dimblk1 = null;
            this.dimblk2 = null;

            // text
            this.dimtxsty = TextStyle.Default;
            this.dimclrt = AciColor.ByBlock;
            this.dimtxt = 0.18;
            this.dimtad = 1;
            this.dimjust = 0;
            this.dimgap = 0.09;

            // fit
            this.dimscale = 1.0;

            // primary units
            this.dimdec = 2;
            this.dimadec = 0;
            this.dimpost = "<>";
            this.dimtih = 0;
            this.dimtoh = 0;
            this.dimdsep = '.';
            this.dimlfac = 1.0;
            this.dimaunit = AngleUnitType.DecimalDegrees;
            this.dimlunit = LinearUnitType.Decimal;
            this.dimfrac = FractionFormatType.Horizontal;
            this.suppressLinearLeadingZeros = false;
            this.suppressLinearTrailingZeros = false;
            this.suppressAngularLeadingZeros = false;
            this.suppressAngularTrailingZeros = false;
            this.suppressZeroFeet = true;
            this.suppressZeroInches = true;
            this.dimrnd = 0.0;
        }