@tscircuit/footprinter 0.0.128 → 0.0.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -37,6 +37,7 @@ __export(fn_exports, {
37
37
  sod123: () => sod123,
38
38
  sod123f: () => sod123f,
39
39
  sod128: () => sod128,
40
+ sod323: () => sod323,
40
41
  sod323f: () => sod323f,
41
42
  sod523: () => sod523,
42
43
  sod723: () => sod723,
@@ -2791,23 +2792,23 @@ var sop8 = (raw_params) => {
2791
2792
  };
2792
2793
  };
2793
2794
 
2794
- // src/fn/sod923.ts
2795
+ // src/fn/sod323.ts
2795
2796
  import { z as z24 } from "zod";
2796
2797
  import { length as length17 } from "circuit-json";
2797
2798
  var sod_def3 = z24.object({
2798
2799
  fn: z24.string(),
2799
2800
  num_pins: z24.literal(2).default(2),
2800
- w: z24.string().default("1.4mm"),
2801
- h: z24.string().default("0.9mm"),
2802
- pl: z24.string().default("0.35mm"),
2803
- pw: z24.string().default("0.25mm"),
2804
- p: z24.string().default("1.2mm")
2801
+ w: z24.string().default("3.30mm"),
2802
+ h: z24.string().default("1.80mm"),
2803
+ pl: z24.string().default("0.60mm"),
2804
+ pw: z24.string().default("0.45mm"),
2805
+ p: z24.string().default("2.1mm")
2805
2806
  });
2806
- var sod923 = (raw_params) => {
2807
+ var sod323 = (raw_params) => {
2807
2808
  const parameters = sod_def3.parse(raw_params);
2808
2809
  const silkscreenRefText = silkscreenRef(
2809
2810
  0,
2810
- length17.parse(parameters.h),
2811
+ length17.parse(parameters.h) - 0.5,
2811
2812
  0.3
2812
2813
  );
2813
2814
  const silkscreenLine = {
@@ -2816,19 +2817,19 @@ var sod923 = (raw_params) => {
2816
2817
  pcb_component_id: "",
2817
2818
  route: [
2818
2819
  {
2819
- x: length17.parse(parameters.p) / 2 + 0.15,
2820
+ x: length17.parse(parameters.p) / 2,
2820
2821
  y: length17.parse(parameters.h) / 2
2821
2822
  },
2822
2823
  {
2823
- x: -length17.parse(parameters.w) / 2 - 0.4,
2824
+ x: -length17.parse(parameters.w) / 2,
2824
2825
  y: length17.parse(parameters.h) / 2
2825
2826
  },
2826
2827
  {
2827
- x: -length17.parse(parameters.w) / 2 - 0.4,
2828
+ x: -length17.parse(parameters.w) / 2,
2828
2829
  y: -length17.parse(parameters.h) / 2
2829
2830
  },
2830
2831
  {
2831
- x: length17.parse(parameters.p) / 2 + 0.15,
2832
+ x: length17.parse(parameters.p) / 2,
2832
2833
  y: -length17.parse(parameters.h) / 2
2833
2834
  }
2834
2835
  ],
@@ -2847,9 +2848,8 @@ var getSodCoords3 = (parameters) => {
2847
2848
  const { pn, p } = parameters;
2848
2849
  if (pn === 1) {
2849
2850
  return { x: -p / 2, y: 0 };
2850
- } else {
2851
- return { x: p / 2, y: 0 };
2852
2851
  }
2852
+ return { x: p / 2, y: 0 };
2853
2853
  };
2854
2854
  var sodWithoutParsing3 = (parameters) => {
2855
2855
  const pads = [];
@@ -2871,23 +2871,23 @@ var sodWithoutParsing3 = (parameters) => {
2871
2871
  return pads;
2872
2872
  };
2873
2873
 
2874
- // src/fn/sod882.ts
2874
+ // src/fn/sod923.ts
2875
2875
  import { z as z25 } from "zod";
2876
2876
  import { length as length18 } from "circuit-json";
2877
2877
  var sod_def4 = z25.object({
2878
2878
  fn: z25.string(),
2879
2879
  num_pins: z25.literal(2).default(2),
2880
- w: z25.string().default("1.3mm"),
2880
+ w: z25.string().default("1.4mm"),
2881
2881
  h: z25.string().default("0.9mm"),
2882
- pl: z25.string().default("0.4mm"),
2883
- pw: z25.string().default("0.7mm"),
2884
- p: z25.string().default("0.7mm")
2882
+ pl: z25.string().default("0.35mm"),
2883
+ pw: z25.string().default("0.25mm"),
2884
+ p: z25.string().default("1.2mm")
2885
2885
  });
2886
- var sod882 = (raw_params) => {
2886
+ var sod923 = (raw_params) => {
2887
2887
  const parameters = sod_def4.parse(raw_params);
2888
2888
  const silkscreenRefText = silkscreenRef(
2889
2889
  0,
2890
- length18.parse(parameters.h) + 0.1,
2890
+ length18.parse(parameters.h),
2891
2891
  0.3
2892
2892
  );
2893
2893
  const silkscreenLine = {
@@ -2896,20 +2896,20 @@ var sod882 = (raw_params) => {
2896
2896
  pcb_component_id: "",
2897
2897
  route: [
2898
2898
  {
2899
- x: length18.parse(parameters.p) / 2 + 0.2,
2900
- y: length18.parse(parameters.h) / 2 + 0.2
2899
+ x: length18.parse(parameters.p) / 2 + 0.15,
2900
+ y: length18.parse(parameters.h) / 2
2901
2901
  },
2902
2902
  {
2903
- x: -length18.parse(parameters.w) / 2 - 0.2,
2904
- y: length18.parse(parameters.h) / 2 + 0.2
2903
+ x: -length18.parse(parameters.w) / 2 - 0.4,
2904
+ y: length18.parse(parameters.h) / 2
2905
2905
  },
2906
2906
  {
2907
- x: -length18.parse(parameters.w) / 2 - 0.2,
2908
- y: -length18.parse(parameters.h) / 2 - 0.2
2907
+ x: -length18.parse(parameters.w) / 2 - 0.4,
2908
+ y: -length18.parse(parameters.h) / 2
2909
2909
  },
2910
2910
  {
2911
- x: length18.parse(parameters.p) / 2 + 0.2,
2912
- y: -length18.parse(parameters.h) / 2 - 0.2
2911
+ x: length18.parse(parameters.p) / 2 + 0.15,
2912
+ y: -length18.parse(parameters.h) / 2
2913
2913
  }
2914
2914
  ],
2915
2915
  stroke_width: 0.1,
@@ -2951,23 +2951,23 @@ var sodWithoutParsing4 = (parameters) => {
2951
2951
  return pads;
2952
2952
  };
2953
2953
 
2954
- // src/fn/sod323f.ts
2954
+ // src/fn/sod882.ts
2955
2955
  import { z as z26 } from "zod";
2956
2956
  import { length as length19 } from "circuit-json";
2957
2957
  var sod_def5 = z26.object({
2958
2958
  fn: z26.string(),
2959
2959
  num_pins: z26.literal(2).default(2),
2960
- w: z26.string().default("3,05mm"),
2961
- h: z26.string().default("1.65mm"),
2962
- pl: z26.string().default("0.6mm"),
2963
- pw: z26.string().default("0.6mm"),
2964
- pad_spacing: z26.string().default("2.2mm")
2960
+ w: z26.string().default("1.3mm"),
2961
+ h: z26.string().default("0.9mm"),
2962
+ pl: z26.string().default("0.4mm"),
2963
+ pw: z26.string().default("0.7mm"),
2964
+ p: z26.string().default("0.7mm")
2965
2965
  });
2966
- var sod323f = (raw_params) => {
2966
+ var sod882 = (raw_params) => {
2967
2967
  const parameters = sod_def5.parse(raw_params);
2968
2968
  const silkscreenRefText = silkscreenRef(
2969
2969
  0,
2970
- length19.parse(parameters.h),
2970
+ length19.parse(parameters.h) + 0.1,
2971
2971
  0.3
2972
2972
  );
2973
2973
  const silkscreenLine = {
@@ -2976,20 +2976,20 @@ var sod323f = (raw_params) => {
2976
2976
  pcb_component_id: "",
2977
2977
  route: [
2978
2978
  {
2979
- x: length19.parse(parameters.pad_spacing) / 2,
2980
- y: length19.parse(parameters.h) / 2
2979
+ x: length19.parse(parameters.p) / 2 + 0.2,
2980
+ y: length19.parse(parameters.h) / 2 + 0.2
2981
2981
  },
2982
2982
  {
2983
2983
  x: -length19.parse(parameters.w) / 2 - 0.2,
2984
- y: length19.parse(parameters.h) / 2
2984
+ y: length19.parse(parameters.h) / 2 + 0.2
2985
2985
  },
2986
2986
  {
2987
2987
  x: -length19.parse(parameters.w) / 2 - 0.2,
2988
- y: -length19.parse(parameters.h) / 2
2988
+ y: -length19.parse(parameters.h) / 2 - 0.2
2989
2989
  },
2990
2990
  {
2991
- x: length19.parse(parameters.pad_spacing) / 2,
2992
- y: -length19.parse(parameters.h) / 2
2991
+ x: length19.parse(parameters.p) / 2 + 0.2,
2992
+ y: -length19.parse(parameters.h) / 2 - 0.2
2993
2993
  }
2994
2994
  ],
2995
2995
  stroke_width: 0.1,
@@ -3004,11 +3004,11 @@ var sod323f = (raw_params) => {
3004
3004
  };
3005
3005
  };
3006
3006
  var getSodCoords5 = (parameters) => {
3007
- const { pn, pad_spacing } = parameters;
3007
+ const { pn, p } = parameters;
3008
3008
  if (pn === 1) {
3009
- return { x: -pad_spacing / 2, y: 0 };
3009
+ return { x: -p / 2, y: 0 };
3010
3010
  } else {
3011
- return { x: pad_spacing / 2, y: 0 };
3011
+ return { x: p / 2, y: 0 };
3012
3012
  }
3013
3013
  };
3014
3014
  var sodWithoutParsing5 = (parameters) => {
@@ -3016,7 +3016,7 @@ var sodWithoutParsing5 = (parameters) => {
3016
3016
  for (let i = 1; i <= parameters.num_pins; i++) {
3017
3017
  const { x, y } = getSodCoords5({
3018
3018
  pn: i,
3019
- pad_spacing: Number.parseFloat(parameters.pad_spacing)
3019
+ p: Number.parseFloat(parameters.p)
3020
3020
  });
3021
3021
  pads.push(
3022
3022
  rectpad(
@@ -3031,19 +3031,19 @@ var sodWithoutParsing5 = (parameters) => {
3031
3031
  return pads;
3032
3032
  };
3033
3033
 
3034
- // src/fn/sod123f.ts
3034
+ // src/fn/sod323f.ts
3035
3035
  import { z as z27 } from "zod";
3036
3036
  import { length as length20 } from "circuit-json";
3037
3037
  var sod_def6 = z27.object({
3038
3038
  fn: z27.string(),
3039
3039
  num_pins: z27.literal(2).default(2),
3040
- w: z27.string().default("4.4mm"),
3041
- h: z27.string().default("2.1mm"),
3042
- pl: z27.string().default("1.2mm"),
3043
- pw: z27.string().default("1.2mm"),
3044
- p: z27.string().default("2.9mm")
3040
+ w: z27.string().default("3,05mm"),
3041
+ h: z27.string().default("1.65mm"),
3042
+ pl: z27.string().default("0.6mm"),
3043
+ pw: z27.string().default("0.6mm"),
3044
+ pad_spacing: z27.string().default("2.2mm")
3045
3045
  });
3046
- var sod123f = (raw_params) => {
3046
+ var sod323f = (raw_params) => {
3047
3047
  const parameters = sod_def6.parse(raw_params);
3048
3048
  const silkscreenRefText = silkscreenRef(
3049
3049
  0,
@@ -3056,7 +3056,7 @@ var sod123f = (raw_params) => {
3056
3056
  pcb_component_id: "",
3057
3057
  route: [
3058
3058
  {
3059
- x: length20.parse(parameters.p) / 2,
3059
+ x: length20.parse(parameters.pad_spacing) / 2,
3060
3060
  y: length20.parse(parameters.h) / 2
3061
3061
  },
3062
3062
  {
@@ -3068,7 +3068,7 @@ var sod123f = (raw_params) => {
3068
3068
  y: -length20.parse(parameters.h) / 2
3069
3069
  },
3070
3070
  {
3071
- x: length20.parse(parameters.p) / 2,
3071
+ x: length20.parse(parameters.pad_spacing) / 2,
3072
3072
  y: -length20.parse(parameters.h) / 2
3073
3073
  }
3074
3074
  ],
@@ -3084,11 +3084,11 @@ var sod123f = (raw_params) => {
3084
3084
  };
3085
3085
  };
3086
3086
  var getSodCoords6 = (parameters) => {
3087
- const { pn, p } = parameters;
3087
+ const { pn, pad_spacing } = parameters;
3088
3088
  if (pn === 1) {
3089
- return { x: -p / 2, y: 0 };
3089
+ return { x: -pad_spacing / 2, y: 0 };
3090
3090
  } else {
3091
- return { x: p / 2, y: 0 };
3091
+ return { x: pad_spacing / 2, y: 0 };
3092
3092
  }
3093
3093
  };
3094
3094
  var sodWithoutParsing6 = (parameters) => {
@@ -3096,7 +3096,7 @@ var sodWithoutParsing6 = (parameters) => {
3096
3096
  for (let i = 1; i <= parameters.num_pins; i++) {
3097
3097
  const { x, y } = getSodCoords6({
3098
3098
  pn: i,
3099
- p: Number.parseFloat(parameters.p)
3099
+ pad_spacing: Number.parseFloat(parameters.pad_spacing)
3100
3100
  });
3101
3101
  pads.push(
3102
3102
  rectpad(
@@ -3111,19 +3111,19 @@ var sodWithoutParsing6 = (parameters) => {
3111
3111
  return pads;
3112
3112
  };
3113
3113
 
3114
- // src/fn/sod723.ts
3114
+ // src/fn/sod123f.ts
3115
3115
  import { z as z28 } from "zod";
3116
3116
  import { length as length21 } from "circuit-json";
3117
3117
  var sod_def7 = z28.object({
3118
3118
  fn: z28.string(),
3119
3119
  num_pins: z28.literal(2).default(2),
3120
- w: z28.string().default("1.80mm"),
3121
- h: z28.string().default("1.00mm"),
3122
- pl: z28.string().default("0.66mm"),
3123
- pw: z28.string().default("0.5mm"),
3124
- p: z28.string().default("0.8mm")
3120
+ w: z28.string().default("4.4mm"),
3121
+ h: z28.string().default("2.1mm"),
3122
+ pl: z28.string().default("1.2mm"),
3123
+ pw: z28.string().default("1.2mm"),
3124
+ p: z28.string().default("2.9mm")
3125
3125
  });
3126
- var sod723 = (raw_params) => {
3126
+ var sod123f = (raw_params) => {
3127
3127
  const parameters = sod_def7.parse(raw_params);
3128
3128
  const silkscreenRefText = silkscreenRef(
3129
3129
  0,
@@ -3140,11 +3140,11 @@ var sod723 = (raw_params) => {
3140
3140
  y: length21.parse(parameters.h) / 2
3141
3141
  },
3142
3142
  {
3143
- x: -length21.parse(parameters.w) / 2 - 0.1,
3143
+ x: -length21.parse(parameters.w) / 2 - 0.2,
3144
3144
  y: length21.parse(parameters.h) / 2
3145
3145
  },
3146
3146
  {
3147
- x: -length21.parse(parameters.w) / 2 - 0.1,
3147
+ x: -length21.parse(parameters.w) / 2 - 0.2,
3148
3148
  y: -length21.parse(parameters.h) / 2
3149
3149
  },
3150
3150
  {
@@ -3191,23 +3191,23 @@ var sodWithoutParsing7 = (parameters) => {
3191
3191
  return pads;
3192
3192
  };
3193
3193
 
3194
- // src/fn/sod128.ts
3194
+ // src/fn/sod723.ts
3195
3195
  import { z as z29 } from "zod";
3196
3196
  import { length as length22 } from "circuit-json";
3197
3197
  var sod_def8 = z29.object({
3198
3198
  fn: z29.string(),
3199
3199
  num_pins: z29.literal(2).default(2),
3200
- w: z29.string().default("6.2mm"),
3201
- h: z29.string().default("3.4mm"),
3202
- pl: z29.string().default("1.4mm"),
3203
- pw: z29.string().default("2.1mm"),
3204
- p: z29.string().default("4.4mm")
3200
+ w: z29.string().default("1.80mm"),
3201
+ h: z29.string().default("1.00mm"),
3202
+ pl: z29.string().default("0.66mm"),
3203
+ pw: z29.string().default("0.5mm"),
3204
+ p: z29.string().default("0.8mm")
3205
3205
  });
3206
- var sod128 = (raw_params) => {
3206
+ var sod723 = (raw_params) => {
3207
3207
  const parameters = sod_def8.parse(raw_params);
3208
3208
  const silkscreenRefText = silkscreenRef(
3209
3209
  0,
3210
- length22.parse(parameters.h) / 2 + 0.4,
3210
+ length22.parse(parameters.h),
3211
3211
  0.3
3212
3212
  );
3213
3213
  const silkscreenLine = {
@@ -3220,11 +3220,11 @@ var sod128 = (raw_params) => {
3220
3220
  y: length22.parse(parameters.h) / 2
3221
3221
  },
3222
3222
  {
3223
- x: -length22.parse(parameters.w) / 2 - 0.2,
3223
+ x: -length22.parse(parameters.w) / 2 - 0.1,
3224
3224
  y: length22.parse(parameters.h) / 2
3225
3225
  },
3226
3226
  {
3227
- x: -length22.parse(parameters.w) / 2 - 0.2,
3227
+ x: -length22.parse(parameters.w) / 2 - 0.1,
3228
3228
  y: -length22.parse(parameters.h) / 2
3229
3229
  },
3230
3230
  {
@@ -3271,20 +3271,100 @@ var sodWithoutParsing8 = (parameters) => {
3271
3271
  return pads;
3272
3272
  };
3273
3273
 
3274
+ // src/fn/sod128.ts
3275
+ import { z as z30 } from "zod";
3276
+ import { length as length23 } from "circuit-json";
3277
+ var sod_def9 = z30.object({
3278
+ fn: z30.string(),
3279
+ num_pins: z30.literal(2).default(2),
3280
+ w: z30.string().default("6.2mm"),
3281
+ h: z30.string().default("3.4mm"),
3282
+ pl: z30.string().default("1.4mm"),
3283
+ pw: z30.string().default("2.1mm"),
3284
+ p: z30.string().default("4.4mm")
3285
+ });
3286
+ var sod128 = (raw_params) => {
3287
+ const parameters = sod_def9.parse(raw_params);
3288
+ const silkscreenRefText = silkscreenRef(
3289
+ 0,
3290
+ length23.parse(parameters.h) / 2 + 0.4,
3291
+ 0.3
3292
+ );
3293
+ const silkscreenLine = {
3294
+ type: "pcb_silkscreen_path",
3295
+ layer: "top",
3296
+ pcb_component_id: "",
3297
+ route: [
3298
+ {
3299
+ x: length23.parse(parameters.p) / 2,
3300
+ y: length23.parse(parameters.h) / 2
3301
+ },
3302
+ {
3303
+ x: -length23.parse(parameters.w) / 2 - 0.2,
3304
+ y: length23.parse(parameters.h) / 2
3305
+ },
3306
+ {
3307
+ x: -length23.parse(parameters.w) / 2 - 0.2,
3308
+ y: -length23.parse(parameters.h) / 2
3309
+ },
3310
+ {
3311
+ x: length23.parse(parameters.p) / 2,
3312
+ y: -length23.parse(parameters.h) / 2
3313
+ }
3314
+ ],
3315
+ stroke_width: 0.1,
3316
+ pcb_silkscreen_path_id: ""
3317
+ };
3318
+ return {
3319
+ circuitJson: sodWithoutParsing9(parameters).concat(
3320
+ silkscreenLine,
3321
+ silkscreenRefText
3322
+ ),
3323
+ parameters
3324
+ };
3325
+ };
3326
+ var getSodCoords9 = (parameters) => {
3327
+ const { pn, p } = parameters;
3328
+ if (pn === 1) {
3329
+ return { x: -p / 2, y: 0 };
3330
+ } else {
3331
+ return { x: p / 2, y: 0 };
3332
+ }
3333
+ };
3334
+ var sodWithoutParsing9 = (parameters) => {
3335
+ const pads = [];
3336
+ for (let i = 1; i <= parameters.num_pins; i++) {
3337
+ const { x, y } = getSodCoords9({
3338
+ pn: i,
3339
+ p: Number.parseFloat(parameters.p)
3340
+ });
3341
+ pads.push(
3342
+ rectpad(
3343
+ i,
3344
+ x,
3345
+ y,
3346
+ Number.parseFloat(parameters.pl),
3347
+ Number.parseFloat(parameters.pw)
3348
+ )
3349
+ );
3350
+ }
3351
+ return pads;
3352
+ };
3353
+
3274
3354
  // src/fn/to220.ts
3275
3355
  import {
3276
- length as length23
3356
+ length as length24
3277
3357
  } from "circuit-json";
3278
- import { z as z30 } from "zod";
3279
- var to220_def = z30.object({
3280
- fn: z30.string().default("to220_3").refine((val) => /^to220_\d+$/.test(val), {
3358
+ import { z as z31 } from "zod";
3359
+ var to220_def = z31.object({
3360
+ fn: z31.string().default("to220_3").refine((val) => /^to220_\d+$/.test(val), {
3281
3361
  message: "Invalid format. Expected 'to220_N' where N is the number of pins."
3282
3362
  }),
3283
- p: length23.optional().default("5.0mm"),
3284
- id: length23.optional().default("1.0mm"),
3285
- od: length23.optional().default("1.9mm"),
3286
- w: length23.optional().default("13mm"),
3287
- h: length23.optional().default("7mm")
3363
+ p: length24.optional().default("5.0mm"),
3364
+ id: length24.optional().default("1.0mm"),
3365
+ od: length24.optional().default("1.9mm"),
3366
+ w: length24.optional().default("13mm"),
3367
+ h: length24.optional().default("7mm")
3288
3368
  }).transform((a) => {
3289
3369
  const match = a.fn.match(/^to220_(\d+)$/);
3290
3370
  const numPins = match ? parseInt(match[1], 10) : 3;
@@ -3371,22 +3451,22 @@ var to220 = (raw_params) => {
3371
3451
  };
3372
3452
 
3373
3453
  // src/fn/minimelf.ts
3374
- import { z as z31 } from "zod";
3375
- import { length as length24 } from "circuit-json";
3376
- var minimelf_def = z31.object({
3377
- fn: z31.string(),
3378
- num_pins: z31.literal(2).default(2),
3379
- w: z31.string().default("5.40mm"),
3380
- h: z31.string().default("2.30mm"),
3381
- pl: z31.string().default("1.30mm"),
3382
- pw: z31.string().default("1.70mm"),
3383
- p: z31.string().default("3.5mm")
3454
+ import { z as z32 } from "zod";
3455
+ import { length as length25 } from "circuit-json";
3456
+ var minimelf_def = z32.object({
3457
+ fn: z32.string(),
3458
+ num_pins: z32.literal(2).default(2),
3459
+ w: z32.string().default("5.40mm"),
3460
+ h: z32.string().default("2.30mm"),
3461
+ pl: z32.string().default("1.30mm"),
3462
+ pw: z32.string().default("1.70mm"),
3463
+ p: z32.string().default("3.5mm")
3384
3464
  });
3385
3465
  var minimelf = (raw_params) => {
3386
3466
  const parameters = minimelf_def.parse(raw_params);
3387
3467
  const silkscreenRefText = silkscreenRef(
3388
3468
  0,
3389
- length24.parse(parameters.h) / 2 + 0.4,
3469
+ length25.parse(parameters.h) / 2 + 0.4,
3390
3470
  0.3
3391
3471
  );
3392
3472
  const silkscreenLine = {
@@ -3395,20 +3475,20 @@ var minimelf = (raw_params) => {
3395
3475
  pcb_component_id: "",
3396
3476
  route: [
3397
3477
  {
3398
- x: length24.parse(parameters.p) / 2,
3399
- y: length24.parse(parameters.h) / 2
3478
+ x: length25.parse(parameters.p) / 2,
3479
+ y: length25.parse(parameters.h) / 2
3400
3480
  },
3401
3481
  {
3402
- x: -length24.parse(parameters.w) / 2,
3403
- y: length24.parse(parameters.h) / 2
3482
+ x: -length25.parse(parameters.w) / 2,
3483
+ y: length25.parse(parameters.h) / 2
3404
3484
  },
3405
3485
  {
3406
- x: -length24.parse(parameters.w) / 2,
3407
- y: -length24.parse(parameters.h) / 2
3486
+ x: -length25.parse(parameters.w) / 2,
3487
+ y: -length25.parse(parameters.h) / 2
3408
3488
  },
3409
3489
  {
3410
- x: length24.parse(parameters.p) / 2,
3411
- y: -length24.parse(parameters.h) / 2
3490
+ x: length25.parse(parameters.p) / 2,
3491
+ y: -length25.parse(parameters.h) / 2
3412
3492
  }
3413
3493
  ],
3414
3494
  stroke_width: 0.1,
@@ -3447,22 +3527,22 @@ var miniMelfWithoutParsing = (parameters) => {
3447
3527
  };
3448
3528
 
3449
3529
  // src/fn/sod882d.ts
3450
- import { z as z32 } from "zod";
3451
- import { length as length25 } from "circuit-json";
3452
- var sod_def9 = z32.object({
3453
- fn: z32.string(),
3454
- num_pins: z32.literal(2).default(2),
3455
- w: z32.string().default("1.90mm"),
3456
- h: z32.string().default("1.33mm"),
3457
- pl: z32.string().default("0.5mm"),
3458
- pw: z32.string().default("0.7mm"),
3459
- p: z32.string().default("0.8mm")
3530
+ import { z as z33 } from "zod";
3531
+ import { length as length26 } from "circuit-json";
3532
+ var sod_def10 = z33.object({
3533
+ fn: z33.string(),
3534
+ num_pins: z33.literal(2).default(2),
3535
+ w: z33.string().default("1.90mm"),
3536
+ h: z33.string().default("1.33mm"),
3537
+ pl: z33.string().default("0.5mm"),
3538
+ pw: z33.string().default("0.7mm"),
3539
+ p: z33.string().default("0.8mm")
3460
3540
  });
3461
3541
  var sod882d = (raw_params) => {
3462
- const parameters = sod_def9.parse(raw_params);
3542
+ const parameters = sod_def10.parse(raw_params);
3463
3543
  const silkscreenRefText = silkscreenRef(
3464
3544
  0,
3465
- length25.parse(parameters.h) + 0.1,
3545
+ length26.parse(parameters.h) + 0.1,
3466
3546
  0.3
3467
3547
  );
3468
3548
  const silkscreenLine = {
@@ -3471,34 +3551,34 @@ var sod882d = (raw_params) => {
3471
3551
  pcb_component_id: "",
3472
3552
  route: [
3473
3553
  {
3474
- x: length25.parse(parameters.p) / 2 + 0.1,
3475
- y: length25.parse(parameters.h) / 2
3554
+ x: length26.parse(parameters.p) / 2 + 0.1,
3555
+ y: length26.parse(parameters.h) / 2
3476
3556
  },
3477
3557
  {
3478
- x: -length25.parse(parameters.w) / 2,
3479
- y: length25.parse(parameters.h) / 2
3558
+ x: -length26.parse(parameters.w) / 2,
3559
+ y: length26.parse(parameters.h) / 2
3480
3560
  },
3481
3561
  {
3482
- x: -length25.parse(parameters.w) / 2,
3483
- y: -length25.parse(parameters.h) / 2
3562
+ x: -length26.parse(parameters.w) / 2,
3563
+ y: -length26.parse(parameters.h) / 2
3484
3564
  },
3485
3565
  {
3486
- x: length25.parse(parameters.p) / 2 + 0.1,
3487
- y: -length25.parse(parameters.h) / 2
3566
+ x: length26.parse(parameters.p) / 2 + 0.1,
3567
+ y: -length26.parse(parameters.h) / 2
3488
3568
  }
3489
3569
  ],
3490
3570
  stroke_width: 0.1,
3491
3571
  pcb_silkscreen_path_id: ""
3492
3572
  };
3493
3573
  return {
3494
- circuitJson: sodWithoutParsing9(parameters).concat(
3574
+ circuitJson: sodWithoutParsing10(parameters).concat(
3495
3575
  silkscreenLine,
3496
3576
  silkscreenRefText
3497
3577
  ),
3498
3578
  parameters
3499
3579
  };
3500
3580
  };
3501
- var getSodCoords9 = (parameters) => {
3581
+ var getSodCoords10 = (parameters) => {
3502
3582
  const { pn, p } = parameters;
3503
3583
  if (pn === 1) {
3504
3584
  return { x: -p / 2, y: 0 };
@@ -3506,10 +3586,10 @@ var getSodCoords9 = (parameters) => {
3506
3586
  return { x: p / 2, y: 0 };
3507
3587
  }
3508
3588
  };
3509
- var sodWithoutParsing9 = (parameters) => {
3589
+ var sodWithoutParsing10 = (parameters) => {
3510
3590
  const pads = [];
3511
3591
  for (let i = 1; i <= parameters.num_pins; i++) {
3512
- const { x, y } = getSodCoords9({
3592
+ const { x, y } = getSodCoords10({
3513
3593
  pn: i,
3514
3594
  p: Number.parseFloat(parameters.p)
3515
3595
  });
@@ -3527,22 +3607,22 @@ var sodWithoutParsing9 = (parameters) => {
3527
3607
  };
3528
3608
 
3529
3609
  // src/fn/melf.ts
3530
- import { z as z33 } from "zod";
3531
- import { length as length26 } from "circuit-json";
3532
- var melf_def = z33.object({
3533
- fn: z33.string(),
3534
- num_pins: z33.literal(2).default(2),
3535
- w: z33.string().default("7.0mm"),
3536
- h: z33.string().default("3.35mm"),
3537
- pl: z33.string().default("1.50mm"),
3538
- pw: z33.string().default("2.70mm"),
3539
- p: z33.string().default("4.8mm")
3610
+ import { z as z34 } from "zod";
3611
+ import { length as length27 } from "circuit-json";
3612
+ var melf_def = z34.object({
3613
+ fn: z34.string(),
3614
+ num_pins: z34.literal(2).default(2),
3615
+ w: z34.string().default("7.0mm"),
3616
+ h: z34.string().default("3.35mm"),
3617
+ pl: z34.string().default("1.50mm"),
3618
+ pw: z34.string().default("2.70mm"),
3619
+ p: z34.string().default("4.8mm")
3540
3620
  });
3541
3621
  var melf = (raw_params) => {
3542
3622
  const parameters = melf_def.parse(raw_params);
3543
3623
  const silkscreenRefText = silkscreenRef(
3544
3624
  0,
3545
- length26.parse(parameters.h),
3625
+ length27.parse(parameters.h),
3546
3626
  0.3
3547
3627
  );
3548
3628
  const silkscreenLine = {
@@ -3551,20 +3631,20 @@ var melf = (raw_params) => {
3551
3631
  pcb_component_id: "",
3552
3632
  route: [
3553
3633
  {
3554
- x: length26.parse(parameters.p) / 2,
3555
- y: length26.parse(parameters.h) / 2
3634
+ x: length27.parse(parameters.p) / 2,
3635
+ y: length27.parse(parameters.h) / 2
3556
3636
  },
3557
3637
  {
3558
- x: -length26.parse(parameters.w) / 2,
3559
- y: length26.parse(parameters.h) / 2
3638
+ x: -length27.parse(parameters.w) / 2,
3639
+ y: length27.parse(parameters.h) / 2
3560
3640
  },
3561
3641
  {
3562
- x: -length26.parse(parameters.w) / 2,
3563
- y: -length26.parse(parameters.h) / 2
3642
+ x: -length27.parse(parameters.w) / 2,
3643
+ y: -length27.parse(parameters.h) / 2
3564
3644
  },
3565
3645
  {
3566
- x: length26.parse(parameters.p) / 2,
3567
- y: -length26.parse(parameters.h) / 2
3646
+ x: length27.parse(parameters.p) / 2,
3647
+ y: -length27.parse(parameters.h) / 2
3568
3648
  }
3569
3649
  ],
3570
3650
  stroke_width: 0.1,
@@ -3607,22 +3687,22 @@ var melfWithoutParsing = (parameters) => {
3607
3687
  };
3608
3688
 
3609
3689
  // src/fn/micromelf.ts
3610
- import { z as z34 } from "zod";
3611
- import { length as length27 } from "circuit-json";
3612
- var micromelf_def = z34.object({
3613
- fn: z34.string(),
3614
- num_pins: z34.literal(2).default(2),
3615
- w: z34.string().default("3.0mm"),
3616
- h: z34.string().default("1.80mm"),
3617
- pl: z34.string().default("0.80mm"),
3618
- pw: z34.string().default("1.20mm"),
3619
- p: z34.string().default("1.6mm")
3690
+ import { z as z35 } from "zod";
3691
+ import { length as length28 } from "circuit-json";
3692
+ var micromelf_def = z35.object({
3693
+ fn: z35.string(),
3694
+ num_pins: z35.literal(2).default(2),
3695
+ w: z35.string().default("3.0mm"),
3696
+ h: z35.string().default("1.80mm"),
3697
+ pl: z35.string().default("0.80mm"),
3698
+ pw: z35.string().default("1.20mm"),
3699
+ p: z35.string().default("1.6mm")
3620
3700
  });
3621
3701
  var micromelf = (raw_params) => {
3622
3702
  const parameters = micromelf_def.parse(raw_params);
3623
3703
  const silkscreenRefText = silkscreenRef(
3624
3704
  0,
3625
- length27.parse(parameters.h),
3705
+ length28.parse(parameters.h),
3626
3706
  0.3
3627
3707
  );
3628
3708
  const silkscreenLine = {
@@ -3631,20 +3711,20 @@ var micromelf = (raw_params) => {
3631
3711
  pcb_component_id: "",
3632
3712
  route: [
3633
3713
  {
3634
- x: length27.parse(parameters.p) / 2,
3635
- y: length27.parse(parameters.h) / 2
3714
+ x: length28.parse(parameters.p) / 2,
3715
+ y: length28.parse(parameters.h) / 2
3636
3716
  },
3637
3717
  {
3638
- x: -length27.parse(parameters.w) / 2 - 0.1,
3639
- y: length27.parse(parameters.h) / 2
3718
+ x: -length28.parse(parameters.w) / 2 - 0.1,
3719
+ y: length28.parse(parameters.h) / 2
3640
3720
  },
3641
3721
  {
3642
- x: -length27.parse(parameters.w) / 2 - 0.1,
3643
- y: -length27.parse(parameters.h) / 2
3722
+ x: -length28.parse(parameters.w) / 2 - 0.1,
3723
+ y: -length28.parse(parameters.h) / 2
3644
3724
  },
3645
3725
  {
3646
- x: length27.parse(parameters.p) / 2,
3647
- y: -length27.parse(parameters.h) / 2
3726
+ x: length28.parse(parameters.p) / 2,
3727
+ y: -length28.parse(parameters.h) / 2
3648
3728
  }
3649
3729
  ],
3650
3730
  stroke_width: 0.1,
@@ -3687,22 +3767,22 @@ var microMelfWithoutParsing = (parameters) => {
3687
3767
  };
3688
3768
 
3689
3769
  // src/fn/sma.ts
3690
- import { z as z35 } from "zod";
3691
- import { length as length28 } from "circuit-json";
3692
- var sma_def = z35.object({
3693
- fn: z35.string(),
3694
- num_pins: z35.literal(2).default(2),
3695
- w: z35.string().default("7.10mm"),
3696
- h: z35.string().default("3.40mm"),
3697
- pl: z35.string().default("2.45mm"),
3698
- pw: z35.string().default("1.80mm"),
3699
- p: z35.string().default("4.05mm")
3770
+ import { z as z36 } from "zod";
3771
+ import { length as length29 } from "circuit-json";
3772
+ var sma_def = z36.object({
3773
+ fn: z36.string(),
3774
+ num_pins: z36.literal(2).default(2),
3775
+ w: z36.string().default("7.10mm"),
3776
+ h: z36.string().default("3.40mm"),
3777
+ pl: z36.string().default("2.45mm"),
3778
+ pw: z36.string().default("1.80mm"),
3779
+ p: z36.string().default("4.05mm")
3700
3780
  });
3701
3781
  var sma = (raw_params) => {
3702
3782
  const parameters = sma_def.parse(raw_params);
3703
3783
  const silkscreenRefText = silkscreenRef(
3704
3784
  0,
3705
- length28.parse(parameters.h) / 2 + 0.5,
3785
+ length29.parse(parameters.h) / 2 + 0.5,
3706
3786
  0.3
3707
3787
  );
3708
3788
  const silkscreenLine = {
@@ -3711,20 +3791,20 @@ var sma = (raw_params) => {
3711
3791
  pcb_component_id: "",
3712
3792
  route: [
3713
3793
  {
3714
- x: length28.parse(parameters.p) / 2,
3715
- y: length28.parse(parameters.h) / 2
3794
+ x: length29.parse(parameters.p) / 2,
3795
+ y: length29.parse(parameters.h) / 2
3716
3796
  },
3717
3797
  {
3718
- x: -length28.parse(parameters.w) / 2 - 0.5,
3719
- y: length28.parse(parameters.h) / 2
3798
+ x: -length29.parse(parameters.w) / 2 - 0.5,
3799
+ y: length29.parse(parameters.h) / 2
3720
3800
  },
3721
3801
  {
3722
- x: -length28.parse(parameters.w) / 2 - 0.5,
3723
- y: -length28.parse(parameters.h) / 2
3802
+ x: -length29.parse(parameters.w) / 2 - 0.5,
3803
+ y: -length29.parse(parameters.h) / 2
3724
3804
  },
3725
3805
  {
3726
- x: length28.parse(parameters.p) / 2,
3727
- y: -length28.parse(parameters.h) / 2
3806
+ x: length29.parse(parameters.p) / 2,
3807
+ y: -length29.parse(parameters.h) / 2
3728
3808
  }
3729
3809
  ],
3730
3810
  stroke_width: 0.1,
@@ -3766,22 +3846,22 @@ var smaWithoutParsing = (parameters) => {
3766
3846
  };
3767
3847
 
3768
3848
  // src/fn/smf.ts
3769
- import { z as z36 } from "zod";
3770
- import { length as length29 } from "circuit-json";
3771
- var smf_def = z36.object({
3772
- fn: z36.string(),
3773
- num_pins: z36.literal(2).default(2),
3774
- w: z36.string().default("4.80mm"),
3775
- h: z36.string().default("2.10mm"),
3776
- pl: z36.string().default("1.30mm"),
3777
- pw: z36.string().default("1.40mm"),
3778
- p: z36.string().default("2.9mm")
3849
+ import { z as z37 } from "zod";
3850
+ import { length as length30 } from "circuit-json";
3851
+ var smf_def = z37.object({
3852
+ fn: z37.string(),
3853
+ num_pins: z37.literal(2).default(2),
3854
+ w: z37.string().default("4.80mm"),
3855
+ h: z37.string().default("2.10mm"),
3856
+ pl: z37.string().default("1.30mm"),
3857
+ pw: z37.string().default("1.40mm"),
3858
+ p: z37.string().default("2.9mm")
3779
3859
  });
3780
3860
  var smf = (raw_params) => {
3781
3861
  const parameters = smf_def.parse(raw_params);
3782
3862
  const silkscreenRefText = silkscreenRef(
3783
3863
  0,
3784
- length29.parse(parameters.h) - 0.5,
3864
+ length30.parse(parameters.h) - 0.5,
3785
3865
  0.3
3786
3866
  );
3787
3867
  const silkscreenLine = {
@@ -3790,20 +3870,20 @@ var smf = (raw_params) => {
3790
3870
  pcb_component_id: "",
3791
3871
  route: [
3792
3872
  {
3793
- x: length29.parse(parameters.p) / 2,
3794
- y: length29.parse(parameters.h) / 2
3873
+ x: length30.parse(parameters.p) / 2,
3874
+ y: length30.parse(parameters.h) / 2
3795
3875
  },
3796
3876
  {
3797
- x: -length29.parse(parameters.w) / 2,
3798
- y: length29.parse(parameters.h) / 2
3877
+ x: -length30.parse(parameters.w) / 2,
3878
+ y: length30.parse(parameters.h) / 2
3799
3879
  },
3800
3880
  {
3801
- x: -length29.parse(parameters.w) / 2,
3802
- y: -length29.parse(parameters.h) / 2
3881
+ x: -length30.parse(parameters.w) / 2,
3882
+ y: -length30.parse(parameters.h) / 2
3803
3883
  },
3804
3884
  {
3805
- x: length29.parse(parameters.p) / 2,
3806
- y: -length29.parse(parameters.h) / 2
3885
+ x: length30.parse(parameters.p) / 2,
3886
+ y: -length30.parse(parameters.h) / 2
3807
3887
  }
3808
3888
  ],
3809
3889
  stroke_width: 0.1,
@@ -3846,22 +3926,22 @@ var smfWithoutParsing = (parameters) => {
3846
3926
  };
3847
3927
 
3848
3928
  // src/fn/smb.ts
3849
- import { z as z37 } from "zod";
3850
- import { length as length30 } from "circuit-json";
3851
- var smb_def = z37.object({
3852
- fn: z37.string(),
3853
- num_pins: z37.literal(2).default(2),
3854
- w: z37.string().default("7.30mm"),
3855
- h: z37.string().default("4.40mm"),
3856
- pl: z37.string().default("2.50mm"),
3857
- pw: z37.string().default("2.30mm"),
3858
- p: z37.string().default("4.30mm")
3929
+ import { z as z38 } from "zod";
3930
+ import { length as length31 } from "circuit-json";
3931
+ var smb_def = z38.object({
3932
+ fn: z38.string(),
3933
+ num_pins: z38.literal(2).default(2),
3934
+ w: z38.string().default("7.30mm"),
3935
+ h: z38.string().default("4.40mm"),
3936
+ pl: z38.string().default("2.50mm"),
3937
+ pw: z38.string().default("2.30mm"),
3938
+ p: z38.string().default("4.30mm")
3859
3939
  });
3860
3940
  var smb = (raw_params) => {
3861
3941
  const parameters = smb_def.parse(raw_params);
3862
3942
  const silkscreenRefText = silkscreenRef(
3863
3943
  0,
3864
- length30.parse(parameters.h) / 2 + 0.5,
3944
+ length31.parse(parameters.h) / 2 + 0.5,
3865
3945
  0.3
3866
3946
  );
3867
3947
  const silkscreenLine = {
@@ -3870,20 +3950,20 @@ var smb = (raw_params) => {
3870
3950
  pcb_component_id: "",
3871
3951
  route: [
3872
3952
  {
3873
- x: length30.parse(parameters.p) / 2,
3874
- y: length30.parse(parameters.h) / 2
3953
+ x: length31.parse(parameters.p) / 2,
3954
+ y: length31.parse(parameters.h) / 2
3875
3955
  },
3876
3956
  {
3877
- x: -length30.parse(parameters.w) / 2 - 0.1,
3878
- y: length30.parse(parameters.h) / 2
3957
+ x: -length31.parse(parameters.w) / 2 - 0.1,
3958
+ y: length31.parse(parameters.h) / 2
3879
3959
  },
3880
3960
  {
3881
- x: -length30.parse(parameters.w) / 2 - 0.1,
3882
- y: -length30.parse(parameters.h) / 2
3961
+ x: -length31.parse(parameters.w) / 2 - 0.1,
3962
+ y: -length31.parse(parameters.h) / 2
3883
3963
  },
3884
3964
  {
3885
- x: length30.parse(parameters.p) / 2,
3886
- y: -length30.parse(parameters.h) / 2
3965
+ x: length31.parse(parameters.p) / 2,
3966
+ y: -length31.parse(parameters.h) / 2
3887
3967
  }
3888
3968
  ],
3889
3969
  stroke_width: 0.1,
@@ -3926,27 +4006,27 @@ var smbWithoutParsing = (parameters) => {
3926
4006
  };
3927
4007
 
3928
4008
  // src/fn/vssop8.ts
3929
- import { z as z38 } from "zod";
3930
- import { length as length31 } from "circuit-json";
3931
- var vssop8_def = z38.object({
3932
- fn: z38.string(),
3933
- num_pins: z38.literal(8).default(8),
3934
- w: z38.string().default("3.06mm"),
3935
- h: z38.string().default("3.14mm"),
3936
- p: z38.string().default("0.65mm"),
3937
- pl: z38.string().default("1.6mm"),
3938
- pw: z38.string().default("0.5mm")
4009
+ import { z as z39 } from "zod";
4010
+ import { length as length32 } from "circuit-json";
4011
+ var vssop8_def = z39.object({
4012
+ fn: z39.string(),
4013
+ num_pins: z39.literal(8).default(8),
4014
+ w: z39.string().default("3.06mm"),
4015
+ h: z39.string().default("3.14mm"),
4016
+ p: z39.string().default("0.65mm"),
4017
+ pl: z39.string().default("1.6mm"),
4018
+ pw: z39.string().default("0.5mm")
3939
4019
  });
3940
4020
  var vssop8 = (raw_params) => {
3941
4021
  const parameters = vssop8_def.parse(raw_params);
3942
- const pad_spacing = length31.parse(parameters.p);
4022
+ const pad_spacing = length32.parse(parameters.p);
3943
4023
  const silkscreenRefText = silkscreenRef(
3944
4024
  0,
3945
- length31.parse(parameters.h) / 2 + 0.5,
4025
+ length32.parse(parameters.h) / 2 + 0.5,
3946
4026
  0.3
3947
4027
  );
3948
- const silkscreenBoxWidth = length31.parse(parameters.w);
3949
- const silkscreenBoxHeight = length31.parse(parameters.h);
4028
+ const silkscreenBoxWidth = length32.parse(parameters.w);
4029
+ const silkscreenBoxHeight = length32.parse(parameters.h);
3950
4030
  const silkscreenTopLine = {
3951
4031
  type: "pcb_silkscreen_path",
3952
4032
  layer: "top",
@@ -4002,7 +4082,7 @@ var getVssop8PadCoord = (parameters) => {
4002
4082
  const col = pn <= 4 ? -1 : 1;
4003
4083
  const row = 1.5 - (pn - 1) % 4;
4004
4084
  return {
4005
- x: col * length31.parse("1.8mm"),
4085
+ x: col * length32.parse("1.8mm"),
4006
4086
  y: row * pad_spacing
4007
4087
  };
4008
4088
  };
@@ -4027,16 +4107,16 @@ var getVssop8Pads = (parameters, pad_spacing) => {
4027
4107
  };
4028
4108
 
4029
4109
  // src/fn/smc.ts
4030
- import { z as z39 } from "zod";
4031
- import { length as length32 } from "circuit-json";
4032
- var smc_def = z39.object({
4033
- fn: z39.string(),
4034
- num_pins: z39.literal(2).default(2),
4035
- w: z39.string().default("10.70mm"),
4036
- h: z39.string().default("6.60mm"),
4037
- pl: z39.string().default("3.30mm"),
4038
- pw: z39.string().default("2.50mm"),
4039
- p: z39.string().default("6.80mm")
4110
+ import { z as z40 } from "zod";
4111
+ import { length as length33 } from "circuit-json";
4112
+ var smc_def = z40.object({
4113
+ fn: z40.string(),
4114
+ num_pins: z40.literal(2).default(2),
4115
+ w: z40.string().default("10.70mm"),
4116
+ h: z40.string().default("6.60mm"),
4117
+ pl: z40.string().default("3.30mm"),
4118
+ pw: z40.string().default("2.50mm"),
4119
+ p: z40.string().default("6.80mm")
4040
4120
  });
4041
4121
  var smc = (raw_params) => {
4042
4122
  const parameters = smc_def.parse(raw_params);
@@ -4047,20 +4127,20 @@ var smc = (raw_params) => {
4047
4127
  pcb_component_id: "",
4048
4128
  route: [
4049
4129
  {
4050
- x: length32.parse(parameters.p) / 2,
4051
- y: length32.parse(parameters.h) / 2 - 0.8
4130
+ x: length33.parse(parameters.p) / 2,
4131
+ y: length33.parse(parameters.h) / 2 - 0.8
4052
4132
  },
4053
4133
  {
4054
- x: -length32.parse(parameters.w) / 2 - 0.8,
4055
- y: length32.parse(parameters.h) / 2 - 0.8
4134
+ x: -length33.parse(parameters.w) / 2 - 0.8,
4135
+ y: length33.parse(parameters.h) / 2 - 0.8
4056
4136
  },
4057
4137
  {
4058
- x: -length32.parse(parameters.w) / 2 - 0.8,
4059
- y: -length32.parse(parameters.h) / 2 + 0.8
4138
+ x: -length33.parse(parameters.w) / 2 - 0.8,
4139
+ y: -length33.parse(parameters.h) / 2 + 0.8
4060
4140
  },
4061
4141
  {
4062
- x: length32.parse(parameters.p) / 2,
4063
- y: -length32.parse(parameters.h) / 2 + 0.8
4142
+ x: length33.parse(parameters.p) / 2,
4143
+ y: -length33.parse(parameters.h) / 2 + 0.8
4064
4144
  }
4065
4145
  ],
4066
4146
  stroke_width: 0.1,