feat: add drawing modules for环形毛料自由锻件, distinguishing between center punch and non-center punch conditions.

This commit is contained in:
sladro 2026-02-27 11:22:54 +08:00
parent f430e07b95
commit 09ab4cff9e
2 changed files with 18 additions and 16 deletions

View File

@ -157,12 +157,6 @@ namespace CadParamPluging.Cad.Drawers
// Right Side of Right Section is Outer -> outerFilletR
DrawSectionWithAsymmetricFillets(ctx, xInnerRightVal, ox + W, oy, H, innerFilletR, outerFilletR);
if (innerFilletR > 0)
{
double cxRight = xInnerRightVal + innerFilletR;
double cyRight = oy + H - innerFilletR;
DrawInnerRadiusLeader(ctx, cxRight, cyRight, innerFilletR, false);
}
// Draw Connecting Lines (Hole Back View) - Top and Bottom
// Extend into the inner fillet radius
@ -246,11 +240,15 @@ namespace CadParamPluging.Cad.Drawers
{
if (xInnerRight.HasValue)
{
FeatureDrivenDrawer.DrawMinWallThicknessNote(ctx, xInnerRight.Value, ox + W, oy, minWallThickness.Value);
}
if (xInnerLeft.HasValue)
{
FeatureDrivenDrawer.DrawMinWallThicknessNote(ctx, ox, xInnerLeft.Value, oy, minWallThickness.Value);
var val = ctx.OriginalBag?.GetDoubleOrNull(FeatureDrivenDrawer.KeyMinWallThickness) ?? minWallThickness.Value;
var dimText = $"{FeatureDrivenDrawer.FormatDimNumber(val)}min";
FeatureDrivenDrawer.AddLinearDim(
ctx,
new Point3d(xInnerRight.Value, oy + innerFilletR, 0),
new Point3d(ox + W, oy + outerFilletR, 0),
new Point3d((xInnerRight.Value + ox + W) / 2, oy + innerFilletR - 25, 0),
0,
dimText);
}
}

View File

@ -265,11 +265,15 @@ namespace CadParamPluging.Cad.Drawers
{
if (xInnerRight.HasValue)
{
FeatureDrivenDrawer.DrawMinWallThicknessNote(ctx, xInnerRight.Value, ox + W, oy, minWallThickness.Value);
}
if (xInnerLeft.HasValue)
{
FeatureDrivenDrawer.DrawMinWallThicknessNote(ctx, ox, xInnerLeft.Value, oy, minWallThickness.Value);
var val = ctx.OriginalBag?.GetDoubleOrNull(FeatureDrivenDrawer.KeyMinWallThickness) ?? minWallThickness.Value;
var dimText = $"{FeatureDrivenDrawer.FormatDimNumber(val)}min";
FeatureDrivenDrawer.AddLinearDim(
ctx,
new Point3d(xInnerRight.Value, oy + sectionFilletR, 0),
new Point3d(ox + W, oy + sectionFilletR, 0),
new Point3d((xInnerRight.Value + ox + W) / 2, oy + sectionFilletR - 25, 0),
0,
dimText);
}
}