예제 #1
0
파일: Class299.cs 프로젝트: 15831944/WW
        public override void ResolveReferences(Class374 modelBuilder)
        {
            base.ResolveReferences(modelBuilder);
            DxfDimension entity = (DxfDimension)this.Entity;

            if (this.ulong_6 != 0UL)
            {
                DxfDimensionStyle dxfDimensionStyle = modelBuilder.method_4 <DxfDimensionStyle>(this.ulong_6);
                if (dxfDimensionStyle != null)
                {
                    entity.DimensionStyle = dxfDimensionStyle;
                }
            }
            DxfExtendedData extendedData;

            if (entity.DimensionStyleOverrides != null && entity.ExtendedDataCollection.TryGetValue(modelBuilder.Model.AppIdAcad, out extendedData))
            {
                Class309.smethod_0(entity.DimensionStyleOverrides, extendedData, modelBuilder);
            }
            if (this.ulong_7 == 0UL)
            {
                return;
            }
            DxfBlock dxfBlock = modelBuilder.method_4 <DxfBlock>(this.ulong_7);

            entity.Block = dxfBlock;
        }
예제 #2
0
 protected DxfDimensionObjectContextData(DxfDimension dimension, DxfScale scale)
     : base(scale)
 {
     this.Block    = dimension.Block;
     this.double_0 = dimension.TextRotation;
     this.bool_2   = !dimension.UseTextMiddlePoint;
     this.enum33_0 = (DxfDimensionObjectContextData.Enum33) 0;
     if (dimension.DimensionStyleOverrides.OverrideSuppressOutsideExtensions)
     {
         this.bool_3 = dimension.DimensionStyleOverrides.SuppressOutsideExtensions;
     }
     else
     {
         this.enum33_0 |= DxfDimensionObjectContextData.Enum33.flag_1;
         this.bool_3    = false;
     }
     if (dimension.DimensionStyleOverrides.OverrideTextOutsideExtensions)
     {
         this.bool_4 = dimension.DimensionStyleOverrides.TextOutsideExtensions;
     }
     else
     {
         this.enum33_0 |= DxfDimensionObjectContextData.Enum33.flag_0;
         this.bool_4    = false;
     }
     if (dimension.DimensionStyleOverrides.OverrideArrowsTextFit)
     {
         this.short_1   = (short)dimension.DimensionStyleOverrides.ArrowsTextFit;
         this.enum33_0 |= DxfDimensionObjectContextData.Enum33.flag_2;
     }
     else
     {
         this.short_1 = (short)0;
     }
     if (dimension.DimensionStyleOverrides.OverrideTextInsideExtensions)
     {
         this.bool_5    = dimension.DimensionStyleOverrides.TextInsideExtensions;
         this.enum33_0 |= DxfDimensionObjectContextData.Enum33.flag_3;
     }
     else
     {
         this.bool_5 = false;
     }
     if (dimension.DimensionStyleOverrides.OverrideTextMovement)
     {
         this.short_2   = (short)dimension.DimensionStyleOverrides.TextMovement;
         this.enum33_0 |= DxfDimensionObjectContextData.Enum33.flag_4;
     }
     else
     {
         this.short_2 = (short)0;
     }
     this.bool_6 = false;
     this.bool_7 = false;
     this.bool_8 = false;
 }
 /// <summary>
 /// Handle a dimension entity.
 /// </summary>
 /// <remarks>
 /// Same as <see cref="HandleEntity"/>, but removes the associated block, too, if the dimension is removed.
 /// </remarks>
 /// <param name="dim">Dimension entity.</param>
 private void HandleDimension(DxfDimension dim)
 {
     if (HandleEntity(dim))
     {
         // can remove block, too
         DxfBlock block = dim.Block;
         if (block != null)
         {
             model.Blocks.Remove(block);
         }
     }
 }
예제 #4
0
 /// <summary>
 /// 标注取整
 /// </summary>
 /// <param name="dxfDimension"></param>
 /// <returns></returns>
 public static string getDimensionText(DxfDimension.Aligned dxfDimension)
 {
     string text = "";
     if (Math.Round(dxfDimension.ExtensionLine1StartPoint.X * 100) / 100 == Math.Round(dxfDimension.ExtensionLine2StartPoint.X * 100) / 100)
     {
         text = "" + Convert.ToInt32(Math.Abs(dxfDimension.ExtensionLine1StartPoint.Y - dxfDimension.ExtensionLine2StartPoint.Y) + 0.5);
     }
     else
     {
         text = "" + Convert.ToInt32(Math.Abs(dxfDimension.ExtensionLine1StartPoint.X - dxfDimension.ExtensionLine2StartPoint.X) + 0.5);
     }
     return text;
 }
예제 #5
0
        private void method_1(DxfDimension dimension)
        {
            this.class599_0.method_0(dimension.EntityType, 1U);
            if ((this.handlingFlags_0 & EntityCounter.HandlingFlags.IncludeDimensionBlocks) == (EntityCounter.HandlingFlags) 0)
            {
                return;
            }
            DxfBlock block = dimension.Block;

            if (block == null)
            {
                return;
            }
            foreach (DxfEntity entity in (DxfHandledObjectCollection <DxfEntity>)block.Entities)
            {
                entity.Accept((IEntityVisitor)this);
            }
        }
예제 #6
0
파일: Class299.cs 프로젝트: 15831944/WW
 public Class299(DxfDimension dimension)
     : base((DxfEntity)dimension)
 {
 }
예제 #7
0
 protected virtual void VisitDimension(DxfDimension dimension)
 {
     this.VisitInsertingEntity((DxfEntity)dimension, dimension.Block);
 }