v: 2 timestamp: '2026-07-29T18:11:41.572875' uid: 946dc149-8371-4eec-a62e-35287c4734af objects: - name: Body id: 158 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: Heavy 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: 159 type_id: App::Origin properties: Label: kind: Primitive paths: .: type: STRING value: Origin group: Base - name: X_Axis id: 160 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_Axis id: 161 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_Axis id: 162 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_Plane id: 163 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_Plane id: 164 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_Plane id: 165 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: Sketch id: 166 type_id: Sketcher::SketchObject properties: ArcFitTolerance: kind: Primitive paths: .: type: FLOAT value: 0.0 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: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 0 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: 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: 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 - 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: 2 FirstPos: type: INT value: 1 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: 2 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: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 3 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: DistanceY Value: type: FLOAT value: 5.15 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 - 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 1 Second: type: INT value: 3 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: 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: 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: 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: 6 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 - kind: Constraint paths: Type: type: STRING value: Vertical 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: 7 FirstPos: type: INT value: 1 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: 7 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 - 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: 8 FirstPos: type: INT value: 1 Second: type: INT value: 7 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: PointOnObject Value: type: FLOAT value: 0.0 First: type: INT value: 8 FirstPos: type: INT value: 2 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: Horizontal Value: type: FLOAT value: 0.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 - kind: Constraint paths: Type: type: STRING value: Coincident 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: 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: 9 FirstPos: type: INT value: 2 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: DistanceX Value: type: FLOAT value: 3.0 First: type: INT value: 0 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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 10 FirstPos: type: INT value: 1 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: 10 FirstPos: type: INT value: 2 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: Horizontal Value: type: FLOAT value: 0.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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 11 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 11 FirstPos: type: INT value: 2 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 12 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 12 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: DistanceY Value: type: FLOAT value: 6.6 First: type: INT value: 9 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: DistanceY Value: type: FLOAT value: 10.0 First: type: INT value: 11 FirstPos: type: INT value: 2 Second: type: INT value: 11 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: DistanceY Value: type: FLOAT value: 11.75 First: type: INT value: 12 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: DistanceY Value: type: FLOAT value: 5.75 First: type: INT value: 5 FirstPos: type: INT value: 1 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: 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 - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 13 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: 14 FirstPos: type: INT value: 1 Second: type: INT value: 13 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: Vertical Value: type: FLOAT value: 0.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 - kind: Constraint paths: Type: type: STRING value: DistanceY Value: type: FLOAT value: 5.8 First: type: INT value: 1 FirstPos: type: INT value: 2 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 - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 1.4 First: type: INT value: 13 FirstPos: type: INT value: 1 Second: type: INT value: 13 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: 3.0 First: type: INT value: 14 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: Coincident 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: 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: Vertical Value: type: FLOAT value: 0.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 - 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: 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: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 17 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: 18 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: 19 FirstPos: type: INT value: 1 Second: type: INT value: 15 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: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 19 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: 20 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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 20 FirstPos: type: INT value: 2 Second: type: INT value: 19 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: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 20 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: 2.9 First: type: INT value: 20 FirstPos: type: INT value: 1 Second: type: INT value: 20 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: Weight Value: type: FLOAT value: 1.0 First: type: INT value: 21 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: 25 FirstPos: type: INT value: 1 Second: type: INT value: 15 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: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 21 FirstPos: type: INT value: 0 Second: type: INT value: 22 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: 21 FirstPos: type: INT value: 0 Second: type: INT value: 23 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: 21 FirstPos: type: INT value: 0 Second: type: INT value: 24 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: 25 FirstPos: type: INT value: 2 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 21 FirstPos: type: INT value: 3 Second: type: INT value: 25 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 22 FirstPos: type: INT value: 3 Second: type: INT value: 25 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 23 FirstPos: type: INT value: 3 Second: type: INT value: 25 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 24 FirstPos: type: INT value: 3 Second: type: INT value: 25 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 26 FirstPos: type: INT value: 1 Second: type: INT value: 25 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 27 FirstPos: type: INT value: 1 Second: type: INT value: 25 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: 28 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 28 FirstPos: type: INT value: 2 Second: type: INT value: 23 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 - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 28 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: Weight Value: type: FLOAT value: 1.0 First: type: INT value: 30 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: 33 FirstPos: type: INT value: 1 Second: type: INT value: 17 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: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 30 FirstPos: type: INT value: 0 Second: type: INT value: 31 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: 30 FirstPos: type: INT value: 0 Second: type: INT value: 32 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: 33 FirstPos: type: INT value: 2 Second: type: INT value: 18 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 30 FirstPos: type: INT value: 3 Second: type: INT value: 33 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 31 FirstPos: type: INT value: 3 Second: type: INT value: 33 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 32 FirstPos: type: INT value: 3 Second: type: INT value: 33 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 34 FirstPos: type: INT value: 1 Second: type: INT value: 33 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 35 FirstPos: type: INT value: 1 Second: type: INT value: 33 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: Weight Value: type: FLOAT value: 1.0 First: type: INT value: 36 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: 39 FirstPos: type: INT value: 1 Second: type: INT value: 18 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: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 36 FirstPos: type: INT value: 0 Second: type: INT value: 37 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: 36 FirstPos: type: INT value: 0 Second: type: INT value: 38 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: 39 FirstPos: type: INT value: 2 Second: type: INT value: 29 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 36 FirstPos: type: INT value: 3 Second: type: INT value: 39 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 37 FirstPos: type: INT value: 3 Second: type: INT value: 39 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 38 FirstPos: type: INT value: 3 Second: type: INT value: 39 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 40 FirstPos: type: INT value: 1 Second: type: INT value: 39 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 41 FirstPos: type: INT value: 1 Second: type: INT value: 39 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: 42 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: Weight Value: type: FLOAT value: 1.0 First: type: INT value: 43 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: 46 FirstPos: type: INT value: 1 Second: type: INT value: 42 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: Equal Value: type: FLOAT value: 0.0 First: type: INT value: 43 FirstPos: type: INT value: 0 Second: type: INT value: 44 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: 43 FirstPos: type: INT value: 0 Second: type: INT value: 45 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: 46 FirstPos: type: INT value: 2 Second: type: INT value: 29 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 43 FirstPos: type: INT value: 3 Second: type: INT value: 46 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 44 FirstPos: type: INT value: 3 Second: type: INT value: 46 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 45 FirstPos: type: INT value: 3 Second: type: INT value: 46 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 47 FirstPos: type: INT value: 1 Second: type: INT value: 46 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: InternalAlignment Value: type: FLOAT value: 0.0 First: type: INT value: 48 FirstPos: type: INT value: 1 Second: type: INT value: 46 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: 49 FirstPos: type: INT value: 1 Second: type: INT value: 29 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: 49 FirstPos: type: INT value: 2 Second: type: INT value: 44 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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 50 FirstPos: type: INT value: 1 Second: type: INT value: 44 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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 50 FirstPos: type: INT value: 2 Second: type: INT value: 42 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: Parallel Value: type: FLOAT value: 0.0 First: type: INT value: 50 FirstPos: type: INT value: 0 Second: type: INT value: 42 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: Parallel Value: type: FLOAT value: 0.0 First: type: INT value: 49 FirstPos: type: INT value: 0 Second: type: INT value: 29 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: Angle Value: type: FLOAT value: 1.0637781790905438 First: type: INT value: 42 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: Distance Value: type: FLOAT value: 1.62 First: type: INT value: 42 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: 51 FirstPos: type: INT value: 1 Second: type: INT value: 29 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: 51 FirstPos: type: INT value: 2 Second: type: INT value: 37 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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 52 FirstPos: type: INT value: 1 Second: type: INT value: 18 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: 52 FirstPos: type: INT value: 2 Second: type: INT value: 37 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 - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 52 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: Parallel Value: type: FLOAT value: 0.0 First: type: INT value: 51 FirstPos: type: INT value: 0 Second: type: INT value: 29 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: 53 FirstPos: type: INT value: 1 Second: type: INT value: 17 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: 53 FirstPos: type: INT value: 2 Second: type: INT value: 31 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 - kind: Constraint paths: Type: type: STRING value: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 53 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: 54 FirstPos: type: INT value: 1 Second: type: INT value: 18 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: 54 FirstPos: type: INT value: 2 Second: type: INT value: 31 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 - kind: Constraint paths: Type: type: STRING value: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 54 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: DistanceY Value: type: FLOAT value: 2.1 First: type: INT value: 16 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: DistanceX Value: type: FLOAT value: 4.5 First: type: INT value: 17 FirstPos: type: INT value: 1 Second: type: INT value: 17 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: 4.05 First: type: INT value: 17 FirstPos: type: INT value: 2 Second: type: INT value: 31 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 - kind: Constraint paths: Type: type: STRING value: DistanceX Value: type: FLOAT value: 1.45 First: type: INT value: 0 FirstPos: type: INT value: 2 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: DistanceY Value: type: FLOAT value: 0.37 First: type: INT value: 19 FirstPos: type: INT value: 2 Second: type: INT value: 19 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: 54 FirstPos: type: INT value: 0 Second: type: INT value: 53 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: DistanceY Value: type: FLOAT value: 2.3 First: type: INT value: 0 FirstPos: type: INT value: 2 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: Diameter Value: type: FLOAT value: 21.99 First: type: INT value: 15 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: DistanceY Value: type: FLOAT value: 9.2 First: type: INT value: 18 FirstPos: type: INT value: 2 Second: type: INT value: 18 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: Distance Value: type: FLOAT value: 12.5 First: type: INT value: 29 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: 55 FirstPos: type: INT value: 1 Second: type: INT value: 13 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: Vertical Value: type: FLOAT value: 0.0 First: type: INT value: 55 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: 56 FirstPos: type: INT value: 1 Second: type: INT value: 55 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: 56 FirstPos: type: INT value: 2 Second: type: INT value: 29 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: Horizontal Value: type: FLOAT value: 0.0 First: type: INT value: 56 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: 4.32 First: type: INT value: 56 FirstPos: type: INT value: 1 Second: type: INT value: 56 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: 1.34 First: type: INT value: 55 FirstPos: type: INT value: 1 Second: type: INT value: 55 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: Angle Value: type: FLOAT value: 1.8706438922875224 First: type: INT value: 29 FirstPos: type: INT value: 2 Second: type: INT value: 56 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: Heavy Clip Base Pad 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: 168 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: Heavy Clip Base Pad group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 2.2 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: [] 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: false 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: 169 type_id: Sketcher::SketchObject properties: ArcFitTolerance: kind: Primitive paths: .: type: FLOAT value: 0.0 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: 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: 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: 0 FirstPos: type: INT value: 1 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: 1 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: 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: 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: 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 1 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: 5 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 group: Sketch Label: kind: Primitive paths: .: type: STRING value: Heavy Clip Top Pad 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: 2.2 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: Pad001 id: 170 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: Heavy Clip Top Pad group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 6.9 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: [] 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: false 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: Fillet id: 171 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: Edge84 - kind: Primitive paths: .: type: STRING value: Edge81 group: Base FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: Heavy Clip Top Pad Fillet group: Base Radius: kind: Primitive paths: .: type: QUANTITY value: 2.2 mm group: Fillet Refine: kind: Primitive paths: .: type: BOOL value: false group: Part Design 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: Fillet - name: Sketch002 id: 172 type_id: Sketcher::SketchObject properties: ArcFitTolerance: kind: Primitive paths: .: type: FLOAT value: 0.0 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: 1 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: 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: 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 - 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: 2 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 - 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: -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: DistanceX Value: type: FLOAT value: 20.4 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: <<$params>>.ext_length - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 3 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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 4 FirstPos: type: INT value: 1 Second: type: INT value: 3 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: 4 FirstPos: type: INT value: 2 Second: type: INT value: 3 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 - 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: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 5 FirstPos: type: INT value: 1 Second: type: INT value: 3 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 - 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: 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: Horizontal 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: DistanceX Value: type: FLOAT value: 5.0 First: type: INT value: 3 FirstPos: type: INT value: 2 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 .: type: 'NULL' expression: <<$params>>.ext_hang_diam - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 6 FirstPos: type: INT value: 1 Second: type: INT value: 3 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: Vertical 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: 7 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 - kind: Constraint paths: Type: type: STRING value: Parallel Value: type: FLOAT value: 0.0 First: type: INT value: 2 FirstPos: type: INT value: 0 Second: type: INT value: 7 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: 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: 7.5 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 - kind: Constraint paths: Type: type: STRING value: Coincident Value: type: FLOAT value: 0.0 First: type: INT value: 8 FirstPos: type: INT value: 1 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: 8 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 group: Sketch Label: kind: Primitive paths: .: type: STRING value: Clip Ext Pad 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: Pad002 id: 174 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: Heavy Clip Ext Pad group: Base Length: kind: Primitive paths: .: type: QUANTITY value: 3.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: [] 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: Fillet001 id: 175 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: Edge23 group: Base FuzzyTolerance: kind: Primitive paths: .: type: FLOAT value: -1.0 group: Part Design Label: kind: Primitive paths: .: type: STRING value: Heavy Clip Ext Pad Fillet group: Base Radius: kind: Primitive paths: .: type: QUANTITY value: 6.0 mm group: Fillet Refine: kind: Primitive paths: .: type: BOOL value: false group: Part Design 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: Fillet - name: Spreadsheet id: 252 type_id: Spreadsheet::Sheet properties: Label: kind: Primitive paths: .: type: STRING value: $params group: Base A1: kind: Primitive paths: .: type: STRING value: label group: Base B1: kind: Primitive paths: .: type: STRING value: value group: Base C1: kind: Primitive paths: .: type: STRING value: description group: Base A2: kind: Primitive paths: .: type: STRING value: ext_length group: Base B2: kind: Primitive paths: .: type: FLOAT value: 20.4 Alias: type: STRING value: ext_length group: Base C2: kind: Primitive paths: .: type: STRING value: How far each quickhook should extend from it's base (in mm) group: Base A3: kind: Primitive paths: .: type: STRING value: ext_hang_diam group: Base B3: kind: Primitive paths: .: type: INT value: 5 Alias: type: STRING value: ext_hang_diam group: Base C3: kind: Primitive paths: .: type: STRING value: The diameter of the quickhook hanging extrusion (in mm) group: Base - name: Origin004 id: 253 type_id: App::Point properties: Label: kind: Primitive paths: .: type: STRING value: Origin group: Base occurrences: - path: Body after: null - path: Body/Fillet after: Body/Pad001 - path: Body/Fillet001 after: Body/Pad002 - path: Body/Origin after: null - path: Body/Origin/Origin004 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/Pad - path: Body/Pad001/Sketch001 after: null - path: Body/Pad002 after: Body/Fillet - path: Body/Pad002/Sketch002 after: null - path: Spreadsheet after: Body