include //data========================================= // bow + bell +flare diameter curve bbd1 = [ [0,58.1], [1.37265,58.1123],[2.74368,58.1558],[4.11311,58.1994],[5.48094,58.2432],[6.84714,58.2871],[8.21175,58.3312],[9.57472,58.3754],[10.9361,58.4198],[12.2959,58.4643],[13.654,58.509],[15.0105,58.5538],[16.3654,58.5987],[17.7188,58.6438],[19.0704,58.6891],[20.4205,58.7345],[21.769,58.78],[23.1158,58.8257],[24.461,58.8715],[25.8046,58.9175],[27.1466,58.9636],[28.487,59.0099],[29.8257,59.0563],[31.1628,59.1028],[32.4983,59.1495],[33.8322,59.1964],[35.1644,59.2434],[36.4951,59.2905],[37.8241,59.3378],[39.1515,59.3853],[40.4772,59.4328],[41.8014,59.4806],[43.1239,59.5284],[44.4448,59.5765],[45.764,59.6246],[47.0817,59.6729],[48.3977,59.7214],[49.7121,59.77],[51.0248,59.8187],[52.3359,59.8676],[53.6454,59.9167],[54.9533,59.9659],[56.2596,60.0152],[57.5641,60.0647],[58.8671,60.1143],[60.1685,60.1641],[61.4682,60.214],[62.7663,60.2641],[64.0627,60.3143],[65.3575,60.3646],[66.6507,60.4151],[67.9423,60.4658],[69.2322,60.5166],[70.5204,60.5675],[71.8071,60.6186],[73.0921,60.6698],[74.3755,60.7212],[75.6572,60.7728],[76.9373,60.8244],[78.2157,60.8762],[79.4926,60.9282],[80.7677,60.9803],[82.0413,61.0326],[83.3132,61.085],[84.5834,61.1375],[85.8521,61.1902],[87.119,61.243],[88.3844,61.296],[89.6481,61.3492],[90.9101,61.4024],[92.1705,61.4558],[93.4293,61.5094],[94.6864,61.5631],[95.9419,61.617],[97.1957,61.671],[98.4479,61.7251],[99.6984,61.7794],[100.947,61.8339],[102.195,61.8885],[102.818,61.9158],[103.44,61.9432],[104.062,61.9706],[104.684,61.9981],[105.305,62.0256],[105.926,62.0531],[106.547,62.0807],[107.167,62.1083],[107.787,62.1359],[108.406,62.1636],[109.025,62.1913],[109.643,62.2191],[110.261,62.2468],[110.879,62.2747],[111.496,62.3025],[112.113,62.3304],[112.73,62.3584],[113.346,62.3863],[113.961,62.4143],[114.576,62.4424],[115.191,62.4704],[115.805,62.4986],[116.419,62.5267],[117.033,62.5549],[117.646,62.5831],[118.259,62.6114],[118.871,62.6397],[119.483,62.668],[120.094,62.6964],[120.705,62.7248],[121.316,62.7532],[121.926,62.7817],[122.536,62.8102],[123.145,62.8388],[123.754,62.8674],[124.363,62.896],[124.971,62.9246],[125.579,62.9533],[126.186,62.9821],[126.793,63.0108],[127.399,63.0396],[128.005,63.0685],[128.611,63.0974],[129.216,63.1263],[129.821,63.1552],[130.426,63.1842],[131.03,63.2132],[131.633,63.2423],[132.236,63.2714],[132.839,63.3005],[133.441,63.3297],[134.043,63.3589],[134.645,63.3882],[135.246,63.4174],[135.847,63.4467],[136.447,63.4761],[137.047,63.5055],[137.646,63.5349],[138.245,63.5644],[138.844,63.5939],[139.442,63.6234],[140.04,63.653],[140.637,63.6826],[141.234,63.7122],[141.831,63.7419],[142.427,63.7716],[143.023,63.8014],[143.618,63.8312],[144.213,63.861],[144.807,63.8909],[145.401,63.9207],[145.995,63.9507],[146.588,63.9807],[147.181,64.0107],[147.773,64.0407],[148.365,64.0708],[148.957,64.1009],[149.548,64.131],[150.139,64.1612],[150.729,64.1915],[151.319,64.2217],[151.908,64.252],[152.497,64.2823],[153.086,64.3127],[153.674,64.3431],[154.262,64.3736],[154.849,64.4041],[155.436,64.4346],[156.023,64.4651],[156.609,64.4957],[157.195,64.5263],[157.78,64.557],[158.365,64.5877],[158.949,64.6184],[159.533,64.6492],[160.117,64.68],[160.7,64.7108],[161.283,64.7417],[161.865,64.7726],[162.447,64.8036],[163.029,64.8346],[163.61,64.8656],[164.191,64.8967],[164.771,64.9277],[165.351,64.9589],[165.93,64.9901],[166.509,65.0213],[167.088,65.0525],[167.666,65.0838],[168.244,65.1151],[168.821,65.1464],[169.398,65.1778],[169.975,65.2093],[170.551,65.2407],[171.127,65.2722],[171.702,65.3037],[172.277,65.3353],[172.851,65.3669],[173.425,65.3986],[173.999,65.4302],[174.572,65.4619],[175.145,65.4937],[175.717,65.5255],[176.289,65.5573],[176.861,65.5892],[177.432,65.6211],[178.002,65.653],[178.573,65.685],[179.142,65.717],[179.712,65.749],[180.281,65.7811],[180.85,65.8132],[181.418,65.8453],[181.985,65.8775],[182.553,65.9097],[183.12,65.942],[183.686,65.9743],[184.252,66.0066],[184.818,66.039],[185.383,66.0714],[185.948,66.1038],[186.512,66.1363],[187.076,66.1688],[187.64,66.2014],[188.203,66.234],[188.766,66.2666],[189.328,66.2992],[189.89,66.3319],[190.451,66.3647],[191.012,66.3974],[191.573,66.4302],[192.133,66.4631],[192.693,66.4959],[193.252,66.5288],[193.811,66.5618],[194.37,66.5948],[194.928,66.6278],[195.486,66.6608],[196.043,66.6939],[196.6,66.7271],[197.156,66.7602],[197.712,66.7934],[198.268,66.8267],[198.823,66.8599],[199.378,66.8932],[199.932,66.9266],[200.486,66.96],[201.039,66.9934],[201.592,67.0268],[202.145,67.0603],[202.697,67.0939],[203.249,67.1274],[203.8,67.161],[204.351,67.1946],[204.902,67.2283],[205.452,67.262],[206.002,67.2958],[206.551,67.3295],[207.1,67.3634],[207.648,67.3972],[208.196,67.4311],[208.744,67.465],[209.291,67.499],[209.838,67.533],[210.384,67.567],[210.93,67.6011],[211.476,67.6352],[212.021,67.6693],[212.565,67.7035],[213.109,67.7377],[213.653,67.772],[214.197,67.8062],[214.74,67.8406],[215.282,67.8749],[215.824,67.9093],[216.366,67.9438],[216.907,67.9782],[217.448,68.0127],[217.988,68.0473],[218.528,68.0818],[219.068,68.1164],[219.607,68.1511],[220.146,68.1858],[220.684,68.2205],[221.222,68.2552],[221.76,68.29],[222.297,68.3249],[222.833,68.3597],[223.369,68.3946],[223.905,68.4296],[224.441,68.4645],[224.975,68.4995],[225.51,68.5346],[226.044,68.5697],[226.578,68.6048],[227.111,68.6399],[227.644,68.6751],[228.176,68.7103],[228.708,68.7456],[229.24,68.7809],[229.771,68.8162],[230.302,68.8516],[230.832,68.887],[231.362,68.9225],[231.891,68.9579],[232.42,68.9934],[232.949,69.029],[233.477,69.0646],[234.005,69.1002],[234.532,69.1358],[235.059,69.1715],[235.585,69.2073],[236.111,69.243],[236.637,69.2788],[237.162,69.3147],[237.687,69.3506],[238.211,69.3865],[238.735,69.4224],[239.259,69.4584],[239.782,69.4944],[240.305,69.5305],[240.827,69.5665],[241.349,69.6027],[241.87,69.6388],[242.391,69.675],[242.912,69.7113],[243.432,69.7475],[243.951,69.7838],[244.471,69.8202],[244.989,69.8566],[245.508,69.893],[246.026,69.9294],[246.543,69.9659],[247.061,70.0024],[247.577,70.039],[248.094,70.0756],[248.61,70.1122],[249.125,70.1489],[249.64,70.1856],[250.155,70.2223],[250.669,70.2591],[251.183,70.2959],[251.696,70.3328],[252.209,70.3696],[252.721,70.4066],[253.233,70.4435],[253.745,70.4805],[254.256,70.5175],[254.767,70.5546],[255.277,70.5917],[255.787,70.6288],[256.297,70.666],[256.806,70.7032],[257.314,70.7404],[257.823,70.7777],[258.331,70.815],[258.838,70.8524],[259.345,70.8898],[259.851,70.9272],[260.357,70.9646],[260.863,71.0021],[261.368,71.0397],[261.873,71.0772],[262.378,71.1148],[262.882,71.1525],[263.385,71.1901],[263.888,71.2279],[264.391,71.2656],[264.893,71.3034],[265.395,71.3412],[265.897,71.3791],[266.398,71.4169],[266.898,71.4549],[267.398,71.4928],[267.898,71.5308],[268.397,71.5688],[268.896,71.6069],[269.395,71.645],[269.893,71.6832],[270.39,71.7213],[270.887,71.7596],[271.384,71.7978],[271.88,71.8361],[272.376,71.8744],[272.872,71.9128],[273.367,71.9512],[273.861,71.9896],[274.356,72.028],[274.849,72.0665],[275.343,72.1051],[275.836,72.1436],[276.328,72.1823],[276.82,72.2209],[277.312,72.2596],[277.803,72.2983],[278.294,72.337],[278.784,72.3758],[279.274,72.4146],[279.763,72.4535],[280.253,72.4924],[280.741,72.5313],[281.229,72.5703],[281.717,72.6093],[282.204,72.6483],[282.691,72.6874],[283.178,72.7265],[283.664,72.7657],[284.15,72.8048],[284.635,72.844],[285.12,72.8833],[285.604,72.9226],[286.088,72.9619],[286.571,73.0013],[287.055,73.0407],[287.537,73.0801],[288.019,73.1196],[288.501,73.1591],[288.983,73.1986],[289.464,73.2382],[289.944,73.2778],[290.424,73.3174],[290.904,73.3571],[291.383,73.3968],[291.862,73.4366],[292.34,73.4764],[292.818,73.5162],[293.296,73.556],[293.773,73.5959],[294.249,73.6359],[294.726,73.6758],[295.201,73.7159],[295.677,73.7559],[296.152,73.796],[296.626,73.8361],[297.1,73.8762],[297.574,73.9164],[298.047,73.9566],[298.52,73.9969],[298.993,74.0372],[299.464,74.0775],[299.936,74.1178],[300.407,74.1582],[300.878,74.1987],[301.348,74.2391],[301.818,74.2796],[302.287,74.3202],[302.756,74.3607],[303.225,74.4014],[303.693,74.442],[304.16,74.4827],[304.628,74.5234],[305.095,74.5642],[305.561,74.6049],[306.027,74.6458],[306.492,74.6866],[306.957,74.7275],[307.422,74.7685],[307.886,74.8094],[308.35,74.8504],[308.814,74.8915],[309.277,74.9325],[309.739,74.9736],[310.201,75.0148],[310.663,75.056],[311.124,75.0972],[311.585,75.1384],[312.045,75.1797],[312.505,75.2211],[312.965,75.2624],[313.424,75.3038],[313.882,75.3452],[314.341,75.3867],[314.799,75.4282],[315.256,75.4697],[315.713,75.5113],[316.169,75.5529],[316.625,75.5946],[317.081,75.6362],[317.536,75.678],[317.991,75.7197],[318.445,75.7615],[318.899,75.8033],[319.353,75.8452],[319.806,75.8871],[320.259,75.929],[320.711,75.971],[321.163,76.013],[321.614,76.055],[322.065,76.0971],[322.515,76.1392],[322.965,76.1813],[323.415,76.2235],[323.864,76.2657],[324.313,76.308],[324.761,76.3503],[325.209,76.3926],[325.657,76.4349],[326.104,76.4773],[326.551,76.5197],[326.997,76.5622],[327.443,76.6047],[327.888,76.6472],[328.333,76.6898],[328.777,76.7324],[329.221,76.775],[329.665,76.8177],[330.108,76.8604],[330.551,76.9032],[330.993,76.946],[331.435,76.9888],[331.876,77.0316],[332.318,77.0745],[332.758,77.1174],[333.198,77.1604],[333.418,77.1819],[333.638,77.2034],[333.858,77.2249],[334.077,77.2464],[334.297,77.268],[334.516,77.2895],[334.736,77.311],[334.955,77.3326],[335.174,77.3542],[335.393,77.3757],[335.612,77.3973],[335.83,77.4189],[336.049,77.4405],[336.267,77.4621],[336.486,77.4837],[336.704,77.5054],[336.922,77.527],[337.14,77.5486],[337.358,77.5703],[337.576,77.5919],[337.794,77.6136],[338.012,77.6353],[338.229,77.657],[338.447,77.6787],[338.664,77.7004],[338.881,77.7221],[339.098,77.7438],[339.315,77.7655],[339.532,77.7873],[339.749,77.8091],[339.966,77.8308],[340.182,77.8526],[340.399,77.8743],[340.615,77.8961],[340.831,77.9179],[341.048,77.9397],[341.264,77.9615],[341.48,77.9834],[341.695,78.0052],[341.911,78.027],[342.127,78.0489],[342.342,78.0707],[342.558,78.0926],[342.773,78.1145],[342.988,78.1364],[343.203,78.1582],[343.418,78.1801],[343.633,78.2021],[343.848,78.224],[344.062,78.2459],[344.277,78.2678],[344.491,78.2898],[344.706,78.3117],[344.92,78.3337],[345.134,78.3557],[345.348,78.3777],[345.562,78.3996],[345.776,78.4216],[345.989,78.4436],[346.203,78.4657],[346.416,78.4877],[346.63,78.5097],[346.843,78.5318],[347.056,78.5538],[347.269,78.5759],[347.482,78.5979],[347.695,78.62],[347.908,78.6421],[348.12,78.6642],[348.333,78.6863],[348.545,78.7084],[348.757,78.7305],[348.969,78.7527],[349.181,78.7748],[349.393,78.797],[349.605,78.8191],[349.817,78.8413],[350.029,78.8635],[350.24,78.8856],[350.452,78.9078],[350.663,78.93],[350.874,78.9522],[351.085,78.9745],[351.296,78.9967],[351.507,79.0189],[351.718,79.0412],[351.928,79.0634],[352.139,79.0857],[352.349,79.108],[352.56,79.1302],[352.77,79.1525],[352.98,79.1748],[353.19,79.1971],[353.4,79.2195],[353.61,79.2418],[353.819,79.2641],[354.029,79.2865],[354.238,79.3088],[354.448,79.3312],[354.657,79.3535],[354.866,79.3759],[355.075,79.3983],[355.284,79.4207],[355.493,79.4431],[355.702,79.4655],[355.91,79.4879],[356.119,79.5104],[356.327,79.5328],[356.535,79.5553],[356.743,79.5777],[356.952,79.6002],[357.159,79.6227],[357.367,79.6451],[357.575,79.6676],[357.783,79.6901],[357.99,79.7126],[358.198,79.7352],[358.405,79.7577],[358.612,79.7802],[358.819,79.8028],[359.026,79.8253],[359.233,79.8479],[359.44,79.8705],[359.646,79.893],[359.853,79.9156],[360.059,79.9382],[360.266,79.9608],[360.472,79.9835],[360.678,80.0061],[360.884,80.0287],[361.09,80.0514],[361.296,80.074],[361.501,80.0967],[361.707,80.1193],[361.912,80.142],[362.118,80.1647],[362.323,80.1874],[362.528,80.2101],[362.733,80.2328],[362.938,80.2555],[363.143,80.2783],[363.348,80.301],[363.552,80.3237],[363.757,80.3465],[363.961,80.3693],[364.165,80.392],[364.37,80.4148],[364.574,80.4376],[364.777,80.4604],[364.981,80.4832],[365.185,80.5061],[365.389,80.5289],[365.592,80.5517],[365.796,80.5746],[365.999,80.5974],[366.202,80.6203],[366.405,80.6432],[366.608,80.666],[366.811,80.6889],[367.014,80.7118],[367.216,80.7347],[367.419,80.7576],[367.621,80.7806],[367.824,80.8035],[368.026,80.8264],[368.228,80.8494],[368.43,80.8723],[368.632,80.8953],[368.834,80.9183],[369.035,80.9413],[369.237,80.9643],[369.438,80.9873],[369.64,81.0103],[369.841,81.0333],[370.042,81.0563],[370.243,81.0794],[370.444,81.1024],[370.645,81.1255],[370.846,81.1485],[371.046,81.1716],[371.247,81.1947],[371.447,81.2178],[371.647,81.2409],[371.847,81.264],[372.047,81.2871],[372.247,81.3103],[372.447,81.3334],[372.647,81.3565],[372.847,81.3797],[373.046,81.4028],[373.246,81.426],[373.445,81.4492],[373.644,81.4724],[373.843,81.4956],[374.042,81.5188],[374.241,81.542],[374.44,81.5652],[374.638,81.5885],[374.837,81.6117],[375.035,81.6349],[375.234,81.6582],[375.432,81.6815],[375.63,81.7047],[375.828,81.728],[376.026,81.7513],[376.223,81.7746],[376.421,81.7979],[376.619,81.8213],[376.816,81.8446],[377.014,81.8679],[377.211,81.8913],[377.408,81.9146],[377.605,81.938],[377.802,81.9614],[377.999,81.9847],[378.195,82.0081],[378.392,82.0315],[378.588,82.0549],[378.785,82.0784],[378.981,82.1018],[379.177,82.1252],[379.373,82.1487],[379.569,82.1721],[379.765,82.1956],[379.961,82.219],[380.156,82.2425],[380.352,82.266],[380.547,82.2895],[380.742,82.313],[380.938,82.3365],[381.133,82.36],[381.328,82.3836],[381.522,82.4071],[381.717,82.4306],[381.912,82.4542],[382.106,82.4778],[382.301,82.5013],[382.495,82.5249],[382.689,82.5485],[382.883,82.5721],[383.077,82.5957],[383.271,82.6193],[383.465,82.643],[383.659,82.6666],[383.852,82.6902],[384.046,82.7139],[384.239,82.7376],[384.432,82.7612],[384.625,82.7849],[384.818,82.8086],[385.011,82.8323],[385.204,82.856],[385.397,82.8797],[385.589,82.9034],[385.782,82.9272],[385.974,82.9509],[386.166,82.9747],[386.358,82.9984],[386.55,83.0222],[386.742,83.046],[386.934,83.0697],[387.126,83.0935],[387.317,83.1173],[387.509,83.1412],[387.7,83.165],[387.892,83.1888],[388.083,83.2126],[388.274,83.2365],[388.465,83.2603],[388.656,83.2842],[388.846,83.3081],[389.037,83.332],[389.227,83.3558],[389.418,83.3797],[389.608,83.4036],[389.798,83.4276],[389.988,83.4515],[390.178,83.4754],[390.368,83.4994],[390.558,83.5233],[390.747,83.5473],[390.937,83.5712],[391.126,83.5952],[391.316,83.6192],[391.505,83.6432],[391.694,83.6672],[391.883,83.6912],[392.072,83.7152],[392.261,83.7393],[392.449,83.7633],[392.638,83.7873],[392.826,83.8114],[393.015,83.8355],[393.203,83.8595],[393.391,83.8836],[393.579,83.9077],[393.767,83.9318],[393.955,83.9559],[394.142,83.98],[394.33,84.0042],[394.517,84.0283],[394.705,84.0524],[394.892,84.0766],[395.079,84.1007],[395.266,84.1249],[395.453,84.1491],[395.64,84.1733],[395.827,84.1975],[396.013,84.2217],[396.2,84.2459],[396.386,84.2701],[396.572,84.2943],[396.759,84.3186],[396.945,84.3428],[397.131,84.3671],[397.316,84.3913],[397.502,84.4156],[397.688,84.4399],[397.873,84.4642],[398.059,84.4885],[398.244,84.5128],[398.429,84.5371],[398.614,84.5614],[398.799,84.5858],[398.984,84.6101],[399.169,84.6345],[399.353,84.6588],[399.538,84.6832],[399.722,84.7076],[399.907,84.732],[400.091,84.7563],[400.275,84.7808],[400.459,84.8052],[400.643,84.8296],[400.827,84.854],[401.01,84.8785],[401.194,84.9029],[401.377,84.9274],[401.561,84.9518],[401.744,84.9763],[401.927,85.0008],[402.11,85.0253],[402.293,85.0498],[402.476,85.0743],[402.658,85.0988],[402.841,85.1233],[403.023,85.1479],[403.206,85.1724],[403.388,85.197],[403.57,85.2215],[403.752,85.2461],[403.934,85.2707],[404.116,85.2953],[404.298,85.3199],[404.479,85.3445],[404.661,85.3691],[404.842,85.3937],[405.023,85.4183],[405.205,85.443],[405.386,85.4676],[405.567,85.4923],[405.747,85.5169],[405.928,85.5416],[406.109,85.5663],[406.289,85.591],[406.47,85.6157],[406.65,85.6404],[406.83,85.6651],[407.01,85.6898],[407.19,85.7146],[407.37,85.7393],[407.55,85.7641],[407.729,85.7888],[407.909,85.8136],[408.088,85.8384],[408.268,85.8632],[408.447,85.888],[408.626,85.9128],[408.805,85.9376],[408.984,85.9624],[409.163,85.9872],[409.341,86.0121],[409.52,86.0369],[409.698,86.0618],[409.877,86.0866],[410.055,86.1115],[410.233,86.1364],[410.411,86.1613],[410.589,86.1862],[410.767,86.2111],[410.944,86.236],[411.122,86.2609],[411.299,86.2859],[411.477,86.3108],[411.654,86.3358],[411.831,86.3607],[412.008,86.3857],[412.185,86.4107],[412.362,86.4357],[412.538,86.4606],[412.715,86.4857],[412.892,86.5107],[413.068,86.5357],[413.244,86.5607],[413.42,86.5858],[413.596,86.6108],[413.772,86.6359],[413.948,86.6609],[414.124,86.686],[414.3,86.7111],[414.475,86.7362],[414.65,86.7613],[414.826,86.7864],[415.001,86.8115],[415.176,86.8366],[415.351,86.8618],[415.526,86.8869],[415.7,86.912],[415.875,86.9372],[416.05,86.9624],[416.224,86.9876],[416.398,87.0127],[416.573,87.0379],[416.747,87.0631],[416.921,87.0884],[417.094,87.1136],[417.268,87.1388],[417.442,87.164],[417.615,87.1893],[417.789,87.2146],[417.962,87.2398],[418.135,87.2651],[418.309,87.2904],[418.482,87.3157],[418.654,87.341],[418.827,87.3663],[419,87.3916],[419.172,87.4169],[419.345,87.4422],[419.517,87.4676],[419.689,87.4929],[419.862,87.5183],[420.034,87.5437],[420.205,87.569],[420.377,87.5944],[420.549,87.6198],[420.721,87.6452],[420.892,87.6706],[421.063,87.696],[421.235,87.7215],[421.406,87.7469],[421.577,87.7724],[421.748,87.7978],[421.919,87.8233],[422.089,87.8488],[422.26,87.8742],[422.43,87.8997],[422.601,87.9252],[422.771,87.9507],[422.941,87.9762],[423.111,88.0018],[423.281,88.0273],[423.451,88.0528],[423.621,88.0784],[423.79,88.1039],[423.96,88.1295],[424.129,88.1551],[424.299,88.1807],[424.468,88.2063],[424.637,88.2319],[424.806,88.2575],[424.975,88.2831],[425.143,88.3087],[425.312,88.3344],[425.481,88.36],[425.649,88.3857],[425.817,88.4113],[425.986,88.437],[426.154,88.4627],[426.322,88.4884],[426.489,88.5141],[426.657,88.5397],[426.825,88.5655],[426.992,88.5912],[427.16,88.6169],[427.327,88.6427],[427.494,88.6684],[427.662,88.6942],[427.829,88.7199],[427.995,88.7457],[428.162,88.7715],[428.329,88.7973],[428.495,88.8231],[428.662,88.8489],[428.828,88.8747],[428.995,88.9005],[429.161,88.9264],[429.327,88.9522],[429.493,88.9781],[429.658,89.0039],[429.824,89.0298],[429.99,89.0557],[430.155,89.0816],[430.321,89.1075],[430.486,89.1333],[430.651,89.1593],[430.816,89.1852],[430.981,89.2111],[431.146,89.237],[431.31,89.263],[431.475,89.289],[431.64,89.3149],[431.804,89.3409],[431.968,89.3669],[432.132,89.3929],[432.296,89.4189],[432.46,89.4449],[432.624,89.4709],[432.788,89.4969],[432.952,89.5229],[433.115,89.549],[433.278,89.575],[433.442,89.6011],[433.605,89.6272],[433.768,89.6532],[433.931,89.6793],[434.094,89.7054],[434.257,89.7315],[434.419,89.7576],[434.582,89.7837],[434.744,89.8099],[434.907,89.836],[435.069,89.8621],[435.231,89.8883],[435.393,89.9145],[435.555,89.9406],[435.716,89.9668],[435.878,89.993],[436.04,90.0192],[436.201,90.0454],[436.362,90.0716],[436.524,90.0978],[436.685,90.1241],[436.846,90.1503],[437.007,90.1765],[437.167,90.2028],[437.328,90.2291],[437.489,90.2553],[437.649,90.2816],[437.809,90.3079],[437.97,90.3342],[438.13,90.3605],[438.29,90.3868],[438.45,90.4132],[438.61,90.4395],[438.769,90.4658],[438.929,90.4922],[439.088,90.5185],[439.248,90.5449],[439.407,90.5713],[439.566,90.5977],[439.725,90.6241],[439.884,90.6505],[440.043,90.6769],[440.202,90.7033],[440.36,90.7297],[440.519,90.7562],[440.677,90.7826],[440.835,90.8091],[440.994,90.8355],[441.152,90.862],[441.31,90.8885],[441.467,90.915],[441.625,90.9415],[441.783,90.968],[441.94,90.9945],[442.098,91.021],[442.255,91.0475],[442.412,91.0741],[442.569,91.1006],[442.726,91.1272],[442.883,91.1537],[443.04,91.1803],[443.196,91.2069],[443.353,91.2335],[443.509,91.2601],[443.666,91.2867],[443.822,91.3133],[443.978,91.3399],[444.134,91.3666],[444.29,91.3932],[444.446,91.4199],[444.601,91.4465],[444.757,91.4732],[444.912,91.4999],[445.068,91.5266],[445.223,91.5533],[445.378,91.58],[445.533,91.6067],[445.688,91.6334],[445.843,91.6601],[445.997,91.6868],[446.152,91.7136],[446.306,91.7403],[446.461,91.7671],[446.615,91.7939],[446.769,91.8206],[446.923,91.8474],[447.077,91.8742],[447.231,91.901],[447.384,91.9279],[447.461,91.9413],[447.538,91.9547],[447.615,91.9681],[447.691,91.9815],[447.768,91.9949],[447.845,92.0083],[447.921,92.0218],[447.998,92.0352],[448.075,92.0486],[448.151,92.0621],[448.228,92.0755],[448.304,92.0889],[448.381,92.1024],[448.457,92.1158],[448.533,92.1292],[448.61,92.1427],[448.686,92.1561],[448.763,92.1696],[448.839,92.183],[448.915,92.1965],[448.991,92.2099],[449.068,92.2234],[449.144,92.2368],[449.22,92.2503],[449.296,92.2637],[449.372,92.2772],[449.448,92.2907],[449.524,92.3041],[449.601,92.3176],[449.677,92.3311],[449.753,92.3446],[449.828,92.358],[449.904,92.3715],[449.98,92.385],[450.056,92.3985],[450.132,92.412],[450.208,92.4254],[450.284,92.4389],[450.359,92.4524],[450.435,92.4659],[450.511,92.4794],[450.587,92.4929],[450.662,92.5064],[450.738,92.5199],[450.813,92.5334],[450.889,92.5469],[450.965,92.5604],[451.04,92.5739],[451.116,92.5875],[451.191,92.601],[451.266,92.6145],[451.342,92.628],[451.417,92.6415],[451.493,92.6551],[451.568,92.6686],[451.643,92.6821],[451.719,92.6956],[451.794,92.7092],[451.869,92.7227],[451.944,92.7362],[452.019,92.7498],[452.094,92.7633],[452.17,92.7769],[452.245,92.7904],[452.32,92.804],[452.395,92.8175],[452.47,92.8311],[452.545,92.8446],[452.62,92.8582],[452.695,92.8717],[452.769,92.8853],[452.844,92.8988],[452.919,92.9124],[452.994,92.926],[453.069,92.9395],[453.144,92.9531],[453.218,92.9667],[453.293,92.9803],[453.368,92.9938],[453.442,93.0074],[453.517,93.021],[453.591,93.0346],[453.666,93.0482],[453.741,93.0617],[453.815,93.0753],[453.89,93.0889],[453.964,93.1025],[454.038,93.1161],[454.113,93.1297],[454.187,93.1433],[454.262,93.1569],[454.336,93.1705],[454.41,93.1841],[454.484,93.1977],[454.559,93.2113],[454.633,93.225],[454.707,93.2386],[454.781,93.2522],[454.855,93.2658],[454.929,93.2794],[455.004,93.293],[455.078,93.3067],[455.152,93.3203],[455.226,93.3339],[455.3,93.3476],[455.373,93.3612],[455.447,93.3748],[455.521,93.3885],[455.595,93.4021],[455.669,93.4158],[455.743,93.4294],[455.817,93.4431],[455.89,93.4567],[455.964,93.4704],[456.038,93.484],[456.111,93.4977],[456.185,93.5113],[456.259,93.525],[456.332,93.5386],[456.406,93.5523],[456.479,93.566],[456.553,93.5796],[456.626,93.5933],[456.7,93.607],[456.773,93.6207],[456.846,93.6343],[456.92,93.648],[456.993,93.6617],[457.066,93.6754],[457.14,93.6891],[457.213,93.7027],[457.286,93.7164],[457.359,93.7301],[457.433,93.7438],[457.506,93.7575],[457.579,93.7712],[457.652,93.7849],[457.725,93.7986],[457.798,93.8123],[457.871,93.826],[457.944,93.8397],[458.017,93.8534],[458.09,93.8672],[458.163,93.8809],[458.236,93.8946],[458.308,93.9083],[458.381,93.922],[458.454,93.9357],[458.527,93.9495],[458.6,93.9632],[458.745,93.9907],[458.818,94.0044],[458.89,94.0181],[458.963,94.0319],[459.035,94.0456],[459.108,94.0594],[459.18,94.0731],[459.253,94.0869],[459.325,94.1006],[459.398,94.1143],[459.47,94.1281],[459.543,94.1419],[459.615,94.1556],[459.687,94.1694],[459.76,94.1831],[459.832,94.1969],[459.904,94.2107],[459.976,94.2244],[460.048,94.2382],[460.121,94.252],[460.193,94.2657],[460.265,94.2795],[460.337,94.2933],[460.409,94.3071],[460.481,94.3209],[460.553,94.3347],[460.625,94.3484],[460.697,94.3622],[460.769,94.376],[460.841,94.3898],[460.913,94.4036],[460.984,94.4174],[461.056,94.4312],[461.128,94.445],[461.2,94.4588],[461.271,94.4726],[461.343,94.4864],[461.415,94.5002],[461.486,94.5141],[461.558,94.5279],[461.63,94.5417],[461.701,94.5555],[461.773,94.5693],[461.844,94.5831],[461.916,94.597],[461.987,94.6108],[462.059,94.6246],[462.13,94.6385],[462.201,94.6523],[462.273,94.6661],[462.344,94.68],[462.415,94.6938],[462.487,94.7077],[462.558,94.7215],[462.629,94.7354],[462.7,94.7492],[462.771,94.763],[462.842,94.7769],[462.914,94.7908],[462.985,94.8046],[463.056,94.8185],[463.127,94.8323],[463.198,94.8462],[463.269,94.8601],[463.34,94.8739],[463.41,94.8878],[463.481,94.9017],[463.552,94.9155],[463.623,94.9294],[463.694,94.9433],[463.765,94.9572],[463.835,94.9711],[463.906,94.985],[463.977,94.9988],[464.047,95.0127],[464.118,95.0266],[464.189,95.0405],[464.259,95.0544],[464.33,95.0683],[464.4,95.0822],[464.471,95.0961],[464.541,95.11],[464.612,95.1239],[464.682,95.1378],[464.752,95.1517],[464.823,95.1656],[464.893,95.1796],[464.963,95.1935],[465.034,95.2074],[465.104,95.2213],[465.174,95.2352],[465.244,95.2492],[465.314,95.2631],[465.385,95.277],[465.455,95.291],[465.525,95.3049],[465.595,95.3188],[465.665,95.3328],[465.735,95.3467],[465.805,95.3606],[465.875,95.3746],[465.945,95.3885],[466.015,95.4025],[466.084,95.4164],[466.154,95.4304],[466.224,95.4443],[466.294,95.4583],[466.364,95.4723],[466.433,95.4862],[466.503,95.5002],[466.573,95.5141],[466.642,95.5281],[466.712,95.5421],[466.782,95.556],[466.851,95.57],[466.921,95.584],[466.99,95.598],[467.06,95.612],[467.129,95.6259],[467.199,95.6399],[467.268,95.6539],[467.337,95.6679],[467.407,95.6819],[467.476,95.6959],[467.545,95.7099],[467.615,95.7239],[467.684,95.7379],[467.753,95.7519],[467.822,95.7659],[467.891,95.7799],[467.96,95.7939],[468.029,95.8079],[468.099,95.8219],[468.168,95.8359],[468.237,95.8499],[468.306,95.864],[468.375,95.878],[468.443,95.892],[468.512,95.906],[468.581,95.9201],[468.65,95.9341],[468.719,95.9481],[468.788,95.9622],[468.857,95.9762],[468.925,95.9902],[468.994,96.0043],[469.063,96.0183],[469.131,96.0323],[469.2,96.0464],[469.269,96.0604],[469.337,96.0745],[469.406,96.0885],[469.474,96.1026],[469.543,96.1167],[469.611,96.1307],[469.68,96.1448],[469.748,96.1588],[469.816,96.1729],[469.885,96.187],[469.953,96.201],[470.021,96.2151],[470.09,96.2292],[470.158,96.2433],[470.226,96.2573],[470.294,96.2714],[470.363,96.2855],[470.431,96.2996],[470.499,96.3137],[470.567,96.3278],[470.635,96.3418],[470.703,96.3559],[470.771,96.37],[470.839,96.3841],[470.907,96.3982],[470.975,96.4123],[471.043,96.4264],[471.111,96.4405],[471.178,96.4547],[471.246,96.4688],[471.314,96.4829],[471.382,96.497],[471.449,96.5111],[471.517,96.5252],[471.585,96.5393],[471.653,96.5535],[471.72,96.5676],[471.788,96.5817],[471.855,96.5958],[471.923,96.61],[471.99,96.6241],[472.058,96.6382],[472.125,96.6524],[472.193,96.6665],[472.26,96.6806],[472.327,96.6948],[472.395,96.7089],[472.462,96.7231],[472.529,96.7372],[472.597,96.7514],[472.664,96.7655],[472.731,96.7797],[472.798,96.7939],[472.866,96.808],[472.933,96.8222],[473,96.8363],[473.067,96.8505],[473.134,96.8647],[473.201,96.8788],[473.268,96.893],[473.335,96.9072],[473.402,96.9214],[473.469,96.9355],[473.536,96.9497],[473.602,96.9639],[473.669,96.9781],[473.736,96.9923],[473.803,97.0065],[473.87,97.0207],[473.936,97.0349],[474.003,97.049],[474.07,97.0632],[474.136,97.0774],[474.203,97.0916],[474.269,97.1059],[474.336,97.1201],[474.403,97.1343],[474.469,97.1485],[474.536,97.1627],[474.602,97.1769],[474.668,97.1911],[474.735,97.2053],[474.801,97.2196],[474.867,97.2338],[474.934,97.248],[475,97.2622],[475.066,97.2765],[475.133,97.2907],[475.199,97.3049],[475.265,97.3192],[475.331,97.3334],[475.397,97.3476],[475.463,97.3619],[475.529,97.3761],[475.595,97.3904],[475.661,97.4046],[475.727,97.4189],[475.793,97.4331],[475.859,97.4474],[475.925,97.4616],[475.991,97.4759],[476.057,97.4902],[476.123,97.5044],[476.188,97.5187],[476.254,97.533],[476.32,97.5472],[476.386,97.5615],[476.451,97.5758],[476.517,97.59],[476.583,97.6043],[476.648,97.6186],[476.714,97.6329],[476.779,97.6472],[476.845,97.6615],[476.91,97.6758],[476.976,97.69],[477.041,97.7043],[477.107,97.7186],[477.172,97.7329],[477.237,97.7472],[477.303,97.7615],[477.368,97.7758],[477.433,97.7901],[477.498,97.8044],[477.564,97.8187],[477.629,97.8331],[477.694,97.8474],[477.759,97.8617],[477.824,97.876],[477.889,97.8903],[477.954,97.9046],[478.019,97.919],[478.084,97.9333],[478.149,97.9476],[478.214,97.962],[478.279,97.9763],[478.344,97.9906],[478.409,98.005],[478.474,98.0193],[478.539,98.0336],[478.603,98.048],[478.668,98.0623],[478.733,98.0767],[478.798,98.091],[478.862,98.1054],[478.927,98.1197],[478.991,98.1341],[479.056,98.1484],[479.121,98.1628],[479.185,98.1772],[479.25,98.1915],[479.314,98.2059],[479.379,98.2203],[479.443,98.2346],[479.507,98.249],[479.572,98.2634],[479.636,98.2778],[479.7,98.2921],[479.765,98.3065],[479.829,98.3209],[479.893,98.3353],[479.957,98.3497],[480.022,98.3641],[480.086,98.3784],[480.15,98.3929],[480.214,98.4072],[480.278,98.4216],[480.342,98.436],[480.406,98.4504],[480.47,98.4648],[480.534,98.4792],[480.598,98.4937],[480.662,98.5081],[480.726,98.5225],[480.79,98.5369],[480.853,98.5513],[480.917,98.5657],[480.981,98.5802],[481.045,98.5946],[481.108,98.609],[481.172,98.6234],[481.236,98.6379],[481.299,98.6523],[481.363,98.6667],[481.426,98.6812],[481.49,98.6956],[481.554,98.71],[481.617,98.7245],[481.68,98.7389],[481.744,98.7534],[481.807,98.7678],[481.871,98.7823],[481.934,98.7967],[481.997,98.8112],[482.061,98.8256],[482.124,98.8401],[482.187,98.8546],[482.25,98.869],[482.314,98.8835],[482.377,98.8979],[482.44,98.9124],[482.503,98.9269],[482.566,98.9414],[482.629,98.9558],[482.692,98.9703],[482.755,98.9848],[482.818,98.9993],[482.881,99.0137],[482.944,99.0282],[483.007,99.0427],[483.07,99.0572],[483.133,99.0717],[483.195,99.0862],[483.258,99.1007],[487.611,100.494],[491.676,102.584],[495.341,105.315],[498.506,108.611] ,[501.086,112.384],[503.009,116.53],[504.224,120.936], // [505.627,125.482] //,[504.627,125.482],[504.697,128.155] //, [ 514.697,128.155] ] ; //-----START // smoothing $fa=0.1; tube_fn=50; // cyl k=180; // resample N wt=6; // wall thickness/2 //define central axis curve sections gg=0; //0 l1=[[0,gg],[0, -23.37198493983]]; p=arc(r=48.483510363759997, angle=[180,359.95562488615201],cp=[48.483510363759997,-23.37198493983]); p1=arc(r=10479.072071789458, angle=[180-0.044375113840000001,180-0.825927412591],cp=[10576.035935105227,-31.52549004422]); p2=arc(r=403.13212257517, angle=[180-0.825927412596,180-14.961576135323],cp=[501.14284093716998,113.715693017592]); p3=arc(r=189.50928440736701, angle=[180-14.961576135323,180- 46.099727046376003 ],cp=[294.76199235431801,168.86696068288899]); // axis path ========================== pa=concat(l1,p,p1,p2,p3); pp1=resample_path(pa,k,closed=false); paxis_l=path_length(pp1); color("red")translate([0,0,0])stroke(pp1,1); // axis //echo(p1,paxis_l); // =============== diameter curves========== bbd = [for(entry=bbd1) [entry.x,entry.y]]; pd2=resample_path(bbd,k,closed=false); // offset path pdoff=offset_stroke(pd2, rounded=false,width = [-wt,-wt-0.01], $fn=36); pdoffc=path_cut(pdoff, paxis_l+wt, closed=false); pdo=pdoffc[0]; l2=[[0,pdo[0][1]]]; // add missing start section (make it start at x=0) pd22_=concat(l2,pdo); //echo(path_length(pdoff),path_length(pdoffc[0])); color("green")translate([0,0,7])stroke(pd2,1); // diameter curve color("blue")translate([0,0,7])stroke(pd22_,1); // offset diameter curve lbb=478; // l for flare top placing lb=lookup(lbb,pd2); echo("lb=",lb); // build tube =================================== bottom_half(s=800) difference(){ tube_ext(pd2,pp1,k,0); tube_int(pd22_,pp1,k,0); } // modules =================================== module tube_ext(pbr,p,n,w){ //external tube difference(){xrot(-90)cylinder(d=60,d2=29,h=600); //straight section xrot(-90)cylinder(d=60-wt,d2=29,h=601); //straight section } color("blue")path_copies(p, 1,1,lbb+10) yrot(90)rotate_extrude(angle=360)translate([0.5-30-lb/2,0,0])stroke(arc(n=40, r=30, angle=[0,70]),width=3,endcap1="butt"); //top flare for (i=[1:1:n-11]){ hull(){ path_copies(p, 1,1,pbr[i-1][0], rotate_children=true,closed=false) rotate(90,[0,1,0]) cylinder(d=lookup((paxis_l/n)*(i-1),pbr)+w,h=0.01,$fn=tube_fn); path_copies(p, 1,1,pbr[i][0], rotate_children=true,closed=false) rotate(90,[0,1,0]) cylinder(d=lookup((paxis_l/n)*i,pbr)+w,h=0.01,$fn=tube_fn); }} }; //end tube_ext module tube_int(pbr,p,n,w){ //external tube for (i=[1:1:n-11]){ hull(){ path_copies(p, 1,1,pbr[i-1][0], rotate_children=true,closed=false) rotate(90,[0,1,0]) cylinder(d=lookup((paxis_l/n)*(i-1),pbr)+w,h=0.01,$fn=tube_fn); path_copies(p, 1,1,pbr[i][0], rotate_children=true,closed=false) rotate(90,[0,1,0]) cylinder(d=lookup((paxis_l/n)*(i),pbr)+w,h=0.01,$fn=tube_fn); }} };