CadParamPluging/Common/TemplateSchemaDefaults.cs

316 lines
12 KiB
C#

using System;
using System.Collections.Generic;
namespace CadParamPluging.Common
{
public static class TemplateSchemaDefaults
{
public static TemplateSchemas CreateDefault()
{
var schemas = new TemplateSchemas();
// 交付状态=车加工, 工艺方法=轧制, 结构特征=环形, 特殊条件=无
// TemplateKey: "车加工|轧制|环形|" ("无" 会被归一化为空)
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "车加工",
DrawingType = "轧制",
SheetSize = "环形",
Scale = "无",
DisplayName = "环形(车加工/轧制)",
SelectedParamKeys = new List<string>
{
"OuterDiameter1",
"OuterDiameter1TolPlus",
"OuterDiameter1TolMinus",
"InnerDiameter2",
"InnerDiameter2TolPlus",
"InnerDiameter2TolMinus",
"Height1",
"Height1TolPlus",
"Height1TolMinus",
"MinWallThickness",
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
SelectedPartParamKeys = new List<string>
{
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
PartOwnershipConfigured = true
});
// 模板二:交付状态=毛料态, 工艺方法=轧制, 结构特征=环形, 特殊条件=无
// TemplateKey: "毛料态|轧制|环形|" ("无" 会被归一化为空)
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "轧制",
SheetSize = "环形",
Scale = "无",
DisplayName = "环形(毛料态/轧制)",
SelectedParamKeys = new List<string>
{
"OuterDiameter1",
"OuterDiameter1TolPlus",
"OuterDiameter1TolMinus",
"InnerDiameter2",
"InnerDiameter2TolPlus",
"InnerDiameter2TolMinus",
"Height1",
"Height1TolPlus",
"Height1TolMinus",
"MinWallThickness",
"UnspecifiedFilletRadiusMax",
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
SelectedPartParamKeys = new List<string>
{
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
PartOwnershipConfigured = true
});
// 模板六:交付状态=毛料态, 工艺方法=自由锻, 结构特征=方体, 特殊条件=有圆头
// TemplateKey: "毛料态|自由锻|方体|有圆头"
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "自由锻",
SheetSize = "方体",
Scale = "有圆头",
DisplayName = "方体(毛料态/自由锻/有圆头)",
SelectedParamKeys = new List<string>
{
"BoxSize1",
"BoxSize1TolPlus",
"BoxSize1TolMinus",
"BoxSize2",
"BoxSize2TolPlus",
"BoxSize2TolMinus",
"BoxSize3",
"BoxSize3TolPlus",
"BoxSize3TolMinus",
"BoxFilletRadiusMax",
"BoxRoundHeadFilletRadiusMax",
"BoxSize1Prime",
"BoxSize2Prime",
"BoxSize3Prime"
},
SelectedPartParamKeys = new List<string>
{
"BoxSize1Prime",
"BoxSize2Prime",
"BoxSize3Prime"
},
PartOwnershipConfigured = true
});
// 模板八:交付状态=毛料态, 工艺方法=自由锻, 结构特征=方体, 特殊条件=无圆头
// TemplateKey: "毛料态|自由锻|方体|无圆头"
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "自由锻",
SheetSize = "方体",
Scale = "无圆头",
DisplayName = "方体(毛料态/自由锻/无圆头)",
SelectedParamKeys = new List<string>
{
"BoxSize1",
"BoxSize1TolPlus",
"BoxSize1TolMinus",
"BoxSize2",
"BoxSize2TolPlus",
"BoxSize2TolMinus",
"BoxSize3",
"BoxSize3TolPlus",
"BoxSize3TolMinus",
"BoxFilletRadiusMax",
// Ref: Removed BoxRoundHeadFilletRadiusMax
"BoxSize1Prime",
"BoxSize2Prime",
"BoxSize3Prime"
},
SelectedPartParamKeys = new List<string>
{
"BoxSize1Prime",
"BoxSize2Prime",
"BoxSize3Prime"
},
PartOwnershipConfigured = true
});
// 模板七:交付状态=毛料态, 工艺方法=自由锻, 结构特征=环形, 特殊条件=非中心冲孔
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "自由锻",
SheetSize = "环形",
Scale = "非中心冲孔",
DisplayName = "环形(毛料态/自由锻/非中心冲孔)",
SelectedParamKeys = new List<string>
{
"OuterDiameter1",
"OuterDiameter1TolPlus",
"OuterDiameter1TolMinus",
"InnerDiameter2",
"InnerDiameter2TolPlus",
"InnerDiameter2TolMinus",
"Height1",
"Height1TolPlus",
"Height1TolMinus",
"MinWallThickness",
"UnspecifiedFilletRadiusMax",
// 可选:车加工态参数
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
SelectedPartParamKeys = new List<string>
{
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
PartOwnershipConfigured = true
});
// 模板九:交付状态=毛料态, 工艺方法=自由锻, 结构特征=环形, 特殊条件=中心冲孔
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "自由锻",
SheetSize = "环形",
Scale = "中心冲孔",
DisplayName = "环形(毛料态/自由锻/中心冲孔)",
SelectedParamKeys = new List<string>
{
"OuterDiameter1",
"OuterDiameter1TolPlus",
"OuterDiameter1TolMinus",
"InnerDiameter2",
"InnerDiameter2TolPlus",
"InnerDiameter2TolMinus",
"Height1",
"Height1TolPlus",
"Height1TolMinus",
"MinWallThickness",
"UnspecifiedFilletRadiusMax", // 未注圆角半径R≤
"InnerRadiusMax", // 内径半径R≤
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
SelectedPartParamKeys = new List<string>
{
"OuterDiameter1Prime",
"InnerDiameter2Prime",
"Height1Prime"
},
PartOwnershipConfigured = true
});
// 模板:交付状态=毛料态, 工艺方法=自由锻, 结构特征=轴杆, 特殊条件=圆轴
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "自由锻",
SheetSize = "轴杆",
Scale = "圆轴", // Special Condition
DisplayName = "轴杆(毛料态/自由锻/圆轴)",
SelectedParamKeys = new List<string>
{
"Diameter",
"DiameterTolPlus",
"DiameterTolMinus",
"Length",
"LengthTolPlus",
"LengthTolMinus",
"ShaftFilletRadiusMax", // 未注圆角半径R≤
"DiameterPrime",
"LengthPrime"
},
SelectedPartParamKeys = new List<string>
{
"DiameterPrime",
"LengthPrime"
},
PartOwnershipConfigured = true
});
// 模板:交付状态=毛料态, 工艺方法=自由锻, 结构特征=轴杆, 特殊条件=方轴
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "自由锻",
SheetSize = "轴杆",
Scale = "方轴",
DisplayName = "轴杆(毛料态/自由锻/方轴)",
SelectedParamKeys = new List<string>
{
"SquareShaftSize1",
"SquareShaftSize1TolPlus",
"SquareShaftSize1TolMinus",
"SquareShaftSize2",
"SquareShaftSize2TolPlus",
"SquareShaftSize2TolMinus",
"SquareShaftSize3",
"SquareShaftSize3TolPlus",
"SquareShaftSize3TolMinus",
"SquareShaftFilletRadiusMax", // 未注圆角半径R≤
"SquareShaftSize1Prime",
"SquareShaftSize2Prime",
"SquareShaftSize3Prime"
},
SelectedPartParamKeys = new List<string>
{
"SquareShaftSize1Prime",
"SquareShaftSize2Prime",
"SquareShaftSize3Prime"
},
PartOwnershipConfigured = true
});
// 模板:交付状态=毛料态, 工艺方法=自由锻, 结构特征=饼盘, 特殊条件=无
// TemplateKey: "毛料态|自由锻|饼盘|"
schemas.Items.Add(new TemplateSchemaDefinition
{
ProjectType = "毛料态",
DrawingType = "自由锻",
SheetSize = "饼盘",
Scale = "",
DisplayName = "饼盘(毛料态/自由锻)",
SelectedParamKeys = new List<string>
{
"Diameter",
"DiameterTolPlus",
"DiameterTolMinus",
"Height1",
"Height1TolPlus",
"Height1TolMinus",
"UnspecifiedFilletRadiusMax", // 未注圆角半径R≤
"DiameterPrime",
"Height1Prime"
},
SelectedPartParamKeys = new List<string>
{
"DiameterPrime",
"Height1Prime"
},
PartOwnershipConfigured = true
});
schemas.Normalize();
return schemas;
}
}
}