v: 2 timestamp: '2026-07-29T18:11:40.502147' uid: 21e142d1-88ff-4908-a41c-0b5a6c30eded objects: - name: Spreadsheet id: 4845 type_id: Spreadsheet::Sheet properties: Label: kind: Primitive paths: .: type: STRING value: $params group: Base A1: kind: Primitive paths: .: type: STRING value: name group: Base B1: kind: Primitive paths: .: type: STRING value: value group: Base C1: kind: Primitive paths: .: type: STRING value: description group: Base E1: kind: Primitive paths: .: type: STRING value: internal name group: Base F1: kind: Primitive paths: .: type: STRING value: computed value group: Base G1: kind: Primitive paths: .: type: STRING value: description group: Base A2: kind: Primitive paths: .: type: STRING value: count_x group: Base B2: kind: Primitive paths: .: type: INT value: 2 Alias: type: STRING value: count_x group: Base C2: kind: Primitive paths: .: type: STRING value: Number of spans (left/right) on pegboard group: Base E2: kind: Primitive paths: .: type: STRING value: size_x group: Base F2: kind: Primitive paths: .: type: FLOAT value: 48.4 Alias: type: STRING value: size_x group: Base A3: kind: Primitive paths: .: type: STRING value: count_y group: Base B3: kind: Primitive paths: .: type: INT value: 2 Alias: type: STRING value: count_y group: Base C3: kind: Primitive paths: .: type: STRING value: Number of spans (up/down) on pegboard. Also number of pins on each side. group: Base E3: kind: Primitive paths: .: type: STRING value: size_y group: Base F3: kind: Primitive paths: .: type: FLOAT value: 50.599999999999994 Alias: type: STRING value: size_y group: Base A6: kind: Primitive paths: .: type: STRING value: Common Constants group: Base A7: kind: Primitive paths: .: type: STRING value: flush_height group: Base B7: kind: Primitive paths: .: type: FLOAT value: 8.7 Alias: type: STRING value: flush_height group: Base C7: kind: Primitive paths: .: type: STRING value: How far out from the pegboard is "flush" / "flat" group: Base A8: kind: Primitive paths: .: type: STRING value: single_width group: Base B8: kind: Primitive paths: .: type: INT value: 23 Alias: type: STRING value: single_width group: Base C8: kind: Primitive paths: .: type: STRING value: Width of a 1x1 piece (Left/Right on the pegboard) group: Base A13: kind: Primitive paths: .: type: STRING value: 4mmx8mmx10mm Pin Constants group: Base A14: kind: Primitive paths: .: type: STRING value: pin_nominal_length group: Base B14: kind: Primitive paths: .: type: INT value: 10 Alias: type: STRING value: pin_nominal_length group: Base C14: kind: Primitive paths: .: type: STRING value: Up/down on the pegboard group: Base E14: kind: Primitive paths: .: type: STRING value: pin_length group: Base F14: kind: Primitive paths: .: type: FLOAT value: 9.9 Alias: type: STRING value: pin_length group: Base A15: kind: Primitive paths: .: type: STRING value: pin_nominal_width group: Base B15: kind: Primitive paths: .: type: INT value: 8 Alias: type: STRING value: pin_nominal_width group: Base C15: kind: Primitive paths: .: type: STRING value: Left/Right on the pegboard group: Base E15: kind: Primitive paths: .: type: STRING value: pin_width group: Base F15: kind: Primitive paths: .: type: FLOAT value: 7.9 Alias: type: STRING value: pin_width group: Base A16: kind: Primitive paths: .: type: STRING value: pin_nominal_height group: Base B16: kind: Primitive paths: .: type: INT value: 4 Alias: type: STRING value: pin_nominal_height group: Base C16: kind: Primitive paths: .: type: STRING value: Out from the pegboard group: Base E16: kind: Primitive paths: .: type: STRING value: pin_height group: Base F16: kind: Primitive paths: .: type: FLOAT value: 3.9 Alias: type: STRING value: pin_height group: Base A17: kind: Primitive paths: .: type: STRING value: pin_clearance group: Base B17: kind: Primitive paths: .: type: FLOAT value: 0.1 Alias: type: STRING value: pin_clearance group: Base C17: kind: Primitive paths: .: type: STRING value: Difference between nominal and actual value (length, width, height) group: Base A18: kind: Primitive paths: .: type: STRING value: pin_spacing group: Base B18: kind: Primitive paths: .: type: FLOAT value: 25.4 Alias: type: STRING value: pin_spacing group: Base C18: kind: Primitive paths: .: type: STRING value: Distance between pin center points (up/down on the pegboard) group: Base A19: kind: Primitive paths: .: type: STRING value: pin_to_edge_length group: Base B19: kind: Primitive paths: .: type: FLOAT value: 7.6 Alias: type: STRING value: pin_to_edge_length group: Base C19: kind: Primitive paths: .: type: STRING value: Distance from the edge of a pin to the edge of the part (up/down on pegbaord) group: Base A24: kind: Primitive paths: .: type: INT value: 1 group: Base B24: kind: Primitive paths: .: type: INT value: 23 group: Base A25: kind: Primitive paths: .: type: INT value: 2 group: Base B25: kind: Primitive paths: .: type: FLOAT value: 48.4 group: Base C25: kind: Primitive paths: .: type: FLOAT value: 48.4 group: Base A26: kind: Primitive paths: .: type: INT value: 3 group: Base B26: kind: Primitive paths: .: type: FLOAT value: 73.8 group: Base - name: Body004 id: 4916 type_id: PartDesign::Body properties: AllowCompound: kind: Primitive paths: .: type: BOOL value: true group: Base BaseFeature: kind: Primitive paths: .: type: 'NULL' group: Base Label: kind: Primitive paths: .: type: STRING value: 4mmx8mmx10mm Pin 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: Origin006 id: 4917 type_id: App::Origin properties: Label: kind: Primitive paths: .: type: STRING value: Origin006 group: Base - name: X_Axis006 id: 4918 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: X-axis group: Base Role: kind: Primitive paths: .: type: STRING value: X_Axis group: Base - name: Y_Axis006 id: 4919 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: Y-axis group: Base Role: kind: Primitive paths: .: type: STRING value: Y_Axis group: Base - name: Z_Axis006 id: 4920 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: Z-axis group: Base Role: kind: Primitive paths: .: type: STRING value: Z_Axis group: Base - name: XY_Plane007 id: 4921 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: XY-plane group: Base Role: kind: Primitive paths: .: type: STRING value: XY_Plane group: Base - name: XZ_Plane006 id: 4922 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: XZ-plane group: Base Role: kind: Primitive paths: .: type: STRING value: XZ_Plane group: Base - name: YZ_Plane006 id: 4923 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: YZ-plane group: Base Role: kind: Primitive paths: .: type: STRING value: YZ_Plane group: Base - name: Box id: 4924 type_id: PartDesign::AdditiveBox properties: AttacherEngine: kind: Primitive paths: .: type: STRING value: Engine 3D 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 FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Height: kind: Primitive paths: .: type: QUANTITY value: 3.9 mm expression: <<$params>>.pin_height group: Box Label: kind: Primitive paths: .: type: STRING value: Box group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 9.9 mm expression: <<$params>>.pin_length group: Box MapMode: kind: Primitive paths: .: type: STRING value: FlatFace group: Attachment MapReversed: kind: Primitive paths: .: type: BOOL value: false group: Attachment Refine: kind: Primitive paths: .: type: BOOL value: false group: Part Design Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base Width: kind: Primitive paths: .: type: QUANTITY value: 7.9 mm expression: <<$params>>.pin_width group: Box - name: Chamfer001 id: 4925 type_id: PartDesign::Chamfer properties: Angle: kind: Primitive paths: .: type: QUANTITY value: 45.0 deg group: Chamfer Base: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: builtins.PrimitivePy - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: Face3 - kind: Primitive paths: .: type: STRING value: Face4 group: Base ChamferType: kind: Primitive paths: .: type: STRING value: Equal distance group: Chamfer FlipDirection: kind: Primitive paths: .: type: BOOL value: false group: Chamfer FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: Chamfer001 group: Base Refine: kind: Primitive paths: .: type: BOOL value: false group: Part Design Size: kind: Primitive paths: .: type: QUANTITY value: 0.5 mm group: Chamfer Size2: kind: Primitive paths: .: type: QUANTITY value: 1.0 mm group: Chamfer SupportTransform: kind: Primitive paths: .: type: BOOL value: false group: Base Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base UseAllEdges: kind: Primitive paths: .: type: BOOL value: false group: Chamfer - name: Box004 id: 4942 type_id: PartDesign::AdditiveBox properties: AttacherEngine: kind: Primitive paths: .: type: STRING value: Engine 3D 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 FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Height: kind: Primitive paths: .: type: QUANTITY value: 8.7 mm expression: <<$params>>.flush_height group: Box Label: kind: Primitive paths: .: type: STRING value: Solid Body001 group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 48.4 mm expression: <<$params>>.size_x group: Box MapMode: kind: Primitive paths: .: type: STRING value: FlatFace group: Attachment MapReversed: kind: Primitive paths: .: type: BOOL value: false group: Attachment Refine: kind: Primitive paths: .: type: BOOL value: false group: Part Design Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base Width: kind: Primitive paths: .: type: QUANTITY value: 50.599999999999994 mm expression: <<$params>>.size_y group: Box - name: Body006 id: 4947 type_id: PartDesign::Body properties: AllowCompound: kind: Primitive paths: .: type: BOOL value: true group: Base BaseFeature: kind: Primitive paths: .: type: 'NULL' group: Base Label: kind: Primitive paths: .: type: STRING value: Blank Centerpiece 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: Origin008 id: 4948 type_id: App::Origin properties: Label: kind: Primitive paths: .: type: STRING value: Origin008 group: Base - name: X_Axis008 id: 4949 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: X-axis007 group: Base Role: kind: Primitive paths: .: type: STRING value: X_Axis group: Base - name: Y_Axis008 id: 4950 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: Y-axis007 group: Base Role: kind: Primitive paths: .: type: STRING value: Y_Axis group: Base - name: Z_Axis008 id: 4951 type_id: App::Line properties: Label: kind: Primitive paths: .: type: STRING value: Z-axis007 group: Base Role: kind: Primitive paths: .: type: STRING value: Z_Axis group: Base - name: XY_Plane009 id: 4952 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: XY-plane007 group: Base Role: kind: Primitive paths: .: type: STRING value: XY_Plane group: Base - name: XZ_Plane008 id: 4953 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: XZ-plane007 group: Base Role: kind: Primitive paths: .: type: STRING value: XZ_Plane group: Base - name: YZ_Plane008 id: 4954 type_id: App::Plane properties: Label: kind: Primitive paths: .: type: STRING value: YZ-plane007 group: Base Role: kind: Primitive paths: .: type: STRING value: YZ_Plane group: Base - name: Clone id: 4955 type_id: PartDesign::FeatureBase properties: BaseFeature: kind: Unknown paths: .: type: STRING value: freecad_type: PartDesign.Body group: Base Label: kind: Primitive paths: .: type: STRING value: Clone of 4mmx8mmx10mm Pin group: Base Placement: kind: Placement paths: Base.x: type: QUANTITY value: 4.0 mm expression: <<$params>>.pin_nominal_width / 2 Base.y: type: QUANTITY value: 7.6 mm expression: Spreadsheet.pin_to_edge_length Base.z: type: QUANTITY value: 2.3499999999999996 mm expression: <<$params>>.flush_height / 2 - <<$params>>.pin_nominal_height / 2 Rotation.Angle: type: QUANTITY value: 90.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 Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base - name: Array001 id: 4968 type_id: Part::FeaturePython properties: ArrayType: kind: Primitive paths: .: type: STRING value: ortho group: Objects Base: kind: Unknown paths: .: type: STRING value: freecad_type: PartDesign.Feature group: Objects Count: kind: Primitive paths: .: type: INT value: 4 group: Objects Fuse: kind: Primitive paths: .: type: BOOL value: true group: Objects IntervalX: kind: Vector paths: x: type: FLOAT value: 48.4 expression: <<$params>>.size_x y: type: FLOAT value: 0.0 z: type: FLOAT value: 0.0 group: Orthogonal array IntervalY: kind: Vector paths: x: type: FLOAT value: 0.0 y: type: FLOAT value: 25.4 expression: Spreadsheet.pin_spacing z: type: FLOAT value: 0.0 group: Orthogonal array IntervalZ: kind: Vector paths: x: type: FLOAT value: 0.0 y: type: FLOAT value: 0.0 z: type: FLOAT value: 100.0 group: Orthogonal array Label: kind: Primitive paths: .: type: STRING value: Array001 group: Base NumberX: kind: Primitive paths: .: type: INT value: 2 group: Orthogonal array NumberY: kind: Primitive paths: .: type: INT value: 2 expression: <<$params>>.count_y group: Orthogonal array NumberZ: kind: Primitive paths: .: type: INT value: 1 group: Orthogonal array 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 Proxy: kind: Unknown paths: .: type: STRING value: freecad_type: draftobjects.array.Array group: Base - name: Boolean001 id: 4969 type_id: PartDesign::Boolean properties: FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: Boolean001 group: Base Refine: kind: Primitive paths: .: type: BOOL value: true group: Part Design Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base Type: kind: Primitive paths: .: type: STRING value: Fuse group: Base - name: Box005 id: 4970 type_id: PartDesign::SubtractiveBox properties: AttacherEngine: kind: Primitive paths: .: type: STRING value: Engine 3D 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 FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Height: kind: Primitive paths: .: type: QUANTITY value: 2.3499999999999996 mm expression: <<$params>>.flush_height / 2 - <<$params>>.pin_nominal_height / 2 group: Box Label: kind: Primitive paths: .: type: STRING value: Box005 group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 48.4 mm expression: <<$params>>.size_x group: Box MapMode: kind: Primitive paths: .: type: STRING value: ObjectXY group: Attachment MapReversed: kind: Primitive paths: .: type: BOOL value: false group: Attachment Refine: kind: Primitive paths: .: type: BOOL value: false group: Part Design Suppressed: kind: Primitive paths: .: type: BOOL value: false group: Base Width: kind: Primitive paths: .: type: QUANTITY value: 50.599999999999994 mm expression: <<$params>>.size_y group: Box - name: Origin009 id: 4972 type_id: App::Point properties: Label: kind: Primitive paths: .: type: STRING value: Origin group: Base - name: Origin010 id: 4973 type_id: App::Point properties: Label: kind: Primitive paths: .: type: STRING value: Origin group: Base - name: Sketch id: 4974 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: 1 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 1 FirstPos: type: INT value: 1 Second: type: INT value: 0 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: 120.00000000000001 deg Rotation.Axis.x: type: FLOAT value: 0.5773502691896257 Rotation.Axis.y: type: FLOAT value: -0.5773502691896257 Rotation.Axis.z: type: FLOAT value: -0.5773502691896257 group: Base - name: Pad id: 4975 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: Pad group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 10.0 mm 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: true 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: UpToFace group: Side1 Type2: kind: Primitive paths: .: type: STRING value: Length group: Side2 UpToFace: kind: List paths: {} items: - kind: Unknown paths: .: type: STRING value: freecad_type: builtins.PrimitivePy - kind: List paths: {} items: - kind: Primitive paths: .: type: STRING value: Face12 group: Side1 UpToFace2: kind: Primitive paths: .: type: 'NULL' group: Side2 UseCustomVector: kind: Primitive paths: .: type: BOOL value: false group: Pad - name: Sketch001 id: 4976 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: 39.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: DistanceX Value: type: FLOAT value: 24.2 First: type: INT value: -1 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: <<$params>>.size_x / 2 - 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: 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: Horizontal 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: Horizontal 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: Vertical 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: 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: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 1 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 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: 0.0 mm Base.z: type: QUANTITY value: 2.3500000000000005 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: Pocket id: 4977 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: Pocket 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 occurrences: - path: Body004 after: Spreadsheet - path: Body004/Box after: Body004/Origin006 - path: Body004/Chamfer001 after: Body004/Box - path: Body004/Origin006 after: null - path: Body004/Origin006/Origin009 after: Body004/Origin006/YZ_Plane006 - path: Body004/Origin006/XY_Plane007 after: Body004/Origin006/Z_Axis006 - path: Body004/Origin006/XZ_Plane006 after: Body004/Origin006/XY_Plane007 - path: Body004/Origin006/X_Axis006 after: null - path: Body004/Origin006/YZ_Plane006 after: Body004/Origin006/XZ_Plane006 - path: Body004/Origin006/Y_Axis006 after: Body004/Origin006/X_Axis006 - path: Body004/Origin006/Z_Axis006 after: Body004/Origin006/Y_Axis006 - path: Body006 after: Body004 - path: Body006/Boolean001 after: Body006/Box004 - path: Body006/Boolean001/Array001 after: null - path: Body006/Boolean001/Array001/Clone after: null - path: Body006/Box004 after: Body006/Origin008 - path: Body006/Box005 after: Body006/Boolean001 - path: Body006/Origin008 after: null - path: Body006/Origin008/Origin010 after: Body006/Origin008/YZ_Plane008 - path: Body006/Origin008/XY_Plane009 after: Body006/Origin008/Z_Axis008 - path: Body006/Origin008/XZ_Plane008 after: Body006/Origin008/XY_Plane009 - path: Body006/Origin008/X_Axis008 after: null - path: Body006/Origin008/YZ_Plane008 after: Body006/Origin008/XZ_Plane008 - path: Body006/Origin008/Y_Axis008 after: Body006/Origin008/X_Axis008 - path: Body006/Origin008/Z_Axis008 after: Body006/Origin008/Y_Axis008 - path: Body006/Pad after: Body006/Box005 - path: Body006/Pad/Sketch after: null - path: Body006/Pocket after: Body006/Pad - path: Body006/Pocket/Sketch001 after: null - path: Spreadsheet after: null