在视口中显示尺寸时,我需要根据用户的意愿显示没有小数点,该怎么做?

问题描述 投票:0回答:1

eyeshot wpf中,在视口中显示尺寸时,我必须根据用户在视口文本框中输入的小数点来显示尺寸的小数位。 例如:如果 num = 1.345 如果他输入 1 那么它应该显示 1.3 与 1.234 类似,如果他输入 2,则应显示 1.23 我尝试了起草演示示例中的编码,这是我的代码

我的代码:

在尺寸标注.cs 类中:

private void DrawInteractiveOrdinateDim()
{
    if (points.Count < 1)
        return;

    List<Point3D> pts = new List<Point3D>();
    Point3D leaderEndPoint;
    Segment3D[] segments = OrdinateDim.Preview(Plane.XY, points[0], current, drawingOrdinateDimVertical, dimTextHeight * 3, dimTextHeight, 0.625, 3.0, 0.625, out leaderEndPoint);            

    foreach (var segment3D in segments)
    {
        pts.Add(WorldToScreen(segment3D.P0));
        pts.Add(WorldToScreen(segment3D.P1));
    }
    renderContext.DrawLines(pts.ToArray());
    renderContext.EnableXOR(false);

    double distance = drawingOrdinateDimVertical ? Math.Abs(Plane.XY.Origin.X - points[0].X) : Math.Abs(Plane.XY.Origin.Y - points[0].Y);
    distance = Math.Round(distance, Roundoffno);
    string dimText = "D " + distance;
    DrawText(mouseLocation.X, (int)Size.Height - mouseLocation.Y + 10, dimText,
        new Font("Tahoma", 8.25f), DrawingColor, ContentAlignment.BottomLeft);
}

在snapping.cs类中(显示最终输出)

else if (entity is Dimension)
{
    
    Dimension dim = (Dimension)entity;
    dim.LayerName = layerName;
    dim.WidthFactor = 0.9;

    dim.LineWeightMethod = colorMethodType.byEntity;

    double d1 = dim.Distance;
    double newDistance = Math.Round(d1, Roundoffno);

    dim.Text = "D " + newDistance.ToString();


    Entities.Add(dim);
}

我期望的是,在视口中显示尺寸时,我能够根据用户的意愿以交互方式正确显示小数点的数量,但在最终输出中它会返回到原始数字,存在错误在 snapping.cs 类中。请帮我解决这个问题

c# wpf dimension cad eyeshot
1个回答
0
投票

你可以的。

dim.Text = "D " + newDistance.ToString($"F{Roundoffno}");
© www.soinside.com 2019 - 2024. All rights reserved.