修复毛料态、自由锻、方体、有圆头的模板的生成样式
This commit is contained in:
parent
cbc34e2d9c
commit
de4ccff050
@ -3005,7 +3005,8 @@ namespace CadParamPluging.Cad
|
|||||||
: 0;
|
: 0;
|
||||||
|
|
||||||
// 1. 绘制完整锻件外轮廓(方体有圆头 - 白色,固定小弧度)
|
// 1. 绘制完整锻件外轮廓(方体有圆头 - 白色,固定小弧度)
|
||||||
DrawBlockRoundHeadOutline(ctx, ox, oy, visualTotalW, H, visualOuterArcR);
|
// 修正:外轮廓圆弧半径需增加内框圆角半径,以保证外圆弧的起点与内框圆角的起点在X轴上重合,消除直边延伸
|
||||||
|
DrawBlockRoundHeadOutline(ctx, ox, oy, visualTotalW, H, visualOuterArcR + innerFilletR);
|
||||||
|
|
||||||
// 2. 绘制分段式内框(左、中、右三段)以支持中间剖面区域的独立圆角
|
// 2. 绘制分段式内框(左、中、右三段)以支持中间剖面区域的独立圆角
|
||||||
// 中间区域(剖面)作为主体,如果设置了圆角,四个角都应为圆角
|
// 中间区域(剖面)作为主体,如果设置了圆角,四个角都应为圆角
|
||||||
@ -3022,15 +3023,14 @@ namespace CadParamPluging.Cad
|
|||||||
DrawBoxSectionContourWithFillet(ctx, xSectionLeft, xSectionRight, oy, H, innerFilletR);
|
DrawBoxSectionContourWithFillet(ctx, xSectionLeft, xSectionRight, oy, H, innerFilletR);
|
||||||
|
|
||||||
// 绘制左侧框线(连接左端圆弧和中间剖面框)
|
// 绘制左侧框线(连接左端圆弧和中间剖面框)
|
||||||
// 左端: xInnerLeft (需处理左上下角的圆角 - 使用外轮廓圆角 visualOuterArcR)
|
// 左端: xInnerLeft (需处理左上下角的圆角 - 修正为使用内框圆角 innerFilletR,与方体参数一致)
|
||||||
// 右端: xSectionLeft (连接到中间框的直边)
|
// 右端: xSectionLeft (连接到中间框的直边)
|
||||||
// 注意:DrawBoxSideFrame 仅在远端应用圆角,连接端是直的
|
DrawBoxSideFrame(ctx, xInnerLeft, xSectionLeft, oy, H, innerFilletR, isLeft: true);
|
||||||
DrawBoxSideFrame(ctx, xInnerLeft, xSectionLeft, oy, H, visualOuterArcR, isLeft: true);
|
|
||||||
|
|
||||||
// 绘制右侧框线
|
// 绘制右侧框线
|
||||||
// 左端: xSectionRight (连接到中间框的直边)
|
// 左端: xSectionRight (连接到中间框的直边)
|
||||||
// 右端: xInnerRight (需处理右上下角的圆角 - 使用外轮廓圆角 visualOuterArcR)
|
// 右端: xInnerRight (需处理右上下角的圆角 - 修正为使用内框圆角 innerFilletR,与方体参数一致)
|
||||||
DrawBoxSideFrame(ctx, xSectionRight, xInnerRight, oy, H, visualOuterArcR, isLeft: false);
|
DrawBoxSideFrame(ctx, xSectionRight, xInnerRight, oy, H, innerFilletR, isLeft: false);
|
||||||
|
|
||||||
// 3. 剖面填充 - 只在中间区域
|
// 3. 剖面填充 - 只在中间区域
|
||||||
// 如果有圆角,填充范围也应考虑圆角(不过Hatch边界通常可以自动处理)
|
// 如果有圆角,填充范围也应考虑圆角(不过Hatch边界通常可以自动处理)
|
||||||
@ -3105,9 +3105,9 @@ namespace CadParamPluging.Cad
|
|||||||
|
|
||||||
// 标注从圆弧最外侧开始(避免与圆弧轮廓线重叠)
|
// 标注从圆弧最外侧开始(避免与圆弧轮廓线重叠)
|
||||||
double xOuterRight = ox + visualTotalW;
|
double xOuterRight = ox + visualTotalW;
|
||||||
// 修正:标注界线起点应向内缩进一个圆角半径 visualOuterArcR,以连接到锻件顶底平直边的末端
|
// 修正:标注界线起点应向内缩进(visualOuterArcR + innerFilletR),以连接到锻件顶底平直边的末端
|
||||||
// 否则标注界线会从包围盒的角点开始,导致与圆角轮廓之间有空隙
|
// 否则标注界线会从包围盒的角点开始,导致与圆角轮廓之间有空隙
|
||||||
double xDimOrigin = xOuterRight - visualOuterArcR;
|
double xDimOrigin = xOuterRight - (visualOuterArcR + innerFilletR);
|
||||||
|
|
||||||
AddLinearDim(
|
AddLinearDim(
|
||||||
ctx,
|
ctx,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user