v: 2 timestamp: '2026-07-29T18:11:43.480432' uid: 22918fa6-dc33-4f1b-8c28-39bd91831335 objects: - name: Spreadsheet id: 192 type_id: Spreadsheet::Sheet properties: Label: kind: Primitive paths: .: type: STRING value: Spreadsheet group: Base A1: kind: Primitive paths: .: type: STRING value: User Preferences group: Base A2: kind: Primitive paths: .: type: STRING value: Joiner_to_Railguide_Length group: Base B2: kind: Primitive paths: .: type: QUANTITY value: 20.0 mm Alias: type: STRING value: Joiner_to_Railguide_Length group: Base A3: kind: Primitive paths: .: type: STRING value: Railguide_Comb_Length group: Base B3: kind: Primitive paths: .: type: QUANTITY value: 80.0 mm Alias: type: STRING value: Railguide_Comb_Length group: Base A4: kind: Primitive paths: .: type: STRING value: Drill_Bit_Slip group: Base B4: kind: Primitive paths: .: type: QUANTITY value: 0.2 mm Alias: type: STRING value: Drill_Bit_Slip group: Base A5: kind: Primitive paths: .: type: STRING value: Plate_Thickness group: Base B5: kind: Primitive paths: .: type: QUANTITY value: 16.0 mm Alias: type: STRING value: Plate_Thickness group: Base A6: kind: Primitive paths: .: type: STRING value: AlignmentDogHeight group: Base B6: kind: Primitive paths: .: type: QUANTITY value: 19.049999999999997 mm Alias: type: STRING value: AlignmentDogHeight group: Base A7: kind: Primitive paths: .: type: STRING value: AlignmentDogTaper group: Base B7: kind: Primitive paths: .: type: FLOAT value: -0.5 Alias: type: STRING value: AlignmentDogTaper group: Base A8: kind: Primitive paths: .: type: STRING value: CornerRounding group: Base B8: kind: Primitive paths: .: type: QUANTITY value: 5.0 mm Alias: type: STRING value: CornerRounding group: Base A9: kind: Primitive paths: .: type: STRING value: EdgeRounding group: Base B9: kind: Primitive paths: .: type: QUANTITY value: 1.5 mm Alias: type: STRING value: EdgeRounding group: Base A10: kind: Primitive paths: .: type: STRING value: Doghole Information group: Base A11: kind: Primitive paths: .: type: STRING value: Doghole_OD group: Base B11: kind: Primitive paths: .: type: QUANTITY value: 19.049999999999997 mm Alias: type: STRING value: Doghole_OD group: Base A12: kind: Primitive paths: .: type: STRING value: Doghole_X_Pitch group: Base B12: kind: Primitive paths: .: type: QUANTITY value: 101.6 mm Alias: type: STRING value: Doghole_X_Pitch group: Base C12: kind: Primitive paths: .: type: STRING value: Perpendicular to guide rail group: Base A13: kind: Primitive paths: .: type: STRING value: Doghole_Y_Pitch group: Base B13: kind: Primitive paths: .: type: QUANTITY value: 101.6 mm Alias: type: STRING value: Doghole_Y_Pitch group: Base C13: kind: Primitive paths: .: type: STRING value: Parallel to guide rail group: Base A14: kind: Primitive paths: .: type: STRING value: Doghole_X_Margin group: Base B14: kind: Primitive paths: .: type: QUANTITY value: 25.4 mm Alias: type: STRING value: Doghole_X_Margin group: Base A15: kind: Primitive paths: .: type: STRING value: Doghole_Y_Margin group: Base B15: kind: Primitive paths: .: type: QUANTITY value: 25.4 mm Alias: type: STRING value: Doghole_Y_Margin group: Base A16: kind: Primitive paths: .: type: STRING value: Bushing Measurements group: Base A17: kind: Primitive paths: .: type: STRING value: Bushing_OD group: Base B17: kind: Primitive paths: .: type: QUANTITY value: 22.224999999999998 mm Alias: type: STRING value: Bushing_OD group: Base A18: kind: Primitive paths: .: type: STRING value: Bushing_OD_Slip group: Base B18: kind: Primitive paths: .: type: QUANTITY value: 0.1 mm Alias: type: STRING value: Bushing_OD_Slip group: Base A19: kind: Primitive paths: .: type: STRING value: Bushing_Length group: Base B19: kind: Primitive paths: .: type: QUANTITY value: 25.4 mm Alias: type: STRING value: Bushing_Length group: Base A20: kind: Primitive paths: .: type: STRING value: Guide Rail Measurements group: Base A21: kind: Primitive paths: .: type: STRING value: Comb_Baseplate_Thickness group: Base B21: kind: Primitive paths: .: type: QUANTITY value: 4.1 mm Alias: type: STRING value: Comb_Baseplate_Thickness group: Base C21: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A22: kind: Primitive paths: .: type: STRING value: Comb1_Height group: Base B22: kind: Primitive paths: .: type: QUANTITY value: 16.0 mm Alias: type: STRING value: Comb1_Height group: Base C22: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A23: kind: Primitive paths: .: type: STRING value: Comb1_Width group: Base B23: kind: Primitive paths: .: type: QUANTITY value: 9.0 mm Alias: type: STRING value: Comb1_Width group: Base C23: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A24: kind: Primitive paths: .: type: STRING value: Gap1_Width group: Base B24: kind: Primitive paths: .: type: QUANTITY value: 3.88 mm Alias: type: STRING value: Gap1_Width group: Base C24: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A25: kind: Primitive paths: .: type: STRING value: Comb2_Height group: Base B25: kind: Primitive paths: .: type: QUANTITY value: 12.9 mm Alias: type: STRING value: Comb2_Height group: Base C25: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A26: kind: Primitive paths: .: type: STRING value: Comb2_Width group: Base B26: kind: Primitive paths: .: type: QUANTITY value: 8.0 mm Alias: type: STRING value: Comb2_Width group: Base C26: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A27: kind: Primitive paths: .: type: STRING value: Gap2_Width group: Base B27: kind: Primitive paths: .: type: QUANTITY value: 7.3 mm Alias: type: STRING value: Gap2_Width group: Base C27: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A28: kind: Primitive paths: .: type: STRING value: Comb3_Height group: Base B28: kind: Primitive paths: .: type: QUANTITY value: 10.5 mm Alias: type: STRING value: Comb3_Height group: Base C28: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A29: kind: Primitive paths: .: type: STRING value: Comb3_Width group: Base B29: kind: Primitive paths: .: type: QUANTITY value: 10.8 mm Alias: type: STRING value: Comb3_Width group: Base C29: kind: Primitive paths: .: type: STRING value: Makita guide rail measured group: Base A30: kind: Primitive paths: .: type: STRING value: Calculated group: Base A31: kind: Primitive paths: .: type: STRING value: Railguide_Comb_Width group: Base B31: kind: Primitive paths: .: type: QUANTITY value: 58.980000000000004 mm Alias: type: STRING value: Railguide_Comb_Width group: Base A32: kind: Primitive paths: .: type: STRING value: Plate_X group: Base B32: kind: Primitive paths: .: type: QUANTITY value: 152.4 mm Alias: type: STRING value: Plate_X group: Base A33: kind: Primitive paths: .: type: STRING value: Plate_Y group: Base B33: kind: Primitive paths: .: type: QUANTITY value: 152.4 mm Alias: type: STRING value: Plate_Y group: Base - name: Body id: 193 type_id: PartDesign::Body properties: AllowCompound: kind: Primitive paths: .: type: BOOL value: false group: Base BaseFeature: kind: Primitive paths: .: type: 'NULL' group: Base Label: kind: Primitive paths: .: type: STRING value: Body group: Base Placement: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 0.0 deg Rotation.Axis.x: type: FLOAT value: 0.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 1.0 group: Base Tip: kind: Unknown paths: .: type: STRING value: freecad_type: PartDesign.Feature group: Base - name: Origin id: 194 type_id: App::Origin properties: Label: kind: Primitive paths: .: type: STRING value: Origin group: Base - name: X_Axis id: 195 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: X-axis group: Base - name: Y_Axis id: 196 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: Y-axis group: Base - name: Z_Axis id: 197 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: Z-axis group: Base - name: XY_Plane id: 198 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: XY-plane group: Base - name: XZ_Plane id: 199 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: XZ-plane group: Base - name: YZ_Plane id: 200 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: YZ-plane group: Base - name: Origin001 id: 201 type_id: App::Point properties: Label: kind: Primitive paths: .: type: STRING value: Origin001 group: Base - name: Sketch id: 202 type_id: Sketcher::SketchObject properties: ArcFitTolerance: kind: Primitive paths: .: type: FLOAT value: 1.0e-06 group: Sketch AttacherEngine: kind: Primitive paths: .: type: STRING value: Engine Plane group: Attachment AttachmentOffset: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 0.0 deg Rotation.Axis.x: type: FLOAT value: 0.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 1.0 group: Attachment Constraints: kind: List paths: {} items: - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 2 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 1 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 3 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 17 FirstPos: type: INT value: 1 Second: type: INT value: -1 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 6 FirstPos: type: INT value: 2 Second: type: INT value: 7 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 7 FirstPos: type: INT value: 2 Second: type: INT value: 4 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 6 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 7 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 1 Second: type: INT value: 1 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 152.4 First: type: INT value: 17 FirstPos: type: INT value: 1 Second: type: INT value: 15 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Plate_X - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 152.4 First: type: INT value: 17 FirstPos: type: INT value: 1 Second: type: INT value: 9 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Plate_Y - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 80.0 First: type: INT value: 13 FirstPos: type: INT value: 1 Second: type: INT value: 12 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Railguide_Comb_Length - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 58.980000000000004 First: type: INT value: 6 FirstPos: type: INT value: 2 Second: type: INT value: 12 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Railguide_Comb_Width - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 36.2 First: type: INT value: 15 FirstPos: type: INT value: 1 Second: type: INT value: 4 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: (Spreadsheet.Plate_Y - Spreadsheet.Railguide_Comb_Length) / 2 - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 9 FirstPos: type: INT value: 1 Second: type: INT value: 3 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 9 FirstPos: type: INT value: 1 Second: type: INT value: 2 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 3 FirstPos: type: INT value: 1 Second: type: INT value: 8 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 2 FirstPos: type: INT value: 2 Second: type: INT value: 8 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 11 FirstPos: type: INT value: 1 Second: type: INT value: 2 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 11 FirstPos: type: INT value: 1 Second: type: INT value: 1 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 2 FirstPos: type: INT value: 1 Second: type: INT value: 10 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 1 FirstPos: type: INT value: 2 Second: type: INT value: 10 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 15 FirstPos: type: INT value: 1 Second: type: INT value: 1 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 15 FirstPos: type: INT value: 1 Second: type: INT value: 0 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 1 FirstPos: type: INT value: 1 Second: type: INT value: 14 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 0 FirstPos: type: INT value: 2 Second: type: INT value: 14 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 17 FirstPos: type: INT value: 1 Second: type: INT value: 0 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 17 FirstPos: type: INT value: 1 Second: type: INT value: 3 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 0 FirstPos: type: INT value: 1 Second: type: INT value: 16 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Tangent Value: type: FLOAT value: -1.5707963267948966 First: type: INT value: 3 FirstPos: type: INT value: 2 Second: type: INT value: 16 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Radius Value: type: FLOAT value: 5.0 First: type: INT value: 8 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.CornerRounding - kind: Constraint paths: Type: type: STRING value: Radius Value: type: FLOAT value: 5.0 First: type: INT value: 10 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.CornerRounding - kind: Constraint paths: Type: type: STRING value: Radius Value: type: FLOAT value: 5.0 First: type: INT value: 14 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.CornerRounding - kind: Constraint paths: Type: type: STRING value: Radius Value: type: FLOAT value: 5.0 First: type: INT value: 16 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.CornerRounding - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 1 Second: type: INT value: 4 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 2 Second: type: INT value: 12 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 13 FirstPos: type: INT value: 1 Second: type: INT value: 4 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true group: Sketch Label: kind: Primitive paths: .: type: STRING value: Sketch group: Base MakeInternals: kind: Primitive paths: .: type: BOOL value: false group: Internal Geometry MapMode: kind: Primitive paths: .: type: STRING value: FlatFace group: Attachment MapReversed: kind: Primitive paths: .: type: BOOL value: false group: Attachment Placement: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 0.0 deg Rotation.Axis.x: type: FLOAT value: 0.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 1.0 group: Base - name: Pad id: 203 type_id: PartDesign::Pad properties: AllowMultiFace: kind: Primitive paths: .: type: BOOL value: true group: SketchBased AlongSketchNormal: kind: Primitive paths: .: type: BOOL value: true group: Pad FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: PadBody group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 16.0 mm expression: Spreadsheet.Plate_Thickness group: Side1 Length2: kind: Primitive paths: .: type: QUANTITY value: 10.0 mm group: Side2 Midplane: kind: Primitive paths: .: type: BOOL value: false group: SketchBased Offset: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side1 Offset2: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side2 Profile: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: '' group: SketchBased ReferenceAxis: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: N_Axis group: Pad Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design Reversed: kind: Primitive paths: .: type: BOOL value: false group: SketchBased SideType: kind: Primitive paths: .: type: STRING value: One side group: Pad Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base TaperAngle: kind: Primitive paths: .: type: QUANTITY value: 0.0 deg group: Side1 TaperAngle2: kind: Primitive paths: .: type: QUANTITY value: 0.0 deg group: Side2 Type: kind: Primitive paths: .: type: STRING value: Length group: Side1 Type2: kind: Primitive paths: .: type: STRING value: Length group: Side2 UpToFace: kind: Primitive paths: .: type: 'NULL' group: Side1 UpToFace2: kind: Primitive paths: .: type: 'NULL' group: Side2 UseCustomVector: kind: Primitive paths: .: type: BOOL value: false group: Pad - name: Sketch001 id: 204 type_id: Sketcher::SketchObject properties: ArcFitTolerance: kind: Primitive paths: .: type: FLOAT value: 1.0e-06 group: Sketch AttacherEngine: kind: Primitive paths: .: type: STRING value: Engine Plane group: Attachment AttachmentOffset: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 0.0 deg Rotation.Axis.x: type: FLOAT value: 0.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 1.0 group: Attachment Constraints: kind: List paths: {} items: - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 2 Second: type: INT value: 1 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 1 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 1 FirstPos: type: INT value: 2 Second: type: INT value: 2 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 2 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 2 FirstPos: type: INT value: 2 Second: type: INT value: 3 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 3 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 3 FirstPos: type: INT value: 2 Second: type: INT value: 4 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 2 Second: type: INT value: 5 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 6 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 6 FirstPos: type: INT value: 2 Second: type: INT value: 7 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 7 FirstPos: type: INT value: 2 Second: type: INT value: -5 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 7 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 7 FirstPos: type: INT value: 2 Second: type: INT value: 8 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 8 FirstPos: type: INT value: 2 Second: type: INT value: -5 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 8 FirstPos: type: INT value: 2 Second: type: INT value: 9 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 9 FirstPos: type: INT value: 2 Second: type: INT value: 0 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 3.88 First: type: INT value: 6 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Gap1_Width - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 2 Second: type: INT value: 2 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 8.0 First: type: INT value: 4 FirstPos: type: INT value: 2 Second: type: INT value: 4 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Comb2_Width - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 7.3 First: type: INT value: 2 FirstPos: type: INT value: 2 Second: type: INT value: 2 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Gap2_Width - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 9.0 First: type: INT value: 0 FirstPos: type: INT value: 2 Second: type: INT value: 0 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Comb1_Width - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 4.1 First: type: INT value: 1 FirstPos: type: INT value: 2 Second: type: INT value: -6 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Comb_Baseplate_Thickness - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 8.8 First: type: INT value: 3 FirstPos: type: INT value: 2 Second: type: INT value: 3 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Comb2_Height - Spreadsheet.Comb_Baseplate_Thickness - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 1 Second: type: INT value: -6 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 6.4 First: type: INT value: 1 FirstPos: type: INT value: 1 Second: type: INT value: 1 SecondPos: type: INT value: 2 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Comb3_Height - Spreadsheet.Comb_Baseplate_Thickness group: Sketch Label: kind: Primitive paths: .: type: STRING value: Sketch001 group: Base MakeInternals: kind: Primitive paths: .: type: BOOL value: false group: Internal Geometry MapMode: kind: Primitive paths: .: type: STRING value: FlatFace group: Attachment MapReversed: kind: Primitive paths: .: type: BOOL value: false group: Attachment Placement: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 36.2 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 90.0 deg Rotation.Axis.x: type: FLOAT value: 1.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 0.0 group: Base - name: Pocket id: 207 type_id: PartDesign::Pocket properties: AllowMultiFace: kind: Primitive paths: .: type: BOOL value: true group: SketchBased AlongSketchNormal: kind: Primitive paths: .: type: BOOL value: true group: Pocket FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: PocketCombFromSide group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 5.0 mm group: Side1 Length2: kind: Primitive paths: .: type: QUANTITY value: 5.0 mm group: Side2 Midplane: kind: Primitive paths: .: type: BOOL value: false group: SketchBased Offset: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side1 Offset2: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side2 Profile: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: '' group: SketchBased ReferenceAxis: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: N_Axis group: Pocket Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design Reversed: kind: Primitive paths: .: type: BOOL value: false group: SketchBased SideType: kind: Primitive paths: .: type: STRING value: One side group: Pocket Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base TaperAngle: kind: Primitive paths: .: type: QUANTITY value: 0.0 deg group: Side1 TaperAngle2: kind: Primitive paths: .: type: QUANTITY value: 0.0 deg group: Side2 Type: kind: Primitive paths: .: type: STRING value: ThroughAll group: Side1 Type2: kind: Primitive paths: .: type: STRING value: Length group: Side2 UpToFace: kind: Primitive paths: .: type: 'NULL' group: Side1 UpToFace2: kind: Primitive paths: .: type: 'NULL' group: Side2 UseCustomVector: kind: Primitive paths: .: type: BOOL value: false group: Pocket - name: Sketch002 id: 208 type_id: Sketcher::SketchObject properties: ArcFitTolerance: kind: Primitive paths: .: type: FLOAT value: 1.0e-06 group: Sketch AttacherEngine: kind: Primitive paths: .: type: STRING value: Engine Plane group: Attachment AttachmentOffset: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 0.0 deg Rotation.Axis.x: type: FLOAT value: 0.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 1.0 group: Attachment Constraints: kind: List paths: {} items: - kind: Constraint paths: Type: type: STRING value: Diameter Value: type: FLOAT value: 22.325 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Bushing_OD + Spreadsheet.Bushing_OD_Slip - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 25.4 First: type: INT value: 0 FirstPos: type: INT value: 3 Second: type: INT value: -4 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Doghole_X_Margin - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 25.4 First: type: INT value: -4 FirstPos: type: INT value: 1 Second: type: INT value: 0 SecondPos: type: INT value: 3 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Doghole_Y_Margin group: Sketch Label: kind: Primitive paths: .: type: STRING value: Sketch002 group: Base MakeInternals: kind: Primitive paths: .: type: BOOL value: false group: Internal Geometry MapMode: kind: Primitive paths: .: type: STRING value: FlatFace group: Attachment MapReversed: kind: Primitive paths: .: type: BOOL value: false group: Attachment Placement: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 16.0 mm Rotation.Angle: type: QUANTITY value: 0.0 deg Rotation.Axis.x: type: FLOAT value: 0.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 1.0 group: Base - name: Pocket001 id: 209 type_id: PartDesign::Pocket properties: AllowMultiFace: kind: Primitive paths: .: type: BOOL value: true group: SketchBased AlongSketchNormal: kind: Primitive paths: .: type: BOOL value: true group: Pocket FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: PocketDogHole group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 5.0 mm group: Side1 Length2: kind: Primitive paths: .: type: QUANTITY value: 5.0 mm group: Side2 Midplane: kind: Primitive paths: .: type: BOOL value: false group: SketchBased Offset: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side1 Offset2: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side2 Profile: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: '' group: SketchBased ReferenceAxis: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: N_Axis group: Pocket Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design Reversed: kind: Primitive paths: .: type: BOOL value: false group: SketchBased SideType: kind: Primitive paths: .: type: STRING value: One side group: Pocket Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base TaperAngle: kind: Primitive paths: .: type: QUANTITY value: 0.0 deg group: Side1 TaperAngle2: kind: Primitive paths: .: type: QUANTITY value: 0.0 deg group: Side2 Type: kind: Primitive paths: .: type: STRING value: ThroughAll group: Side1 Type2: kind: Primitive paths: .: type: STRING value: Length group: Side2 UpToFace: kind: Primitive paths: .: type: 'NULL' group: Side1 UpToFace2: kind: Primitive paths: .: type: 'NULL' group: Side2 UseCustomVector: kind: Primitive paths: .: type: BOOL value: false group: Pocket - name: Sketch003 id: 210 type_id: Sketcher::SketchObject properties: ArcFitTolerance: kind: Primitive paths: .: type: FLOAT value: 1.0e-06 group: Sketch AttacherEngine: kind: Primitive paths: .: type: STRING value: Engine Plane group: Attachment AttachmentOffset: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 0.0 deg Rotation.Axis.x: type: FLOAT value: 0.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 1.0 group: Attachment Constraints: kind: List paths: {} items: - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 2 Second: type: INT value: 1 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 1 FirstPos: type: INT value: 2 Second: type: INT value: 2 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 2 FirstPos: type: INT value: 2 Second: type: INT value: 3 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 3 FirstPos: type: INT value: 2 Second: type: INT value: 4 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 2 Second: type: INT value: 5 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 2 Second: type: INT value: 0 SecondPos: type: INT value: 1 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: 1 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: 2 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: 3 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: 4 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 0 Second: type: INT value: 5 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 0 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 1 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 2 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 3 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true - kind: Constraint paths: Type: type: STRING value: Diameter Value: type: FLOAT value: 19.049999999999997 First: type: INT value: 6 FirstPos: type: INT value: 0 Second: type: INT value: -2000 SecondPos: type: INT value: 0 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Doghole_OD - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 25.4 First: type: INT value: -7 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 3 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Doghole_X_Margin - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 25.4 First: type: INT value: -7 FirstPos: type: INT value: 2 Second: type: INT value: 6 SecondPos: type: INT value: 3 Third: type: INT value: -2000 ThirdPos: type: INT value: 0 Driving: type: BOOL value: true IsActive: type: BOOL value: true .: type: 'NULL' expression: Spreadsheet.Doghole_Y_Margin group: Sketch Label: kind: Primitive paths: .: type: STRING value: Sketch003 group: Base MakeInternals: kind: Primitive paths: .: type: BOOL value: false group: Internal Geometry MapMode: kind: Primitive paths: .: type: STRING value: FlatFace group: Attachment MapReversed: kind: Primitive paths: .: type: BOOL value: false group: Attachment Placement: kind: Placement paths: Base.x: type: QUANTITY value: 0.0 mm Base.y: type: QUANTITY value: 0.0 mm Base.z: type: QUANTITY value: 0.0 mm Rotation.Angle: type: QUANTITY value: 180.0 deg Rotation.Axis.x: type: FLOAT value: 1.0 Rotation.Axis.y: type: FLOAT value: 0.0 Rotation.Axis.z: type: FLOAT value: 0.0 group: Base - name: Pad001 id: 211 type_id: PartDesign::Pad properties: AllowMultiFace: kind: Primitive paths: .: type: BOOL value: true group: SketchBased AlongSketchNormal: kind: Primitive paths: .: type: BOOL value: true group: Pad FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: PadAlignmentDog group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 19.049999999999997 mm expression: Spreadsheet.AlignmentDogHeight group: Side1 Length2: kind: Primitive paths: .: type: QUANTITY value: 10.0 mm group: Side2 Midplane: kind: Primitive paths: .: type: BOOL value: false group: SketchBased Offset: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side1 Offset2: kind: Primitive paths: .: type: QUANTITY value: 0.0 mm group: Side2 Profile: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: '' group: SketchBased ReferenceAxis: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: N_Axis group: Pad Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design Reversed: kind: Primitive paths: .: type: BOOL value: false group: SketchBased SideType: kind: Primitive paths: .: type: STRING value: One side group: Pad Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base TaperAngle: kind: Primitive paths: .: type: QUANTITY value: -0.5 deg expression: Spreadsheet.AlignmentDogTaper group: Side1 TaperAngle2: kind: Primitive paths: .: type: QUANTITY value: 0.0 deg group: Side2 Type: kind: Primitive paths: .: type: STRING value: Length group: Side1 Type2: kind: Primitive paths: .: type: STRING value: Length group: Side2 UpToFace: kind: Primitive paths: .: type: 'NULL' group: Side1 UpToFace2: kind: Primitive paths: .: type: 'NULL' group: Side2 UseCustomVector: kind: Primitive paths: .: type: BOOL value: false group: Pad - name: LinearPattern id: 215 type_id: PartDesign::LinearPattern properties: Direction: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: V_Axis group: Direction 1 Direction2: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: V_Axis group: Direction 2 FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: LinearPattern group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 101.6 mm expression: Spreadsheet.Doghole_Y_Pitch group: Direction 1 Length2: kind: Primitive paths: .: type: QUANTITY value: 100.0 mm group: Direction 2 Mode: kind: Primitive paths: .: type: STRING value: Extent group: Direction 1 Mode2: kind: Primitive paths: .: type: STRING value: Extent group: Direction 2 Occurrences: kind: Primitive paths: .: type: INT value: 2 group: Direction 1 Occurrences2: kind: Primitive paths: .: type: INT value: 1 group: Direction 2 Offset: kind: Primitive paths: .: type: QUANTITY value: 101.6 mm group: Direction 1 Offset2: kind: Primitive paths: .: type: QUANTITY value: 100.0 mm group: Direction 2 Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design Reversed: kind: Primitive paths: .: type: BOOL value: false group: Direction 1 Reversed2: kind: Primitive paths: .: type: BOOL value: false group: Direction 2 Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base TransformMode: kind: Primitive paths: .: type: STRING value: Features group: Base - name: LinearPattern001 id: 216 type_id: PartDesign::LinearPattern properties: Direction: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: H_Axis group: Direction 1 Direction2: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: Sketcher.SketchObject - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: V_Axis group: Direction 2 FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: LinearPattern001 group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 101.6 mm expression: Spreadsheet.Doghole_X_Pitch group: Direction 1 Length2: kind: Primitive paths: .: type: QUANTITY value: 100.0 mm group: Direction 2 Mode: kind: Primitive paths: .: type: STRING value: Extent group: Direction 1 Mode2: kind: Primitive paths: .: type: STRING value: Extent group: Direction 2 Occurrences: kind: Primitive paths: .: type: INT value: 2 group: Direction 1 Occurrences2: kind: Primitive paths: .: type: INT value: 1 group: Direction 2 Offset: kind: Primitive paths: .: type: QUANTITY value: 101.6 mm group: Direction 1 Offset2: kind: Primitive paths: .: type: QUANTITY value: 100.0 mm group: Direction 2 Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design Reversed: kind: Primitive paths: .: type: BOOL value: false group: Direction 1 Reversed2: kind: Primitive paths: .: type: BOOL value: false group: Direction 2 Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base TransformMode: kind: Primitive paths: .: type: STRING value: Features group: Base - name: Fillet id: 217 type_id: PartDesign::Fillet properties: Base: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: PartDesign.Feature - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: Edge37 - kind: Primitive paths: .: type: STRING value: Edge43 - kind: Primitive paths: .: type: STRING value: Edge5 - kind: Primitive paths: .: type: STRING value: Edge11 - kind: Primitive paths: .: type: STRING value: ?Edge63 - kind: Primitive paths: .: type: STRING value: ?Edge65 - kind: Primitive paths: .: type: STRING value: ?Edge61 - kind: Primitive paths: .: type: STRING value: Edge45 group: Base FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: Fillet group: Base Radius: kind: Primitive paths: .: type: QUANTITY value: 1.5 mm expression: Spreadsheet.EdgeRounding group: Fillet Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design SupportTransform: kind: Primitive paths: .: type: BOOL value: false group: Base Suppressed: kind: Primitive paths: .: type: BOOL value: true group: Base UseAllEdges: kind: Primitive paths: .: type: BOOL value: false group: Fillet occurrences: - path: Body after: Spreadsheet - path: Body/Fillet after: Body/LinearPattern001 - path: Body/LinearPattern after: Body/Pad001 - path: Body/LinearPattern001 after: Body/LinearPattern - path: Body/Origin after: null - path: Body/Origin/Origin001 after: Body/Origin/YZ_Plane - path: Body/Origin/XY_Plane after: Body/Origin/Z_Axis - path: Body/Origin/XZ_Plane after: Body/Origin/XY_Plane - path: Body/Origin/X_Axis after: null - path: Body/Origin/YZ_Plane after: Body/Origin/XZ_Plane - path: Body/Origin/Y_Axis after: Body/Origin/X_Axis - path: Body/Origin/Z_Axis after: Body/Origin/Y_Axis - path: Body/Pad after: Body/Origin - path: Body/Pad/Sketch after: null - path: Body/Pad001 after: Body/Pocket001 - path: Body/Pad001/Sketch003 after: null - path: Body/Pocket after: Body/Pad - path: Body/Pocket/Sketch001 after: null - path: Body/Pocket001 after: Body/Pocket - path: Body/Pocket001/Sketch002 after: null - path: Spreadsheet after: null