exporting TPE related information and updated the scene generation code

This commit is contained in:
Salijoghli 2026-01-06 15:15:46 +04:00
parent 2b046d8afd
commit cc92ad59f2
6 changed files with 735 additions and 957 deletions

194
AMZ_TPA8_SYSDL_MCM02.csv Normal file
View File

@ -0,0 +1,194 @@
record_type,conveyor_key,sec,included,reason,has_tpe,has_epc,has_vfd,is_last_any,is_last_geom,start_x,start_y,end_x,end_y,tpe_name,tpe_x,tpe_y,tpe_rotation,tpe_distance
CONVEYOR,PS3_1,1,1,GEOMETRY,1,1,1,0,0,3087.489034,3048.565032,3159.132392,3024.713237
CONVEYOR,PS3_2,2,1,GEOMETRY,1,0,1,0,0,3159.132392,3024.713237,3190.945812,3042.099631
CONVEYOR,PS3_3,3,1,GEOMETRY,1,0,1,0,0,3190.945812,3042.099631,3478.820696,3249.442902
CONVEYOR,PS3_5,5,1,GEOMETRY,1,0,1,0,0,3519.577701,3258.530860,4079.105653,3253.674982
CONVEYOR,PS3_6,6,1,GEOMETRY,1,0,1,0,0,4079.105653,3253.674982,4784.946959,3257.612009
CONVEYOR,PS3_7,7,1,GEOMETRY,1,0,1,0,0,5985.674639,3259.327631,5985.674639,3259.327631
CONVEYOR,PS3_9,9,1,GEOMETRY,1,0,1,0,0,6060.483270,3193.853573,6060.789954,2741.579531
CONVEYOR,PS3_10,10,1,GEOMETRY,1,0,1,0,0,6060.789954,2741.579531,6060.495376,2610.801360
CONVEYOR,PS3_12,12,1,GEOMETRY,1,1,1,1,1,6007.382954,2569.962296,5948.039145,2529.928635
CONVEYOR,UL8_1,1,1,GEOMETRY,1,1,1,0,0,632.618127,3188.888389,824.872344,3157.126582
CONVEYOR,UL8_2,2,1,GEOMETRY,1,1,1,0,0,885.669058,3169.966906,1712.765129,3158.462454
CONVEYOR,UL8_3,3,1,GEOMETRY,1,0,1,0,0,1712.765129,3158.462454,1817.953869,3155.934504
CONVEYOR,UL8_5,5,1,GEOMETRY,1,0,1,0,0,1881.702530,3136.323730,1944.426945,3101.149921
CONVEYOR,UL8_6,6,1,GEOMETRY,1,0,1,0,0,1944.426945,3101.149921,1978.682956,3086.062642
CONVEYOR,UL8_7,7,1,GEOMETRY,1,0,1,0,0,1978.682956,3086.062642,2007.744900,3063.545268
CONVEYOR,UL8_8,8,1,GEOMETRY,1,0,1,0,1,2007.744900,3063.545268,2040.663378,3048.333245
CONVEYOR,UL10_1,1,1,GEOMETRY,1,1,1,0,0,632.900863,3592.147634,823.776601,3561.145597
CONVEYOR,UL10_2,2,1,GEOMETRY,1,1,1,0,0,874.719154,3570.155999,1720.187324,3564.061477
CONVEYOR,UL10_3,3,1,GEOMETRY,1,0,1,0,0,1720.187324,3564.061477,2083.996631,3560.766860
CONVEYOR,UL10_4,4,1,GEOMETRY,1,0,1,0,0,2083.996631,3560.766860,2128.229940,3542.739063
CONVEYOR,UL10_5,5,1,GEOMETRY,1,0,1,0,0,2128.229940,3542.739063,2164.812356,3542.467143
CONVEYOR,UL10_6,6,1,GEOMETRY,1,0,1,0,0,2164.812356,3542.467143,2200.090761,3544.785276
CONVEYOR,UL10_7,7,1,GEOMETRY,1,0,1,0,0,2200.090761,3544.785276,2236.861695,3544.527150
CONVEYOR,UL10_9,9,1,GEOMETRY,1,0,1,0,1,2309.630704,3563.985881,2358.664691,3592.202752
CONVEYOR,UL9_3,3,1,GEOMETRY,1,1,1,0,0,551.208873,3355.007428,907.467125,3324.238385
CONVEYOR,UL9_4,4,1,GEOMETRY,1,1,1,0,0,907.467125,3324.238385,1700.371316,3323.415506
CONVEYOR,UL9_5,5,1,GEOMETRY,1,0,1,0,0,1700.371316,3323.415506,1826.538319,3321.774338
CONVEYOR,UL9_7,7,1,GEOMETRY,1,0,1,0,0,1891.501859,3302.098769,2212.651713,3118.960609
CONVEYOR,UL9_8,8,1,GEOMETRY,1,0,1,0,0,2212.651713,3118.960609,2247.352179,3100.254070
CONVEYOR,UL9_9,9,1,GEOMETRY,1,0,1,0,0,2247.352179,3100.254070,2277.803935,3081.192233
CONVEYOR,UL9_10,10,1,GEOMETRY,1,0,1,0,0,2277.803935,3081.192233,2310.374208,3065.368059
CONVEYOR,UL9_11,11,1,GEOMETRY,1,0,1,0,1,2310.374208,3065.368059,2343.399072,3047.086292
CONVEYOR,UL11_3,3,1,GEOMETRY,1,1,1,0,0,548.752870,3692.802976,897.324015,3661.485774
CONVEYOR,UL11_4,4,1,GEOMETRY,1,1,1,0,0,897.324015,3661.485774,1700.480744,3658.222070
CONVEYOR,UL11_5,5,1,GEOMETRY,1,0,1,0,0,1700.480744,3658.222070,1844.529026,3653.231416
CONVEYOR,UL11_6,6,1,GEOMETRY,1,0,1,0,0,1844.529026,3653.231416,1879.597360,3657.637923
CONVEYOR,UL11_7,7,1,GEOMETRY,1,0,1,0,0,1879.597360,3657.637923,1917.029348,3658.582710
CONVEYOR,UL11_8,8,1,GEOMETRY,1,0,1,0,0,1917.029348,3658.582710,1951.991891,3658.283856
CONVEYOR,UL11_9,9,1,GEOMETRY,1,0,1,0,0,1951.991891,3658.283856,1988.780120,3658.283856
CONVEYOR,UL11_10,10,1,GEOMETRY,1,1,1,0,0,2030.764864,3659.578691,2591.455783,3686.635164
CONVEYOR,UL11_12,12,1,GEOMETRY,1,0,1,0,0,2750.134283,3691.074283,2845.387748,3690.854148
CONVEYOR,UL11_13,13,1,GEOMETRY,1,0,1,0,0,2845.387748,3690.854148,2953.707982,3688.012958
CONVEYOR,UL11_14,14,1,GEOMETRY,1,0,1,1,1,2971.430134,3668.918012,3155.997766,3671.874205
CONVEYOR,UL12_3,3,1,GEOMETRY,1,1,1,0,0,543.627555,3859.294486,905.036450,3826.957213
CONVEYOR,UL12_4,4,1,GEOMETRY,1,1,1,0,0,905.036450,3826.957213,1742.072614,3827.324144
CONVEYOR,UL12_5,5,1,GEOMETRY,1,0,1,0,0,1742.072614,3827.324144,1842.084498,3824.815942
CONVEYOR,UL12_7,7,1,GEOMETRY,1,0,1,0,0,1908.852330,3808.657056,1955.553412,3781.851714
CONVEYOR,UL12_8,8,1,GEOMETRY,1,0,1,0,0,1955.553412,3781.851714,1986.689623,3761.398031
CONVEYOR,UL12_9,9,1,GEOMETRY,1,0,1,0,0,1986.689623,3761.398031,2020.048027,3747.625802
CONVEYOR,UL12_10,10,1,GEOMETRY,1,0,1,0,1,2020.048027,3747.625802,2049.673824,3728.878967
CONVEYOR,UL7_3,3,1,GEOMETRY,1,1,1,0,0,551.742895,2956.847765,908.026025,2987.966131
CONVEYOR,UL7_4,4,1,GEOMETRY,1,1,1,0,0,908.026025,2987.966131,1711.113463,2986.840411
CONVEYOR,UL7_5,5,1,GEOMETRY,1,0,1,0,0,1711.113463,2986.840411,1817.542835,2987.029037
CONVEYOR,UL7_6,6,1,GEOMETRY,1,0,1,0,0,1817.542835,2987.029037,1857.441282,2972.114781
CONVEYOR,UL7_7,7,1,GEOMETRY,1,0,1,0,0,1857.441282,2972.114781,1893.692205,2973.612010
CONVEYOR,UL7_8,8,1,GEOMETRY,1,0,1,0,0,1893.692205,2973.612010,1929.723023,2973.789916
CONVEYOR,UL7_9,9,1,GEOMETRY,1,0,1,0,0,1929.723023,2973.789916,1965.806948,2973.254470
CONVEYOR,UL7_10,10,1,GEOMETRY,1,1,1,0,0,1998.130873,2981.527148,2611.835876,2978.598409
CONVEYOR,UL7_12,12,1,GEOMETRY,1,0,1,0,0,2766.420800,2995.096200,2863.133560,2992.295904
CONVEYOR,UL7_13,13,1,GEOMETRY,1,0,1,0,0,2863.133560,2992.295904,2970.734203,2992.915446
CONVEYOR,UL7_14,14,1,GEOMETRY,1,0,1,1,1,2985.330236,2984.624061,3159.803377,2984.151808
CONVEYOR,PS4_2,2,1,GEOMETRY,1,0,1,0,0,3144.026193,3596.341132,3300.316069,3508.372989
CONVEYOR,PS4_4,4,1,GEOMETRY,1,0,1,0,0,3310.573165,3523.337000,3352.239313,3524.485575
CONVEYOR,PS4_5,5,1,GEOMETRY,1,0,1,0,0,3352.239313,3524.485575,4006.352329,3523.358120
CONVEYOR,PS4_6,6,1,GEOMETRY,1,0,1,0,0,4006.352329,3523.358120,4688.607797,3525.782820
CONVEYOR,PS4_7,7,1,GEOMETRY,1,0,1,0,0,4688.607797,3525.782820,5611.139091,3525.602719
CONVEYOR,PS4_8,8,1,GEOMETRY,1,0,1,0,0,5611.139091,3525.602719,6274.851839,3521.438644
CONVEYOR,PS4_10,10,1,GEOMETRY,1,0,1,0,0,6353.888615,3456.502166,6352.160013,2673.212430
CONVEYOR,PS4_11,11,1,GEOMETRY,1,0,1,0,0,6352.160013,2673.212430,6349.468358,2155.105517
CONVEYOR,PS4_12,12,1,GEOMETRY,1,0,1,0,0,6349.468358,2155.105517,6355.840289,1761.029836
CONVEYOR,PS4_14,14,1,GEOMETRY,1,1,1,1,1,6272.313843,1688.457365,5949.215298,1690.378911
CONVEYOR,UL11_11,11,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,PS4_1,1,0,VFD_ONLY_BEFORE_GEOM_END,0,1,1,0,0,,,,
CONVEYOR,PS4_3,3,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,PS3_4,4,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,PS4_9,9,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,PS3_8,8,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,PS3_11,11,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,PS4_13,13,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,UL7_11,11,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,UL8_4,4,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,UL8_9,9,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
CONVEYOR,UL9_6,6,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,UL12_6,6,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,UL9_12,12,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
CONVEYOR,UL10_8,8,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
CONVEYOR,UL10_10,10,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
CONVEYOR,UL12_11,11,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
TPE,PS3_1,,,,,,,,,,,,,PS3_1_TPE1,3159.132392,3024.713237,210.000000,45.785116
TPE,PS3_5,,,,,,,,,,,,,PS3_5_TPE1,3519.577701,3258.530860,90.000000,45.785116
TPE,PS3_5,,,,,,,,,,,,,PS3_5_TPE2,4079.105653,3253.674982,90.000000,55.323971
TPE,PS3_3,,,,,,,,,,,,,PS3_3_TPE1,3478.820696,3249.442902,120.000000,45.785116
TPE,PS3_2,,,,,,,,,,,,,PS3_2_TPE1,3190.945812,3042.099631,210.000000,45.785116
TPE,UL7_3,,,,,,,,,,,,,UL7_3_TPE2,908.026025,2987.966131,90.000000,43.000000
TPE,UL7_3,,,,,,,,,,,,,UL7_3_TPE1,612.253341,3029.621551,0.000000,49.667350
TPE,UL7_5,,,,,,,,,,,,,UL7_5_TPE1,1817.542835,2987.029037,90.000000,46.605812
TPE,UL7_6,,,,,,,,,,,,,UL7_6_TPE1,1857.441282,2972.114781,90.000000,62.276218
TPE,UL7_7,,,,,,,,,,,,,UL7_7_TPE1,1893.692205,2973.612010,90.000000,62.276218
TPE,UL7_4,,,,,,,,,,,,,UL7_4_TPE1,1711.113463,2986.840411,90.000000,45.064241
TPE,UL7_8,,,,,,,,,,,,,UL7_8_TPE1,1929.723023,2973.789916,90.000000,62.276218
TPE,UL7_12,,,,,,,,,,,,,UL7_12_TPE1,2766.420800,2995.096200,90.000000,49.855884
TPE,UL7_12,,,,,,,,,,,,,UL7_12_TPE2,2863.133560,2992.295904,90.000000,49.242255
TPE,UL7_13,,,,,,,,,,,,,UL7_13_TPE1,2970.734203,2992.915446,90.000000,49.057934
TPE,PS3_6,,,,,,,,,,,,,PS3_6_TPE1,4784.946959,3257.612009,90.000000,45.785116
TPE,PS3_7,,,,,,,,,,,,,PS3_7_TPE1,5985.674639,3259.327631,90.000000,45.785116
TPE,PS3_9,,,,,,,,,,,,,PS3_9_TPE1,6060.483270,3193.853573,180.000000,45.785116
TPE,PS3_9,,,,,,,,,,,,,PS3_9_TPE2,6060.789954,2741.579531,180.000000,45.785116
TPE,PS3_10,,,,,,,,,,,,,PS3_10_TPE1,6060.495376,2610.801360,180.000000,45.785116
TPE,PS3_12,,,,,,,,,,,,,PS3_12_TPE1,5987.261559,2530.050002,90.000000,45.785116
TPE,PS3_12,,,,,,,,,,,,,PS3_12_TPE2,5948.039145,2529.928635,90.000000,45.785116
TPE,UL8_1,,,,,,,,,,,,,UL8_1_TPE1,824.872344,3157.126582,90.000000,43.000000
TPE,UL8_3,,,,,,,,,,,,,UL8_3_TPE1,1817.953869,3155.934504,90.000000,63.087627
TPE,UL8_8,,,,,,,,,,,,,UL8_8_TPE1,2040.663378,3048.333245,60.000000,65.489640
TPE,UL8_7,,,,,,,,,,,,,UL8_7_TPE1,2007.744900,3063.545268,60.000000,65.489640
TPE,UL8_6,,,,,,,,,,,,,UL8_6_TPE1,1978.682956,3086.062642,60.000000,65.489640
TPE,UL8_5,,,,,,,,,,,,,UL8_5_TPE2,1944.426945,3101.149921,60.000000,65.489640
TPE,UL8_5,,,,,,,,,,,,,UL8_5_TPE1,1881.702530,3136.323730,58.094345,65.489640
TPE,UL9_7,,,,,,,,,,,,,UL9_7_TPE1,1891.501859,3302.098769,60.000000,65.489640
TPE,UL9_7,,,,,,,,,,,,,UL9_7_TPE2,2212.651713,3118.960609,58.094345,65.489640
TPE,UL9_8,,,,,,,,,,,,,UL9_8_TPE1,2247.352179,3100.254070,58.094345,65.489640
TPE,UL9_9,,,,,,,,,,,,,UL9_9_TPE1,2277.803935,3081.192233,58.094345,65.489640
TPE,UL9_10,,,,,,,,,,,,,UL9_10_TPE1,2310.374208,3065.368059,58.094345,65.489640
TPE,UL8_2,,,,,,,,,,,,,UL8_2_TPE1,885.669058,3169.966906,270.000000,49.667350
TPE,UL8_2,,,,,,,,,,,,,UL8_2_TPE2,1712.765129,3158.462454,90.000000,43.000000
TPE,UL9_3,,,,,,,,,,,,,UL9_3_TPE1,608.834305,3362.234637,0.000000,49.667350
TPE,UL9_3,,,,,,,,,,,,,UL9_3_TPE2,907.467125,3324.238385,90.000000,43.000000
TPE,UL9_4,,,,,,,,,,,,,UL9_4_TPE1,1700.371316,3323.415506,90.000000,43.000000
TPE,UL10_1,,,,,,,,,,,,,UL10_1_TPE1,823.776601,3561.145597,90.000000,43.000000
TPE,UL10_2,,,,,,,,,,,,,UL10_2_TPE1,874.719154,3570.155999,270.000000,49.667350
TPE,UL10_2,,,,,,,,,,,,,UL10_2_TPE2,1720.187324,3564.061477,90.000000,43.000000
TPE,UL10_4,,,,,,,,,,,,,UL10_4_TPE1,2128.229940,3542.739063,90.000000,62.276218
TPE,UL10_5,,,,,,,,,,,,,UL10_5_TPE1,2164.812356,3542.467143,90.000000,62.276218
TPE,UL10_6,,,,,,,,,,,,,UL10_6_TPE1,2200.090761,3544.785276,90.000000,62.276218
TPE,UL10_3,,,,,,,,,,,,,UL10_3_TPE1,2083.996631,3560.766860,90.000000,45.064241
TPE,UL10_7,,,,,,,,,,,,,UL10_7_TPE1,2236.861695,3544.527150,90.000000,62.276218
TPE,UL10_9,,,,,,,,,,,,,UL10_9_TPE1,2309.630704,3563.985881,120.000000,63.276200
TPE,UL10_9,,,,,,,,,,,,,UL10_9_TPE2,2358.664691,3592.202752,120.000000,62.276218
TPE,UL11_3,,,,,,,,,,,,,UL11_3_TPE1,606.378302,3700.030184,0.000000,49.667350
TPE,UL11_3,,,,,,,,,,,,,UL11_3_TPE2,897.324015,3661.485774,90.000000,43.000000
TPE,UL11_5,,,,,,,,,,,,,UL11_5_TPE1,1844.529026,3653.231416,90.000000,49.642395
TPE,UL11_6,,,,,,,,,,,,,UL11_6_TPE1,1879.597360,3657.637923,90.000000,62.276218
TPE,UL11_7,,,,,,,,,,,,,UL11_7_TPE1,1917.029348,3658.582710,90.000000,62.276218
TPE,UL11_4,,,,,,,,,,,,,UL11_4_TPE1,1700.480744,3658.222070,90.000000,45.064241
TPE,UL11_8,,,,,,,,,,,,,UL11_8_TPE1,1951.991891,3658.283856,90.000000,62.276218
TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE1,2030.764864,3659.578691,90.000000,62.276218
TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE2,2198.528913,3659.525592,90.000000,62.276218
TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE3,2325.765680,3684.433010,270.000000,62.276218
TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE4,2487.792623,3686.690780,270.000000,62.276218
TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE5,2591.455783,3686.635164,270.000000,62.276218
TPE,UL11_12,,,,,,,,,,,,,UL11_12_TPE1,2750.134283,3691.074283,270.000000,54.406101
TPE,UL11_12,,,,,,,,,,,,,UL11_12_TPE2,2845.387748,3690.854148,270.000000,54.406101
TPE,UL11_13,,,,,,,,,,,,,UL11_13_TPE1,2953.707982,3688.012958,270.000000,47.542783
TPE,UL12_3,,,,,,,,,,,,,UL12_3_TPE2,905.036450,3826.957213,90.000000,43.000000
TPE,UL12_4,,,,,,,,,,,,,UL12_4_TPE1,1742.072614,3827.324144,90.000000,43.000000
TPE,UL12_9,,,,,,,,,,,,,UL12_9_TPE1,2020.048027,3747.625802,58.094345,65.489640
TPE,UL12_8,,,,,,,,,,,,,UL12_8_TPE1,1986.689623,3761.398031,58.094345,65.489640
TPE,UL12_7,,,,,,,,,,,,,UL12_7_TPE2,1955.553412,3781.851714,58.094345,65.489640
TPE,UL12_7,,,,,,,,,,,,,UL12_7_TPE1,1908.852330,3808.657056,58.094345,65.489640
TPE,PS4_2,,,,,,,,,,,,,PS4_2_TPE1,3144.026193,3596.341132,329.554546,45.785116
TPE,PS4_2,,,,,,,,,,,,,PS4_2_TPE2,3300.316069,3508.372989,329.554546,45.785116
TPE,PS4_4,,,,,,,,,,,,,PS4_4_TPE1,3310.573165,3523.337000,90.000000,45.785116
TPE,PS4_4,,,,,,,,,,,,,PS4_4_TPE2,3352.239313,3524.485575,90.000000,45.785116
TPE,PS4_5,,,,,,,,,,,,,PS4_5_TPE1,4006.352329,3523.358120,90.000000,45.785116
TPE,PS4_6,,,,,,,,,,,,,PS4_6_TPE1,4688.607797,3525.782820,90.000000,45.785116
TPE,PS4_7,,,,,,,,,,,,,PS4_7_TPE1,5611.139091,3525.602719,90.000000,45.785116
TPE,PS4_8,,,,,,,,,,,,,PS4_8_TPE1,6274.851839,3521.438644,90.000000,45.785116
TPE,PS4_10,,,,,,,,,,,,,PS4_10_TPE1,6353.888615,3456.502166,180.000000,45.785116
TPE,PS4_10,,,,,,,,,,,,,PS4_10_TPE2,6352.160013,2673.212430,180.000000,45.785116
TPE,PS4_11,,,,,,,,,,,,,PS4_11_TPE1,6349.468358,2155.105517,180.000000,45.785116
TPE,PS4_12,,,,,,,,,,,,,PS4_12_TPE1,6355.840289,1761.029836,180.000000,45.785116
TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE1,2985.330236,2984.624061,90.000000,62.276218
TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE2,2995.809571,2984.624061,90.000000,62.276218
TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE3,3006.611353,2984.624061,90.000000,62.276218
TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE4,3145.918252,2982.299275,90.000000,62.276218
TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE5,3159.803377,2984.151808,90.000000,62.276218
TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE1,2971.430134,3668.918012,90.000000,62.276218
TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE2,2981.909469,3668.918012,90.000000,62.276218
TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE3,2992.711251,3668.918012,90.000000,62.276218
TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE4,3140.122346,3669.955216,90.000000,62.276218
TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE5,3155.997766,3671.874205,90.000000,62.276218
TPE,UL7_9,,,,,,,,,,,,,UL7_9_TPE1,1965.806948,2973.254470,90.000000,62.276218
TPE,UL9_5,,,,,,,,,,,,,UL9_5_TPE1,1826.538319,3321.774338,90.000000,65.052088
TPE,UL9_11,,,,,,,,,,,,,UL9_11_TPE1,2343.399072,3047.086292,58.094345,65.489640
TPE,UL11_9,,,,,,,,,,,,,UL11_9_TPE1,1988.780120,3658.283856,90.000000,62.276218
TPE,UL12_5,,,,,,,,,,,,,UL12_5_TPE1,1842.084498,3824.815942,90.000000,64.845569
TPE,UL12_10,,,,,,,,,,,,,UL12_10_TPE1,2049.673824,3728.878967,58.094345,65.489640
TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE2,2184.282561,2976.023749,90.000000,66.331837
TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE4,2488.728147,2977.141287,90.000000,63.585604
TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE5,2611.835876,2978.598409,90.000000,62.276218
TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE1,1998.130873,2981.527148,90.000000,62.276218
TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE3,2334.139704,2978.861146,90.000000,62.276218
TPE,PS4_14,,,,,,,,,,,,,PS4_14_TPE1,6272.313843,1688.457365,90.000000,45.785116
TPE,PS4_14,,,,,,,,,,,,,PS4_14_TPE2,5949.215298,1690.378911,90.000000,45.785116
1 record_type,conveyor_key,sec,included,reason,has_tpe,has_epc,has_vfd,is_last_any,is_last_geom,start_x,start_y,end_x,end_y,tpe_name,tpe_x,tpe_y,tpe_rotation,tpe_distance
2 CONVEYOR,PS3_1,1,1,GEOMETRY,1,1,1,0,0,3087.489034,3048.565032,3159.132392,3024.713237
3 CONVEYOR,PS3_2,2,1,GEOMETRY,1,0,1,0,0,3159.132392,3024.713237,3190.945812,3042.099631
4 CONVEYOR,PS3_3,3,1,GEOMETRY,1,0,1,0,0,3190.945812,3042.099631,3478.820696,3249.442902
5 CONVEYOR,PS3_5,5,1,GEOMETRY,1,0,1,0,0,3519.577701,3258.530860,4079.105653,3253.674982
6 CONVEYOR,PS3_6,6,1,GEOMETRY,1,0,1,0,0,4079.105653,3253.674982,4784.946959,3257.612009
7 CONVEYOR,PS3_7,7,1,GEOMETRY,1,0,1,0,0,5985.674639,3259.327631,5985.674639,3259.327631
8 CONVEYOR,PS3_9,9,1,GEOMETRY,1,0,1,0,0,6060.483270,3193.853573,6060.789954,2741.579531
9 CONVEYOR,PS3_10,10,1,GEOMETRY,1,0,1,0,0,6060.789954,2741.579531,6060.495376,2610.801360
10 CONVEYOR,PS3_12,12,1,GEOMETRY,1,1,1,1,1,6007.382954,2569.962296,5948.039145,2529.928635
11 CONVEYOR,UL8_1,1,1,GEOMETRY,1,1,1,0,0,632.618127,3188.888389,824.872344,3157.126582
12 CONVEYOR,UL8_2,2,1,GEOMETRY,1,1,1,0,0,885.669058,3169.966906,1712.765129,3158.462454
13 CONVEYOR,UL8_3,3,1,GEOMETRY,1,0,1,0,0,1712.765129,3158.462454,1817.953869,3155.934504
14 CONVEYOR,UL8_5,5,1,GEOMETRY,1,0,1,0,0,1881.702530,3136.323730,1944.426945,3101.149921
15 CONVEYOR,UL8_6,6,1,GEOMETRY,1,0,1,0,0,1944.426945,3101.149921,1978.682956,3086.062642
16 CONVEYOR,UL8_7,7,1,GEOMETRY,1,0,1,0,0,1978.682956,3086.062642,2007.744900,3063.545268
17 CONVEYOR,UL8_8,8,1,GEOMETRY,1,0,1,0,1,2007.744900,3063.545268,2040.663378,3048.333245
18 CONVEYOR,UL10_1,1,1,GEOMETRY,1,1,1,0,0,632.900863,3592.147634,823.776601,3561.145597
19 CONVEYOR,UL10_2,2,1,GEOMETRY,1,1,1,0,0,874.719154,3570.155999,1720.187324,3564.061477
20 CONVEYOR,UL10_3,3,1,GEOMETRY,1,0,1,0,0,1720.187324,3564.061477,2083.996631,3560.766860
21 CONVEYOR,UL10_4,4,1,GEOMETRY,1,0,1,0,0,2083.996631,3560.766860,2128.229940,3542.739063
22 CONVEYOR,UL10_5,5,1,GEOMETRY,1,0,1,0,0,2128.229940,3542.739063,2164.812356,3542.467143
23 CONVEYOR,UL10_6,6,1,GEOMETRY,1,0,1,0,0,2164.812356,3542.467143,2200.090761,3544.785276
24 CONVEYOR,UL10_7,7,1,GEOMETRY,1,0,1,0,0,2200.090761,3544.785276,2236.861695,3544.527150
25 CONVEYOR,UL10_9,9,1,GEOMETRY,1,0,1,0,1,2309.630704,3563.985881,2358.664691,3592.202752
26 CONVEYOR,UL9_3,3,1,GEOMETRY,1,1,1,0,0,551.208873,3355.007428,907.467125,3324.238385
27 CONVEYOR,UL9_4,4,1,GEOMETRY,1,1,1,0,0,907.467125,3324.238385,1700.371316,3323.415506
28 CONVEYOR,UL9_5,5,1,GEOMETRY,1,0,1,0,0,1700.371316,3323.415506,1826.538319,3321.774338
29 CONVEYOR,UL9_7,7,1,GEOMETRY,1,0,1,0,0,1891.501859,3302.098769,2212.651713,3118.960609
30 CONVEYOR,UL9_8,8,1,GEOMETRY,1,0,1,0,0,2212.651713,3118.960609,2247.352179,3100.254070
31 CONVEYOR,UL9_9,9,1,GEOMETRY,1,0,1,0,0,2247.352179,3100.254070,2277.803935,3081.192233
32 CONVEYOR,UL9_10,10,1,GEOMETRY,1,0,1,0,0,2277.803935,3081.192233,2310.374208,3065.368059
33 CONVEYOR,UL9_11,11,1,GEOMETRY,1,0,1,0,1,2310.374208,3065.368059,2343.399072,3047.086292
34 CONVEYOR,UL11_3,3,1,GEOMETRY,1,1,1,0,0,548.752870,3692.802976,897.324015,3661.485774
35 CONVEYOR,UL11_4,4,1,GEOMETRY,1,1,1,0,0,897.324015,3661.485774,1700.480744,3658.222070
36 CONVEYOR,UL11_5,5,1,GEOMETRY,1,0,1,0,0,1700.480744,3658.222070,1844.529026,3653.231416
37 CONVEYOR,UL11_6,6,1,GEOMETRY,1,0,1,0,0,1844.529026,3653.231416,1879.597360,3657.637923
38 CONVEYOR,UL11_7,7,1,GEOMETRY,1,0,1,0,0,1879.597360,3657.637923,1917.029348,3658.582710
39 CONVEYOR,UL11_8,8,1,GEOMETRY,1,0,1,0,0,1917.029348,3658.582710,1951.991891,3658.283856
40 CONVEYOR,UL11_9,9,1,GEOMETRY,1,0,1,0,0,1951.991891,3658.283856,1988.780120,3658.283856
41 CONVEYOR,UL11_10,10,1,GEOMETRY,1,1,1,0,0,2030.764864,3659.578691,2591.455783,3686.635164
42 CONVEYOR,UL11_12,12,1,GEOMETRY,1,0,1,0,0,2750.134283,3691.074283,2845.387748,3690.854148
43 CONVEYOR,UL11_13,13,1,GEOMETRY,1,0,1,0,0,2845.387748,3690.854148,2953.707982,3688.012958
44 CONVEYOR,UL11_14,14,1,GEOMETRY,1,0,1,1,1,2971.430134,3668.918012,3155.997766,3671.874205
45 CONVEYOR,UL12_3,3,1,GEOMETRY,1,1,1,0,0,543.627555,3859.294486,905.036450,3826.957213
46 CONVEYOR,UL12_4,4,1,GEOMETRY,1,1,1,0,0,905.036450,3826.957213,1742.072614,3827.324144
47 CONVEYOR,UL12_5,5,1,GEOMETRY,1,0,1,0,0,1742.072614,3827.324144,1842.084498,3824.815942
48 CONVEYOR,UL12_7,7,1,GEOMETRY,1,0,1,0,0,1908.852330,3808.657056,1955.553412,3781.851714
49 CONVEYOR,UL12_8,8,1,GEOMETRY,1,0,1,0,0,1955.553412,3781.851714,1986.689623,3761.398031
50 CONVEYOR,UL12_9,9,1,GEOMETRY,1,0,1,0,0,1986.689623,3761.398031,2020.048027,3747.625802
51 CONVEYOR,UL12_10,10,1,GEOMETRY,1,0,1,0,1,2020.048027,3747.625802,2049.673824,3728.878967
52 CONVEYOR,UL7_3,3,1,GEOMETRY,1,1,1,0,0,551.742895,2956.847765,908.026025,2987.966131
53 CONVEYOR,UL7_4,4,1,GEOMETRY,1,1,1,0,0,908.026025,2987.966131,1711.113463,2986.840411
54 CONVEYOR,UL7_5,5,1,GEOMETRY,1,0,1,0,0,1711.113463,2986.840411,1817.542835,2987.029037
55 CONVEYOR,UL7_6,6,1,GEOMETRY,1,0,1,0,0,1817.542835,2987.029037,1857.441282,2972.114781
56 CONVEYOR,UL7_7,7,1,GEOMETRY,1,0,1,0,0,1857.441282,2972.114781,1893.692205,2973.612010
57 CONVEYOR,UL7_8,8,1,GEOMETRY,1,0,1,0,0,1893.692205,2973.612010,1929.723023,2973.789916
58 CONVEYOR,UL7_9,9,1,GEOMETRY,1,0,1,0,0,1929.723023,2973.789916,1965.806948,2973.254470
59 CONVEYOR,UL7_10,10,1,GEOMETRY,1,1,1,0,0,1998.130873,2981.527148,2611.835876,2978.598409
60 CONVEYOR,UL7_12,12,1,GEOMETRY,1,0,1,0,0,2766.420800,2995.096200,2863.133560,2992.295904
61 CONVEYOR,UL7_13,13,1,GEOMETRY,1,0,1,0,0,2863.133560,2992.295904,2970.734203,2992.915446
62 CONVEYOR,UL7_14,14,1,GEOMETRY,1,0,1,1,1,2985.330236,2984.624061,3159.803377,2984.151808
63 CONVEYOR,PS4_2,2,1,GEOMETRY,1,0,1,0,0,3144.026193,3596.341132,3300.316069,3508.372989
64 CONVEYOR,PS4_4,4,1,GEOMETRY,1,0,1,0,0,3310.573165,3523.337000,3352.239313,3524.485575
65 CONVEYOR,PS4_5,5,1,GEOMETRY,1,0,1,0,0,3352.239313,3524.485575,4006.352329,3523.358120
66 CONVEYOR,PS4_6,6,1,GEOMETRY,1,0,1,0,0,4006.352329,3523.358120,4688.607797,3525.782820
67 CONVEYOR,PS4_7,7,1,GEOMETRY,1,0,1,0,0,4688.607797,3525.782820,5611.139091,3525.602719
68 CONVEYOR,PS4_8,8,1,GEOMETRY,1,0,1,0,0,5611.139091,3525.602719,6274.851839,3521.438644
69 CONVEYOR,PS4_10,10,1,GEOMETRY,1,0,1,0,0,6353.888615,3456.502166,6352.160013,2673.212430
70 CONVEYOR,PS4_11,11,1,GEOMETRY,1,0,1,0,0,6352.160013,2673.212430,6349.468358,2155.105517
71 CONVEYOR,PS4_12,12,1,GEOMETRY,1,0,1,0,0,6349.468358,2155.105517,6355.840289,1761.029836
72 CONVEYOR,PS4_14,14,1,GEOMETRY,1,1,1,1,1,6272.313843,1688.457365,5949.215298,1690.378911
73 CONVEYOR,UL11_11,11,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
74 CONVEYOR,PS4_1,1,0,VFD_ONLY_BEFORE_GEOM_END,0,1,1,0,0,,,,
75 CONVEYOR,PS4_3,3,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
76 CONVEYOR,PS3_4,4,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
77 CONVEYOR,PS4_9,9,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
78 CONVEYOR,PS3_8,8,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
79 CONVEYOR,PS3_11,11,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
80 CONVEYOR,PS4_13,13,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
81 CONVEYOR,UL7_11,11,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
82 CONVEYOR,UL8_4,4,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
83 CONVEYOR,UL8_9,9,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
84 CONVEYOR,UL9_6,6,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
85 CONVEYOR,UL12_6,6,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
86 CONVEYOR,UL9_12,12,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
87 CONVEYOR,UL10_8,8,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
88 CONVEYOR,UL10_10,10,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
89 CONVEYOR,UL12_11,11,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
90 TPE,PS3_1,,,,,,,,,,,,,PS3_1_TPE1,3159.132392,3024.713237,210.000000,45.785116
91 TPE,PS3_5,,,,,,,,,,,,,PS3_5_TPE1,3519.577701,3258.530860,90.000000,45.785116
92 TPE,PS3_5,,,,,,,,,,,,,PS3_5_TPE2,4079.105653,3253.674982,90.000000,55.323971
93 TPE,PS3_3,,,,,,,,,,,,,PS3_3_TPE1,3478.820696,3249.442902,120.000000,45.785116
94 TPE,PS3_2,,,,,,,,,,,,,PS3_2_TPE1,3190.945812,3042.099631,210.000000,45.785116
95 TPE,UL7_3,,,,,,,,,,,,,UL7_3_TPE2,908.026025,2987.966131,90.000000,43.000000
96 TPE,UL7_3,,,,,,,,,,,,,UL7_3_TPE1,612.253341,3029.621551,0.000000,49.667350
97 TPE,UL7_5,,,,,,,,,,,,,UL7_5_TPE1,1817.542835,2987.029037,90.000000,46.605812
98 TPE,UL7_6,,,,,,,,,,,,,UL7_6_TPE1,1857.441282,2972.114781,90.000000,62.276218
99 TPE,UL7_7,,,,,,,,,,,,,UL7_7_TPE1,1893.692205,2973.612010,90.000000,62.276218
100 TPE,UL7_4,,,,,,,,,,,,,UL7_4_TPE1,1711.113463,2986.840411,90.000000,45.064241
101 TPE,UL7_8,,,,,,,,,,,,,UL7_8_TPE1,1929.723023,2973.789916,90.000000,62.276218
102 TPE,UL7_12,,,,,,,,,,,,,UL7_12_TPE1,2766.420800,2995.096200,90.000000,49.855884
103 TPE,UL7_12,,,,,,,,,,,,,UL7_12_TPE2,2863.133560,2992.295904,90.000000,49.242255
104 TPE,UL7_13,,,,,,,,,,,,,UL7_13_TPE1,2970.734203,2992.915446,90.000000,49.057934
105 TPE,PS3_6,,,,,,,,,,,,,PS3_6_TPE1,4784.946959,3257.612009,90.000000,45.785116
106 TPE,PS3_7,,,,,,,,,,,,,PS3_7_TPE1,5985.674639,3259.327631,90.000000,45.785116
107 TPE,PS3_9,,,,,,,,,,,,,PS3_9_TPE1,6060.483270,3193.853573,180.000000,45.785116
108 TPE,PS3_9,,,,,,,,,,,,,PS3_9_TPE2,6060.789954,2741.579531,180.000000,45.785116
109 TPE,PS3_10,,,,,,,,,,,,,PS3_10_TPE1,6060.495376,2610.801360,180.000000,45.785116
110 TPE,PS3_12,,,,,,,,,,,,,PS3_12_TPE1,5987.261559,2530.050002,90.000000,45.785116
111 TPE,PS3_12,,,,,,,,,,,,,PS3_12_TPE2,5948.039145,2529.928635,90.000000,45.785116
112 TPE,UL8_1,,,,,,,,,,,,,UL8_1_TPE1,824.872344,3157.126582,90.000000,43.000000
113 TPE,UL8_3,,,,,,,,,,,,,UL8_3_TPE1,1817.953869,3155.934504,90.000000,63.087627
114 TPE,UL8_8,,,,,,,,,,,,,UL8_8_TPE1,2040.663378,3048.333245,60.000000,65.489640
115 TPE,UL8_7,,,,,,,,,,,,,UL8_7_TPE1,2007.744900,3063.545268,60.000000,65.489640
116 TPE,UL8_6,,,,,,,,,,,,,UL8_6_TPE1,1978.682956,3086.062642,60.000000,65.489640
117 TPE,UL8_5,,,,,,,,,,,,,UL8_5_TPE2,1944.426945,3101.149921,60.000000,65.489640
118 TPE,UL8_5,,,,,,,,,,,,,UL8_5_TPE1,1881.702530,3136.323730,58.094345,65.489640
119 TPE,UL9_7,,,,,,,,,,,,,UL9_7_TPE1,1891.501859,3302.098769,60.000000,65.489640
120 TPE,UL9_7,,,,,,,,,,,,,UL9_7_TPE2,2212.651713,3118.960609,58.094345,65.489640
121 TPE,UL9_8,,,,,,,,,,,,,UL9_8_TPE1,2247.352179,3100.254070,58.094345,65.489640
122 TPE,UL9_9,,,,,,,,,,,,,UL9_9_TPE1,2277.803935,3081.192233,58.094345,65.489640
123 TPE,UL9_10,,,,,,,,,,,,,UL9_10_TPE1,2310.374208,3065.368059,58.094345,65.489640
124 TPE,UL8_2,,,,,,,,,,,,,UL8_2_TPE1,885.669058,3169.966906,270.000000,49.667350
125 TPE,UL8_2,,,,,,,,,,,,,UL8_2_TPE2,1712.765129,3158.462454,90.000000,43.000000
126 TPE,UL9_3,,,,,,,,,,,,,UL9_3_TPE1,608.834305,3362.234637,0.000000,49.667350
127 TPE,UL9_3,,,,,,,,,,,,,UL9_3_TPE2,907.467125,3324.238385,90.000000,43.000000
128 TPE,UL9_4,,,,,,,,,,,,,UL9_4_TPE1,1700.371316,3323.415506,90.000000,43.000000
129 TPE,UL10_1,,,,,,,,,,,,,UL10_1_TPE1,823.776601,3561.145597,90.000000,43.000000
130 TPE,UL10_2,,,,,,,,,,,,,UL10_2_TPE1,874.719154,3570.155999,270.000000,49.667350
131 TPE,UL10_2,,,,,,,,,,,,,UL10_2_TPE2,1720.187324,3564.061477,90.000000,43.000000
132 TPE,UL10_4,,,,,,,,,,,,,UL10_4_TPE1,2128.229940,3542.739063,90.000000,62.276218
133 TPE,UL10_5,,,,,,,,,,,,,UL10_5_TPE1,2164.812356,3542.467143,90.000000,62.276218
134 TPE,UL10_6,,,,,,,,,,,,,UL10_6_TPE1,2200.090761,3544.785276,90.000000,62.276218
135 TPE,UL10_3,,,,,,,,,,,,,UL10_3_TPE1,2083.996631,3560.766860,90.000000,45.064241
136 TPE,UL10_7,,,,,,,,,,,,,UL10_7_TPE1,2236.861695,3544.527150,90.000000,62.276218
137 TPE,UL10_9,,,,,,,,,,,,,UL10_9_TPE1,2309.630704,3563.985881,120.000000,63.276200
138 TPE,UL10_9,,,,,,,,,,,,,UL10_9_TPE2,2358.664691,3592.202752,120.000000,62.276218
139 TPE,UL11_3,,,,,,,,,,,,,UL11_3_TPE1,606.378302,3700.030184,0.000000,49.667350
140 TPE,UL11_3,,,,,,,,,,,,,UL11_3_TPE2,897.324015,3661.485774,90.000000,43.000000
141 TPE,UL11_5,,,,,,,,,,,,,UL11_5_TPE1,1844.529026,3653.231416,90.000000,49.642395
142 TPE,UL11_6,,,,,,,,,,,,,UL11_6_TPE1,1879.597360,3657.637923,90.000000,62.276218
143 TPE,UL11_7,,,,,,,,,,,,,UL11_7_TPE1,1917.029348,3658.582710,90.000000,62.276218
144 TPE,UL11_4,,,,,,,,,,,,,UL11_4_TPE1,1700.480744,3658.222070,90.000000,45.064241
145 TPE,UL11_8,,,,,,,,,,,,,UL11_8_TPE1,1951.991891,3658.283856,90.000000,62.276218
146 TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE1,2030.764864,3659.578691,90.000000,62.276218
147 TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE2,2198.528913,3659.525592,90.000000,62.276218
148 TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE3,2325.765680,3684.433010,270.000000,62.276218
149 TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE4,2487.792623,3686.690780,270.000000,62.276218
150 TPE,UL11_10,,,,,,,,,,,,,UL11_10_TPE5,2591.455783,3686.635164,270.000000,62.276218
151 TPE,UL11_12,,,,,,,,,,,,,UL11_12_TPE1,2750.134283,3691.074283,270.000000,54.406101
152 TPE,UL11_12,,,,,,,,,,,,,UL11_12_TPE2,2845.387748,3690.854148,270.000000,54.406101
153 TPE,UL11_13,,,,,,,,,,,,,UL11_13_TPE1,2953.707982,3688.012958,270.000000,47.542783
154 TPE,UL12_3,,,,,,,,,,,,,UL12_3_TPE2,905.036450,3826.957213,90.000000,43.000000
155 TPE,UL12_4,,,,,,,,,,,,,UL12_4_TPE1,1742.072614,3827.324144,90.000000,43.000000
156 TPE,UL12_9,,,,,,,,,,,,,UL12_9_TPE1,2020.048027,3747.625802,58.094345,65.489640
157 TPE,UL12_8,,,,,,,,,,,,,UL12_8_TPE1,1986.689623,3761.398031,58.094345,65.489640
158 TPE,UL12_7,,,,,,,,,,,,,UL12_7_TPE2,1955.553412,3781.851714,58.094345,65.489640
159 TPE,UL12_7,,,,,,,,,,,,,UL12_7_TPE1,1908.852330,3808.657056,58.094345,65.489640
160 TPE,PS4_2,,,,,,,,,,,,,PS4_2_TPE1,3144.026193,3596.341132,329.554546,45.785116
161 TPE,PS4_2,,,,,,,,,,,,,PS4_2_TPE2,3300.316069,3508.372989,329.554546,45.785116
162 TPE,PS4_4,,,,,,,,,,,,,PS4_4_TPE1,3310.573165,3523.337000,90.000000,45.785116
163 TPE,PS4_4,,,,,,,,,,,,,PS4_4_TPE2,3352.239313,3524.485575,90.000000,45.785116
164 TPE,PS4_5,,,,,,,,,,,,,PS4_5_TPE1,4006.352329,3523.358120,90.000000,45.785116
165 TPE,PS4_6,,,,,,,,,,,,,PS4_6_TPE1,4688.607797,3525.782820,90.000000,45.785116
166 TPE,PS4_7,,,,,,,,,,,,,PS4_7_TPE1,5611.139091,3525.602719,90.000000,45.785116
167 TPE,PS4_8,,,,,,,,,,,,,PS4_8_TPE1,6274.851839,3521.438644,90.000000,45.785116
168 TPE,PS4_10,,,,,,,,,,,,,PS4_10_TPE1,6353.888615,3456.502166,180.000000,45.785116
169 TPE,PS4_10,,,,,,,,,,,,,PS4_10_TPE2,6352.160013,2673.212430,180.000000,45.785116
170 TPE,PS4_11,,,,,,,,,,,,,PS4_11_TPE1,6349.468358,2155.105517,180.000000,45.785116
171 TPE,PS4_12,,,,,,,,,,,,,PS4_12_TPE1,6355.840289,1761.029836,180.000000,45.785116
172 TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE1,2985.330236,2984.624061,90.000000,62.276218
173 TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE2,2995.809571,2984.624061,90.000000,62.276218
174 TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE3,3006.611353,2984.624061,90.000000,62.276218
175 TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE4,3145.918252,2982.299275,90.000000,62.276218
176 TPE,UL7_14,,,,,,,,,,,,,UL7_14_PE5,3159.803377,2984.151808,90.000000,62.276218
177 TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE1,2971.430134,3668.918012,90.000000,62.276218
178 TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE2,2981.909469,3668.918012,90.000000,62.276218
179 TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE3,2992.711251,3668.918012,90.000000,62.276218
180 TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE4,3140.122346,3669.955216,90.000000,62.276218
181 TPE,UL11_14,,,,,,,,,,,,,UL11_14_PE5,3155.997766,3671.874205,90.000000,62.276218
182 TPE,UL7_9,,,,,,,,,,,,,UL7_9_TPE1,1965.806948,2973.254470,90.000000,62.276218
183 TPE,UL9_5,,,,,,,,,,,,,UL9_5_TPE1,1826.538319,3321.774338,90.000000,65.052088
184 TPE,UL9_11,,,,,,,,,,,,,UL9_11_TPE1,2343.399072,3047.086292,58.094345,65.489640
185 TPE,UL11_9,,,,,,,,,,,,,UL11_9_TPE1,1988.780120,3658.283856,90.000000,62.276218
186 TPE,UL12_5,,,,,,,,,,,,,UL12_5_TPE1,1842.084498,3824.815942,90.000000,64.845569
187 TPE,UL12_10,,,,,,,,,,,,,UL12_10_TPE1,2049.673824,3728.878967,58.094345,65.489640
188 TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE2,2184.282561,2976.023749,90.000000,66.331837
189 TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE4,2488.728147,2977.141287,90.000000,63.585604
190 TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE5,2611.835876,2978.598409,90.000000,62.276218
191 TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE1,1998.130873,2981.527148,90.000000,62.276218
192 TPE,UL7_10,,,,,,,,,,,,,UL7_10_TPE3,2334.139704,2978.861146,90.000000,62.276218
193 TPE,PS4_14,,,,,,,,,,,,,PS4_14_TPE1,6272.313843,1688.457365,90.000000,45.785116
194 TPE,PS4_14,,,,,,,,,,,,,PS4_14_TPE2,5949.215298,1690.378911,90.000000,45.785116

View File

@ -1,74 +0,0 @@
conveyor_key,sec,included,reason,has_tpe,has_epc,has_vfd,is_last_any,is_last_geom,start_x,start_y,end_x,end_y
PS1_2,2,1,GEOMETRY,1,0,1,0,0,3182.112871,1751.627960,3307.631353,1679.668896
PS1_4,4,1,GEOMETRY,1,0,1,0,0,3377.926229,1655.901734,3931.089961,1657.733689
PS1_5,5,1,GEOMETRY,1,1,1,1,1,3931.089961,1657.733689,4262.417377,1656.646266
PS2_2,2,1,GEOMETRY,1,0,1,0,0,3099.843745,2245.419901,3140.391285,2223.245100
PS2_3,3,1,GEOMETRY,1,0,1,0,0,3140.391285,2223.245100,3588.721702,1959.931507
PS2_5,5,1,GEOMETRY,1,0,1,0,0,3660.544200,1941.885284,4197.937505,1938.160461
PS2_6,6,1,GEOMETRY,1,1,1,1,1,4197.937505,1938.160461,4259.627698,1938.547503
UL1_3,3,1,GEOMETRY,1,1,1,0,0,547.290786,1846.090315,902.762889,1810.459399
UL1_4,4,1,GEOMETRY,1,1,1,0,0,902.762889,1810.459399,1731.526555,1810.217430
UL1_5,5,1,GEOMETRY,1,0,1,0,0,1731.526555,1810.217430,1839.227859,1809.167581
UL1_6,6,1,GEOMETRY,1,0,1,0,0,1839.227859,1809.167581,1876.642886,1807.970923
UL1_7,7,1,GEOMETRY,1,0,1,0,0,1876.642886,1807.970923,1912.482307,1808.027116
UL1_8,8,1,GEOMETRY,1,0,1,0,0,1912.482307,1808.027116,1948.547333,1806.790209
UL1_9,9,1,GEOMETRY,1,0,1,0,0,1948.547333,1806.790209,1985.172076,1809.772901
UL1_10,10,1,GEOMETRY,1,1,1,0,0,2020.869443,1811.538199,2641.029923,1810.100198
UL1_11,11,1,GEOMETRY,1,0,1,0,0,2641.029923,1810.100198,2803.698247,1810.912459
UL1_12,12,1,GEOMETRY,1,0,1,0,0,2803.698247,1810.912459,2893.829959,1825.589512
UL1_13,13,1,GEOMETRY,1,0,1,0,0,2893.829959,1825.589512,3018.129340,1821.502800
UL1_14,14,1,GEOMETRY,1,0,1,1,1,3034.357601,1826.496682,3281.847811,1820.321611
UL2_3,3,1,GEOMETRY,1,1,1,0,0,553.975614,2012.630135,903.404869,1978.577931
UL2_4,4,1,GEOMETRY,1,1,1,0,0,903.404869,1978.577931,1719.423553,1977.802191
UL2_5,5,1,GEOMETRY,1,0,1,0,0,1719.423553,1977.802191,1822.643168,1978.445929
UL2_7,7,1,GEOMETRY,1,0,1,0,0,1899.557661,1958.742816,1944.517637,1930.951081
UL2_8,8,1,GEOMETRY,1,0,1,0,0,1944.517637,1930.951081,1976.150833,1915.448512
UL2_9,9,1,GEOMETRY,1,0,1,0,0,1976.150833,1915.448512,2008.246923,1897.796075
UL2_10,10,1,GEOMETRY,1,0,1,0,1,2008.246923,1897.796075,2037.918359,1881.625600
UL3_1,1,1,GEOMETRY,1,1,1,0,0,633.140086,2120.663545,831.814701,2091.737797
UL3_2,2,1,GEOMETRY,1,1,1,0,0,878.893221,2098.646563,1861.404040,2089.400325
UL3_3,3,1,GEOMETRY,1,0,1,0,0,1861.404040,2089.400325,2017.419596,2090.046509
UL3_5,5,1,GEOMETRY,1,0,1,0,0,2082.236933,2070.328821,2282.772670,1950.214639
UL3_6,6,1,GEOMETRY,1,0,1,0,0,2282.772670,1950.214639,2315.361086,1932.846138
UL3_7,7,1,GEOMETRY,1,0,1,0,0,2315.361086,1932.846138,2348.664717,1919.645834
UL3_8,8,1,GEOMETRY,1,0,1,0,0,2348.664717,1919.645834,2378.129323,1897.913034
UL3_9,9,1,GEOMETRY,1,0,1,0,1,2378.129323,1897.913034,2408.907201,1881.035163
UL4_3,3,1,GEOMETRY,1,1,1,0,0,552.788849,2350.626783,905.700382,2315.449436
UL4_4,4,1,GEOMETRY,1,1,1,0,0,905.700382,2315.449436,1712.101194,2313.812375
UL4_5,5,1,GEOMETRY,1,0,1,0,0,1712.101194,2313.812375,1819.964891,2317.864418
UL4_6,6,1,GEOMETRY,1,0,1,0,0,1819.964891,2317.864418,1856.812083,2304.600063
UL4_7,7,1,GEOMETRY,1,0,1,0,0,1856.812083,2304.600063,1892.551907,2306.435269
UL4_8,8,1,GEOMETRY,1,0,1,0,0,1892.551907,2306.435269,1928.981908,2306.047462
UL4_9,9,1,GEOMETRY,1,0,1,0,0,1928.981908,2306.047462,1965.024016,2306.234051
UL4_10,10,1,GEOMETRY,1,1,1,0,0,2001.418905,2307.809246,2557.362372,2308.264495
UL4_11,11,1,GEOMETRY,1,0,1,0,0,2557.362372,2308.264495,2718.741165,2320.506810
UL4_12,12,1,GEOMETRY,1,0,1,0,0,2718.741165,2320.506810,2815.749256,2323.832156
UL4_13,13,1,GEOMETRY,1,0,1,0,0,2815.749256,2323.832156,2914.786899,2322.882657
UL4_14,14,1,GEOMETRY,1,0,1,1,1,2925.448433,2318.555436,3138.255794,2321.951658
UL5_3,3,1,GEOMETRY,1,1,1,0,0,546.894209,2453.798891,903.442508,2479.527764
UL5_4,4,1,GEOMETRY,1,1,1,0,0,903.442508,2479.527764,1691.840905,2484.924653
UL5_5,5,1,GEOMETRY,1,0,1,0,0,1691.840905,2484.924653,1789.119716,2480.254441
UL5_7,7,1,GEOMETRY,1,0,1,0,0,1854.915951,2464.288039,1913.811244,2428.171974
UL5_8,8,1,GEOMETRY,1,0,1,0,0,1913.811244,2428.171974,1946.027358,2411.078652
UL5_9,9,1,GEOMETRY,1,0,1,0,0,1946.027358,2411.078652,1976.288196,2392.094872
UL5_10,10,1,GEOMETRY,1,0,1,0,1,1976.288196,2392.094872,2008.055527,2375.211118
UL6_1,1,1,GEOMETRY,1,1,1,0,0,633.808413,2684.658977,830.713568,2651.384227
UL6_2,2,1,GEOMETRY,1,1,1,0,0,889.155446,2663.081118,1706.522553,2653.949825
UL6_3,3,1,GEOMETRY,1,0,1,0,0,1706.522553,2653.949825,1811.247017,2651.041122
UL6_5,5,1,GEOMETRY,1,0,1,0,0,1876.189950,2633.114258,2190.222142,2447.433453
UL6_6,6,1,GEOMETRY,1,0,1,0,0,2190.222142,2447.433453,2221.929865,2428.342256
UL6_7,7,1,GEOMETRY,1,0,1,0,0,2221.929865,2428.342256,2254.419133,2412.811656
UL6_8,8,1,GEOMETRY,1,0,1,0,0,2254.419133,2412.811656,2285.596047,2394.811656
UL6_9,9,1,GEOMETRY,1,0,1,0,1,2285.596047,2394.811656,2315.906936,2377.311656
UL2_6,6,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
UL3_4,4,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
PS1_1,1,0,VFD_ONLY_BEFORE_GEOM_END,0,1,1,0,0,,,,
PS2_4,4,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
PS1_3,3,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
PS2_1,1,0,VFD_ONLY_BEFORE_GEOM_END,0,1,1,0,0,,,,
UL5_6,6,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
UL2_11,11,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
UL3_10,10,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
UL5_11,11,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
UL6_4,4,0,VFD_ONLY_BEFORE_GEOM_END,0,0,1,0,0,,,,
UL6_10,10,0,VFD_ONLY_LAST_MAY_MERGE,0,0,1,1,0,,,,
1 conveyor_key sec included reason has_tpe has_epc has_vfd is_last_any is_last_geom start_x start_y end_x end_y
2 PS1_2 2 1 GEOMETRY 1 0 1 0 0 3182.112871 1751.627960 3307.631353 1679.668896
3 PS1_4 4 1 GEOMETRY 1 0 1 0 0 3377.926229 1655.901734 3931.089961 1657.733689
4 PS1_5 5 1 GEOMETRY 1 1 1 1 1 3931.089961 1657.733689 4262.417377 1656.646266
5 PS2_2 2 1 GEOMETRY 1 0 1 0 0 3099.843745 2245.419901 3140.391285 2223.245100
6 PS2_3 3 1 GEOMETRY 1 0 1 0 0 3140.391285 2223.245100 3588.721702 1959.931507
7 PS2_5 5 1 GEOMETRY 1 0 1 0 0 3660.544200 1941.885284 4197.937505 1938.160461
8 PS2_6 6 1 GEOMETRY 1 1 1 1 1 4197.937505 1938.160461 4259.627698 1938.547503
9 UL1_3 3 1 GEOMETRY 1 1 1 0 0 547.290786 1846.090315 902.762889 1810.459399
10 UL1_4 4 1 GEOMETRY 1 1 1 0 0 902.762889 1810.459399 1731.526555 1810.217430
11 UL1_5 5 1 GEOMETRY 1 0 1 0 0 1731.526555 1810.217430 1839.227859 1809.167581
12 UL1_6 6 1 GEOMETRY 1 0 1 0 0 1839.227859 1809.167581 1876.642886 1807.970923
13 UL1_7 7 1 GEOMETRY 1 0 1 0 0 1876.642886 1807.970923 1912.482307 1808.027116
14 UL1_8 8 1 GEOMETRY 1 0 1 0 0 1912.482307 1808.027116 1948.547333 1806.790209
15 UL1_9 9 1 GEOMETRY 1 0 1 0 0 1948.547333 1806.790209 1985.172076 1809.772901
16 UL1_10 10 1 GEOMETRY 1 1 1 0 0 2020.869443 1811.538199 2641.029923 1810.100198
17 UL1_11 11 1 GEOMETRY 1 0 1 0 0 2641.029923 1810.100198 2803.698247 1810.912459
18 UL1_12 12 1 GEOMETRY 1 0 1 0 0 2803.698247 1810.912459 2893.829959 1825.589512
19 UL1_13 13 1 GEOMETRY 1 0 1 0 0 2893.829959 1825.589512 3018.129340 1821.502800
20 UL1_14 14 1 GEOMETRY 1 0 1 1 1 3034.357601 1826.496682 3281.847811 1820.321611
21 UL2_3 3 1 GEOMETRY 1 1 1 0 0 553.975614 2012.630135 903.404869 1978.577931
22 UL2_4 4 1 GEOMETRY 1 1 1 0 0 903.404869 1978.577931 1719.423553 1977.802191
23 UL2_5 5 1 GEOMETRY 1 0 1 0 0 1719.423553 1977.802191 1822.643168 1978.445929
24 UL2_7 7 1 GEOMETRY 1 0 1 0 0 1899.557661 1958.742816 1944.517637 1930.951081
25 UL2_8 8 1 GEOMETRY 1 0 1 0 0 1944.517637 1930.951081 1976.150833 1915.448512
26 UL2_9 9 1 GEOMETRY 1 0 1 0 0 1976.150833 1915.448512 2008.246923 1897.796075
27 UL2_10 10 1 GEOMETRY 1 0 1 0 1 2008.246923 1897.796075 2037.918359 1881.625600
28 UL3_1 1 1 GEOMETRY 1 1 1 0 0 633.140086 2120.663545 831.814701 2091.737797
29 UL3_2 2 1 GEOMETRY 1 1 1 0 0 878.893221 2098.646563 1861.404040 2089.400325
30 UL3_3 3 1 GEOMETRY 1 0 1 0 0 1861.404040 2089.400325 2017.419596 2090.046509
31 UL3_5 5 1 GEOMETRY 1 0 1 0 0 2082.236933 2070.328821 2282.772670 1950.214639
32 UL3_6 6 1 GEOMETRY 1 0 1 0 0 2282.772670 1950.214639 2315.361086 1932.846138
33 UL3_7 7 1 GEOMETRY 1 0 1 0 0 2315.361086 1932.846138 2348.664717 1919.645834
34 UL3_8 8 1 GEOMETRY 1 0 1 0 0 2348.664717 1919.645834 2378.129323 1897.913034
35 UL3_9 9 1 GEOMETRY 1 0 1 0 1 2378.129323 1897.913034 2408.907201 1881.035163
36 UL4_3 3 1 GEOMETRY 1 1 1 0 0 552.788849 2350.626783 905.700382 2315.449436
37 UL4_4 4 1 GEOMETRY 1 1 1 0 0 905.700382 2315.449436 1712.101194 2313.812375
38 UL4_5 5 1 GEOMETRY 1 0 1 0 0 1712.101194 2313.812375 1819.964891 2317.864418
39 UL4_6 6 1 GEOMETRY 1 0 1 0 0 1819.964891 2317.864418 1856.812083 2304.600063
40 UL4_7 7 1 GEOMETRY 1 0 1 0 0 1856.812083 2304.600063 1892.551907 2306.435269
41 UL4_8 8 1 GEOMETRY 1 0 1 0 0 1892.551907 2306.435269 1928.981908 2306.047462
42 UL4_9 9 1 GEOMETRY 1 0 1 0 0 1928.981908 2306.047462 1965.024016 2306.234051
43 UL4_10 10 1 GEOMETRY 1 1 1 0 0 2001.418905 2307.809246 2557.362372 2308.264495
44 UL4_11 11 1 GEOMETRY 1 0 1 0 0 2557.362372 2308.264495 2718.741165 2320.506810
45 UL4_12 12 1 GEOMETRY 1 0 1 0 0 2718.741165 2320.506810 2815.749256 2323.832156
46 UL4_13 13 1 GEOMETRY 1 0 1 0 0 2815.749256 2323.832156 2914.786899 2322.882657
47 UL4_14 14 1 GEOMETRY 1 0 1 1 1 2925.448433 2318.555436 3138.255794 2321.951658
48 UL5_3 3 1 GEOMETRY 1 1 1 0 0 546.894209 2453.798891 903.442508 2479.527764
49 UL5_4 4 1 GEOMETRY 1 1 1 0 0 903.442508 2479.527764 1691.840905 2484.924653
50 UL5_5 5 1 GEOMETRY 1 0 1 0 0 1691.840905 2484.924653 1789.119716 2480.254441
51 UL5_7 7 1 GEOMETRY 1 0 1 0 0 1854.915951 2464.288039 1913.811244 2428.171974
52 UL5_8 8 1 GEOMETRY 1 0 1 0 0 1913.811244 2428.171974 1946.027358 2411.078652
53 UL5_9 9 1 GEOMETRY 1 0 1 0 0 1946.027358 2411.078652 1976.288196 2392.094872
54 UL5_10 10 1 GEOMETRY 1 0 1 0 1 1976.288196 2392.094872 2008.055527 2375.211118
55 UL6_1 1 1 GEOMETRY 1 1 1 0 0 633.808413 2684.658977 830.713568 2651.384227
56 UL6_2 2 1 GEOMETRY 1 1 1 0 0 889.155446 2663.081118 1706.522553 2653.949825
57 UL6_3 3 1 GEOMETRY 1 0 1 0 0 1706.522553 2653.949825 1811.247017 2651.041122
58 UL6_5 5 1 GEOMETRY 1 0 1 0 0 1876.189950 2633.114258 2190.222142 2447.433453
59 UL6_6 6 1 GEOMETRY 1 0 1 0 0 2190.222142 2447.433453 2221.929865 2428.342256
60 UL6_7 7 1 GEOMETRY 1 0 1 0 0 2221.929865 2428.342256 2254.419133 2412.811656
61 UL6_8 8 1 GEOMETRY 1 0 1 0 0 2254.419133 2412.811656 2285.596047 2394.811656
62 UL6_9 9 1 GEOMETRY 1 0 1 0 1 2285.596047 2394.811656 2315.906936 2377.311656
63 UL2_6 6 0 VFD_ONLY_BEFORE_GEOM_END 0 0 1 0 0
64 UL3_4 4 0 VFD_ONLY_BEFORE_GEOM_END 0 0 1 0 0
65 PS1_1 1 0 VFD_ONLY_BEFORE_GEOM_END 0 1 1 0 0
66 PS2_4 4 0 VFD_ONLY_BEFORE_GEOM_END 0 0 1 0 0
67 PS1_3 3 0 VFD_ONLY_BEFORE_GEOM_END 0 0 1 0 0
68 PS2_1 1 0 VFD_ONLY_BEFORE_GEOM_END 0 1 1 0 0
69 UL5_6 6 0 VFD_ONLY_BEFORE_GEOM_END 0 0 1 0 0
70 UL2_11 11 0 VFD_ONLY_LAST_MAY_MERGE 0 0 1 1 0
71 UL3_10 10 0 VFD_ONLY_LAST_MAY_MERGE 0 0 1 1 0
72 UL5_11 11 0 VFD_ONLY_LAST_MAY_MERGE 0 0 1 1 0
73 UL6_4 4 0 VFD_ONLY_BEFORE_GEOM_END 0 0 1 0 0
74 UL6_10 10 0 VFD_ONLY_LAST_MAY_MERGE 0 0 1 1 0

View File

@ -42,6 +42,29 @@
(append parts (list cur))
)
(defun getDynPropVal (blk propName / props p n raw v)
(setq propName (strcase propName))
(setq v nil)
(if (= :vlax-true (vla-get-isdynamicblock blk))
(progn
(setq props (vlax-invoke blk 'GetDynamicBlockProperties))
(foreach p props
(setq n (strcase (vla-get-propertyname p)))
(if (= n propName)
(progn
(setq raw (vlax-variant-value (vla-get-value p)))
(if (numberp raw) (setq v raw))
)
)
)
)
)
v
)
(defun parse-ptag1-anchor (ptag / s parts prefix section third kind idx)
(setq s (strcase (vl-string-trim " " ptag)))
(if (and s (vl-string-search "_" s))
@ -96,6 +119,23 @@
nil)))
)
(defun PI () (* 4.0 (atan 1.0)))
(defun rad->deg (r)
(* r (/ 180.0 (PI)))
)
(defun tpe-rot-deg (raw / v)
;; raw may already be degrees in some blocks, or radians in others.
;; Heuristic: if abs(v) <= ~2π it's radians, else it's degrees.
(setq v raw)
(if (and (numberp v) (<= (abs v) (* 2.0 (PI))))
(rad->deg v)
v
)
)
(defun dist2d (p q / dx dy)
(setq dx (- (car p) (car q)))
(setq dy (- (cadr p) (cadr q)))
@ -167,6 +207,12 @@
(progn
(setq attList (vlax-invoke blk 'GetAttributes))
(setq ptag (getAttVal attList "P_TAG1"))
;; >>> ADDED: TPE-specific dynamic properties (Custom section)
(setq tpeRotRaw (getDynPropValNum blk "PE ROTATION")) ; numeric
(setq tpeRot (tpe-rot-deg tpeRotRaw))
(setq tpeDist (getDynPropVal blk "Distance1"))
(setq parsed (parse-ptag1-anchor ptag))
(if parsed
@ -183,7 +229,7 @@
(setq xy (list (car insPt) (cadr insPt)))
(setq entries (cdr (assoc key tpeMap)))
(if (not entries) (setq entries '()))
(setq entries (cons (list idx xy) entries))
(setq entries (cons (list idx xy ptag tpeRot tpeDist) entries))
(setq tpeMap
(if (assoc key tpeMap)
(subst (cons key entries) (assoc key tpeMap) tpeMap)
@ -323,13 +369,27 @@
)
;; --- 3) Write CSV ---
(setq outPath (getfiled "Save conveyors CSV"
(strcat (getvar "DWGPREFIX") "conveyors.csv")
"csv" 1))
(setq outPath
(getfiled
"Save conveyors CSV"
(strcat
(getvar "DWGPREFIX")
(vl-filename-base (getvar "DWGNAME"))
".csv"
)
"csv"
1
)
)
(if outPath
(progn
(setq fh (open outPath "w"))
(write-line "conveyor_key,sec,included,reason,has_tpe,has_epc,has_vfd,is_last_any,is_last_geom,start_x,start_y,end_x,end_y" fh)
;; >>> ADDED: record_type + TPE columns
(write-line
"record_type,conveyor_key,sec,included,reason,has_tpe,has_epc,has_vfd,is_last_any,is_last_geom,start_x,start_y,end_x,end_y,tpe_name,tpe_x,tpe_y,tpe_rotation,tpe_distance"
fh)
;; --- 3A) Geometry conveyors (included=1) ---
(foreach kv chainMap
@ -393,9 +453,9 @@
(setq isLastAny (if (= secNum maxAny) 1 0))
(setq isLastGeom (if (= secNum maxGeom) 1 0))
(setq reason "GEOMETRY")
(write-line
(strcat
"CONVEYOR," ;; >>> ADDED
key "," (itoa secNum) ","
(itoa included) "," reason ","
(itoa hasT) "," (itoa hasE) "," (itoa hasV) ","
@ -405,6 +465,7 @@
)
fh
)
)
)
@ -444,6 +505,7 @@
(write-line
(strcat
"CONVEYOR," ;; >>> ADDED
key "," (itoa secNum) ","
(itoa included) "," reason ","
(itoa hasT) "," (itoa hasE) "," (itoa hasV) ","
@ -451,9 +513,48 @@
)
fh
)
)
)
)
;; ============================================================
;; 3C) TPE records
;; ============================================================
;; record_type = TPE
;; sec column intentionally left EMPTY
;; ============================================================
(foreach kv tpeMap
(setq key (car kv))
(foreach it (cdr kv)
(setq idx (nth 0 it))
(setq xy (nth 1 it))
(setq tpeName (nth 2 it))
(setq tpeRot (nth 3 it))
(setq tpeDist (nth 4 it))
(write-line
(strcat
"TPE," ;; record_type
key "," ;; conveyor_key
"," ;; sec (INTENTIONALLY EMPTY)
",,,,,,,," ;; conveyor-only fields
"," "," "," ;; start_x,start_y,end_x,end_y empty
tpeName "," ;; tpe_name
(rtos (car xy) 2 6) ","
(rtos (cadr xy) 2 6) ","
(rtos (tpe-rot-deg tpeRot) 2 6) "," ;; tpe_rotation
(if tpeDist (rtos tpeDist 2 6) "") ;; tpe_distance
)
fh
)
)
)
(close fh)
(princ (strcat "\nExported conveyors to: " outPath))

View File

@ -2,39 +2,76 @@ import csv
import math
from pathlib import Path
# -----------------------
# AUTO CSV DISCOVERY
# -----------------------
SCRIPT_DIR = Path(__file__).resolve().parent
csv_files = list(SCRIPT_DIR.glob("*.csv"))
if len(csv_files) == 0:
raise RuntimeError("No CSV file found in script directory.")
if len(csv_files) > 1:
raise RuntimeError(
"Multiple CSV files found. Please keep only ONE CSV in the folder:\n"
+ "\n".join(f.name for f in csv_files)
)
CSV_PATH = csv_files[0]
OUT_TSCN = CSV_PATH.with_suffix(".tscn")
print(f"Using CSV: {CSV_PATH.name}")
print(f"Generating scene: {OUT_TSCN.name}")
# -----------------------
# CONFIG
# -----------------------
CSV_PATH = "conveyors.csv"
OUT_TSCN = "generated_conveyors.tscn"
SCALE = 0.0254
FIXED_Y = 2.5
STRAIGHT_BELT_ID = "3_38ygf"
CURVED_BELT_ID = "1_ef28r"
# Spur / curve tuning
SPUR_TANGENT_NUDGE = 0.0
MIN_CURVE_DEG = 1.0
MIN_REAL_ROT_DEG = 5.0
# Geometry (must match asset)
CURVE_INNER_RADIUS = 1.815
BELT_WIDTH = 1.524
CURVE_INNER_RADIUS = 0.5
BELT_WIDTH_DEFAULT = 1.524 # default size.z
DEGEN_EPS = 0.001 # meters (true zero-length)
# Gap stitching tolerance
EPS = 0.05 # meters
# Straight-run “de-jitter” (alignment) pass
STRAIGHTEN_RUNS = True
STRAIGHTEN_MAX_DEV_DEG = 2.0 # if a "straight run" deviates more than this, skip straightening that run
# Optional width columns (if you add them to CSV later)
# - *_m assumed meters
# - *_in assumed inches -> meters via SCALE
WIDTH_COLS = [
("belt_width_m", 1.0),
("width_m", 1.0),
("belt_width_in", SCALE),
("width_in", SCALE),
("belt_width", SCALE), # treat as inches by default
("width", SCALE),
]
# -----------------------
# HELPERS
# -----------------------
def rot_deg(rot_y):
return abs(rot_y * 180.0 / math.pi)
def transform_from_points(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
length = math.hypot(dx, dy) * SCALE
mid_x = (x1 + x2) / 2 * SCALE
mid_z = -(y1 + y2) / 2 * SCALE # AutoCAD Y → Godot -Z
rot_y = math.atan2(-dy, dx)
mid_z = -(y1 + y2) / 2 * SCALE
rot_y = math.atan2(-dy, dx) # AutoCAD +Y becomes Godot -Z
return {
"length": length,
@ -62,23 +99,17 @@ def unit_fwd(rot_y):
def unit_right(rot_y):
return -math.sin(rot_y), math.cos(rot_y)
def end_point(conv):
dx, dz = unit_fwd(conv["rot_y"])
half = conv["length"] / 2
return (
conv["pos"][0] + dx * half,
conv["pos"][2] + dz * half
)
def start_point(conv):
dx, dz = unit_fwd(conv["rot_y"])
half = conv["length"] / 2
return (
conv["pos"][0] - dx * half,
conv["pos"][2] - dz * half
)
return (conv["pos"][0] - dx * half, conv["pos"][2] - dz * half)
def add_straight_node(lines, name, rot_y, cx, cz, length):
def end_point(conv):
dx, dz = unit_fwd(conv["rot_y"])
half = conv["length"] / 2
return (conv["pos"][0] + dx * half, conv["pos"][2] + dz * half)
def add_straight_node(lines, name, rot_y, cx, cz, length, width):
t = transform3d(rot_y, cx, FIXED_Y, cz)
lines.append(f'[node name="{name}" parent="." instance=ExtResource("{STRAIGHT_BELT_ID}")]')
lines.append(f"transform = {t}")
@ -88,7 +119,7 @@ def add_straight_node(lines, name, rot_y, cx, cz, length):
lines.append("tail_end_leg_enabled = false")
lines.append("enable_comms = true")
lines.append(f'speed_tag_name = "{name}_OIP"')
lines.append(f"size = Vector3({length:.6f}, 0.5, 1.524)")
lines.append(f"size = Vector3({length:.6f}, 0.5, {width:.6f})")
lines.append("")
def add_curved_node(lines, name, rot_y, px, pz, angle_deg):
@ -101,22 +132,96 @@ def add_curved_node(lines, name, rot_y, px, pz, angle_deg):
lines.append(f'speed_tag_name = "{name}_OIP"')
lines.append("")
def angle_between_fwd(a_fwd, b_fwd):
ax, az = a_fwd
bx, bz = b_fwd
cross = ax * bz - az * bx
dot = ax * bx + az * bz
return abs(math.atan2(cross, dot))
def rebuild_from_start_end(conv, sx, sz, ex, ez):
length = math.hypot(ex - sx, ez - sz)
cx = (sx + ex) / 2
cz = (sz + ez) / 2
rot_y = math.atan2(ez - sz, ex - sx)
conv["length"] = length
conv["pos"] = (cx, FIXED_Y, cz)
conv["rot_y"] = rot_y
conv["start"] = (sx, sz)
conv["end"] = (ex, ez)
conv["fwd"] = unit_fwd(rot_y)
def unit_from_to(ax, az, bx, bz):
dx = bx - ax
dz = bz - az
d = math.hypot(dx, dz)
if d <= 0.0:
return (0.0, 0.0), 0.0
return (dx / d, dz / d), d
def get_width_from_row(row):
for col, mul in WIDTH_COLS:
if col in row:
v = str(row[col]).strip()
if v != "":
try:
return float(v) * mul
except ValueError:
pass
return BELT_WIDTH_DEFAULT
def best_fit_dir(points):
# PCA in 2D: angle = 0.5 * atan2(2*Sxz, Sxx - Szz)
if len(points) < 2:
return (1.0, 0.0)
mx = sum(x for x, _ in points) / len(points)
mz = sum(z for _, z in points) / len(points)
sxx = szz = sxz = 0.0
for x, z in points:
dx = x - mx
dz = z - mz
sxx += dx * dx
szz += dz * dz
sxz += dx * dz
if sxx == 0.0 and szz == 0.0 and sxz == 0.0:
return (1.0, 0.0)
ang = 0.5 * math.atan2(2.0 * sxz, (sxx - szz))
return (math.cos(ang), math.sin(ang))
def project_to_line(origin, direction, p):
ox, oz = origin
dx, dz = direction
px, pz = p
t = (px - ox) * dx + (pz - oz) * dz
return (ox + dx * t, oz + dz * t)
# -----------------------
# READ CSV
# -----------------------
straight = {}
vfd_only = [] # included=0 candidates (some will become spurs, others will be chain-continued)
straight = {} # geometry + chain-continued + promoted inline gaps
vfd_only = [] # included=0
with open(CSV_PATH, newline="") as f:
reader = csv.DictReader(f)
for row in reader:
key = row["conveyor_key"].strip()
included = row["included"].strip()
# -----------------------
# NEW: only process conveyor rows
# -----------------------
if row.get("record_type", "CONVEYOR") != "CONVEYOR":
continue
key = row["conveyor_key"].strip()
included = str(row["included"]).strip()
prefix, sec = parse_key(key)
if included == "1":
if not all(row[c].strip() for c in ("start_x", "start_y", "end_x", "end_y")):
if not all(str(row.get(c, "")).strip() for c in ("start_x", "start_y", "end_x", "end_y")):
continue
conv = transform_from_points(
@ -125,21 +230,234 @@ with open(CSV_PATH, newline="") as f:
float(row["end_x"]),
float(row["end_y"])
)
conv["name"] = key
conv["prefix"] = prefix
conv["sec"] = sec
conv["width"] = get_width_from_row(row)
straight[key] = conv
else:
vfd_only.append({"name": key, "prefix": prefix, "sec": sec})
# Precompute endpoints & directions for geometry straights
# Precompute geometry data
for c in straight.values():
c["start"] = start_point(c)
c["end"] = end_point(c)
c["fwd"] = unit_fwd(c["rot_y"])
# -----------------------
# 1.5) Extend geometry-to-geometry gaps (degenerate-aware)
# -----------------------
by_prefix = {}
for c in straight.values():
sx, sz = c["start"]
ex, ez = c["end"]
c["degenerate"] = (math.hypot(ex - sx, ez - sz) <= DEGEN_EPS)
# For degenerate belts, start=end is the anchor location
c["anchor"] = c["start"]
by_prefix.setdefault(c["prefix"], []).append(c)
for prefix, items in by_prefix.items():
items.sort(key=lambda x: x["sec"])
i = 0
while i < len(items) - 1:
a = items[i]
b = items[i + 1]
# -------------------------------
# CASE 1: b is degenerate
# First try: rebuild b from a.end -> b.anchor
# -------------------------------
if b["degenerate"]:
ax, az = a["end"]
bx, bz = b["anchor"]
to_vec, dist = unit_from_to(ax, az, bx, bz)
if dist > EPS:
if angle_between_fwd(a["fwd"], to_vec) <= math.radians(MIN_CURVE_DEG):
rebuild_from_start_end(b, ax, az, bx, bz)
b["degenerate"] = (b["length"] <= DEGEN_EPS)
i += 1
continue
# Fallback: a.end -> next non-degenerate start
j = i + 2
while j < len(items) and items[j]["degenerate"]:
j += 1
if j < len(items):
c = items[j]
if angle_between_fwd(a["fwd"], c["fwd"]) <= math.radians(MIN_CURVE_DEG):
sx, sz = a["end"]
ex, ez = c["start"]
span = math.hypot(ex - sx, ez - sz)
if span > EPS:
rebuild_from_start_end(b, sx, sz, ex, ez)
b["degenerate"] = (b["length"] <= DEGEN_EPS)
i += 1
continue
# -------------------------------
# CASE 2: normal gap extension
# extend a → b.start
# -------------------------------
if angle_between_fwd(a["fwd"], b["fwd"]) > math.radians(MIN_CURVE_DEG):
i += 1
continue # real turn
dx = b["start"][0] - a["end"][0]
dz = b["start"][1] - a["end"][1]
gap = math.hypot(dx, dz)
if gap <= EPS:
i += 1
continue # already touching
sx, sz = a["start"]
ex, ez = b["start"]
rebuild_from_start_end(a, sx, sz, ex, ez)
a["degenerate"] = (a["length"] <= DEGEN_EPS)
i += 1
# Normalize flags
for c in straight.values():
c["degenerate"] = (c["length"] <= DEGEN_EPS)
# -----------------------
# 1) Chain-continue VFD-only straights (NO rendering yet)
# -----------------------
placed_chain = set()
made_progress = True
while made_progress:
made_progress = False
for item in vfd_only:
name = item["name"]
if name in straight or name in placed_chain:
continue
prefix = item["prefix"]
sec = item["sec"]
prev_key = f"{prefix}_{sec-1}"
next_key = f"{prefix}_{sec+1}"
if prev_key in straight and next_key not in straight:
ref = straight[prev_key]
dx, dz = ref["fwd"]
length = ref["length"]
sx, sz = ref["end"]
ex, ez = sx + dx * length, sz + dz * length
cx, cz = sx + dx * length / 2, sz + dz * length / 2
straight[name] = {
"name": name,
"prefix": prefix,
"sec": sec,
"length": length,
"pos": (cx, FIXED_Y, cz),
"rot_y": ref["rot_y"],
"start": (sx, sz),
"end": (ex, ez),
"fwd": (dx, dz),
"degenerate": (length <= DEGEN_EPS),
"anchor": (sx, sz),
"width": ref.get("width", BELT_WIDTH_DEFAULT),
}
placed_chain.add(name)
made_progress = True
continue
if next_key in straight and prev_key not in straight:
ref = straight[next_key]
dx, dz = ref["fwd"]
length = ref["length"]
ex, ez = ref["start"]
sx, sz = ex - dx * length, ez - dz * length
cx, cz = sx + dx * length / 2, sz + dz * length / 2
straight[name] = {
"name": name,
"prefix": prefix,
"sec": sec,
"length": length,
"pos": (cx, FIXED_Y, cz),
"rot_y": ref["rot_y"],
"start": (sx, sz),
"end": (ex, ez),
"fwd": (dx, dz),
"degenerate": (length <= DEGEN_EPS),
"anchor": (sx, sz),
"width": ref.get("width", BELT_WIDTH_DEFAULT),
}
placed_chain.add(name)
made_progress = True
continue
# -----------------------
# 1.75) Straight-run de-jitter (fix tiny rotations from noisy points)
# -----------------------
if STRAIGHTEN_RUNS:
by_prefix2 = {}
for c in straight.values():
by_prefix2.setdefault(c["prefix"], []).append(c)
for prefix, items in by_prefix2.items():
items.sort(key=lambda x: x["sec"])
run_start = 0
while run_start < len(items):
run_end = run_start
while run_end + 1 < len(items):
a = items[run_end]
b = items[run_end + 1]
if angle_between_fwd(a["fwd"], b["fwd"]) > math.radians(MIN_CURVE_DEG):
break
run_end += 1
# Run is items[run_start : run_end+1]
if run_end - run_start >= 1:
run = items[run_start:run_end + 1]
# Nodes: start of first, then each end
nodes = [run[0]["start"]] + [seg["end"] for seg in run]
# Fit direction
d = best_fit_dir(nodes)
# Orient direction from first -> last
fx, fz = nodes[0]
lx, lz = nodes[-1]
if (lx - fx) * d[0] + (lz - fz) * d[1] < 0:
d = (-d[0], -d[1])
# If any segment in this run is way off, skip straightening this run
max_dev = 0.0
for seg in run:
if seg["length"] > DEGEN_EPS:
max_dev = max(max_dev, angle_between_fwd(seg["fwd"], d))
if max_dev <= math.radians(STRAIGHTEN_MAX_DEV_DEG):
origin = nodes[0]
new_nodes = [project_to_line(origin, d, p) for p in nodes]
# Rebuild each segment from projected nodes
for seg, p0, p1 in zip(run, new_nodes[:-1], new_nodes[1:]):
rebuild_from_start_end(seg, p0[0], p0[1], p1[0], p1[1])
run_start = run_end + 1
# Final normalize flags after straightening
for c in straight.values():
c["degenerate"] = (c["length"] <= DEGEN_EPS)
# -----------------------
# WRITE TSCN
# -----------------------
@ -152,157 +470,126 @@ lines.append('')
lines.append('[node name="GeneratedConveyors" type="Node3D"]')
lines.append('')
# -----------------------
# 1) Geometry straight conveyors (included=1)
# -----------------------
for c in straight.values():
cx, _, cz = c["pos"]
add_straight_node(lines, c["name"], c["rot_y"], cx, cz, c["length"])
written_straights = set()
for name in sorted(straight.keys()):
c = straight[name]
# -----------------------
# 2) Spur conveyors (use vfd_only list, but mark those we actually place)
# -----------------------
# Only skip true zero-length belts
if c["length"] <= DEGEN_EPS:
continue
cx, _, cz = c["pos"]
width = c.get("width", BELT_WIDTH_DEFAULT)
add_straight_node(lines, name, c["rot_y"], cx, cz, c["length"], width)
written_straights.add(name)
# Spur logic (kept)
placed_spurs = set()
for spur in vfd_only:
name = spur["name"]
if name in straight:
continue
prefix = spur["prefix"]
sec = spur["sec"]
prev_key = f"{prefix}_{sec-1}"
next_key = f"{prefix}_{sec+1}"
# spur needs both neighbors with geometry (or already-added straights later, but at this stage it's fine)
if prev_key not in straight or next_key not in straight:
continue
prev = straight[prev_key]
nxt = straight[next_key]
nxt = straight[next_key]
pfx, pfz = prev["fwd"]
nfx, nfz = nxt["fwd"]
cross = pfx * nfz - pfz * nfx
dot = pfx * nfx + pfz * nfz
dot = pfx * nfx + pfz * nfz
delta = math.atan2(cross, dot)
angle_deg = abs(delta) * 180.0 / math.pi
if angle_deg < MIN_CURVE_DEG:
continue
turn_sign = 1.0 if delta > 0 else -1.0
prev_rot_deg = rot_deg(prev["rot_y"])
next_rot_deg = rot_deg(nxt["rot_y"])
# Inline gap (render straight)
if prev_rot_deg < MIN_REAL_ROT_DEG and next_rot_deg < MIN_REAL_ROT_DEG:
sx, sz = prev["end"]
ex, ez = nxt["start"]
dx = ex - sx
dz = ez - sz
length = math.hypot(dx, dz)
if length < 0.01:
continue
cx = (sx + ex) / 2
cz = (sz + ez) / 2
rot_y = math.atan2(dz, dx)
width = prev.get("width", BELT_WIDTH_DEFAULT)
straight[name] = {
"name": name,
"prefix": prefix,
"sec": sec,
"length": length,
"pos": (cx, FIXED_Y, cz),
"rot_y": rot_y,
"start": (sx, sz),
"end": (ex, ez),
"fwd": unit_fwd(rot_y),
"degenerate": (length <= DEGEN_EPS),
"anchor": (sx, sz),
"width": width,
}
if name not in written_straights and length > DEGEN_EPS:
add_straight_node(lines, name, rot_y, cx, cz, length, width)
written_straights.add(name)
continue
# Curved spur placement uses width of prev belt for edge offset
turn_sign = 1.0 if delta > 0 else -1.0
rx, rz = unit_right(prev["rot_y"])
end_x, end_z = prev["end"]
# place along side edge then inward by inner radius (your current spur logic)
edge_x = end_x + rx * (BELT_WIDTH / 2) * turn_sign
edge_z = end_z + rz * (BELT_WIDTH / 2) * turn_sign
prev_width = prev.get("width", BELT_WIDTH_DEFAULT)
edge_x = end_x + rx * (prev_width / 2) * turn_sign
edge_z = end_z + rz * (prev_width / 2) * turn_sign
inward_x = -rx * turn_sign
inward_z = -rz * turn_sign
place_x = edge_x + inward_x * CURVE_INNER_RADIUS + pfx * SPUR_TANGENT_NUDGE
place_z = edge_z + inward_z * CURVE_INNER_RADIUS + pfz * SPUR_TANGENT_NUDGE
place_x = edge_x + inward_x * CURVE_INNER_RADIUS
place_z = edge_z + inward_z * CURVE_INNER_RADIUS
add_curved_node(lines, spur["name"], prev["rot_y"], place_x, place_z, angle_deg)
placed_spurs.add(spur["name"])
# -----------------------
# 3) VFD-only straight conveyors (CHAIN CONTINUATION)
# Run AFTER spurs. Only place leftovers (not in placed_spurs).
# Also: after we place one, add it to "straight" so multiple missing sections can chain.
# -----------------------
# Build quick lookup for vfd_only rows by key
vfd_by_key = {s["name"]: s for s in vfd_only}
placed_chain = set()
made_progress = True
while made_progress:
made_progress = False
for spur in vfd_only:
name = spur["name"]
if name in placed_spurs or name in placed_chain:
continue
if name in straight:
continue
prefix = spur["prefix"]
sec = spur["sec"]
prev_key = f"{prefix}_{sec-1}"
next_key = f"{prefix}_{sec+1}"
# --- Case A: place AFTER previous (if previous exists, next does NOT exist/placed) ---
if prev_key in straight and next_key not in straight:
ref = straight[prev_key]
dx, dz = ref["fwd"]
length = ref["length"]
# start at previous end, same direction, same length
sx, sz = ref["end"]
ex, ez = (sx + dx * length, sz + dz * length)
cx, cz = (sx + dx * (length / 2), sz + dz * (length / 2))
add_straight_node(lines, name, ref["rot_y"], cx, cz, length)
# register as a new straight so the chain can continue
newc = {
"name": name,
"prefix": prefix,
"sec": sec,
"length": length,
"pos": (cx, FIXED_Y, cz),
"rot_y": ref["rot_y"],
}
newc["start"] = (sx, sz)
newc["end"] = (ex, ez)
newc["fwd"] = (dx, dz)
straight[name] = newc
placed_chain.add(name)
made_progress = True
continue
# --- Case B: place BEFORE next (if next exists, prev does NOT exist/placed) ---
if next_key in straight and prev_key not in straight:
ref = straight[next_key]
dx, dz = ref["fwd"]
length = ref["length"]
# end at next start, same direction, same length (going backwards)
ex, ez = ref["start"]
sx, sz = (ex - dx * length, ez - dz * length)
cx, cz = (sx + dx * (length / 2), sz + dz * (length / 2))
add_straight_node(lines, name, ref["rot_y"], cx, cz, length)
newc = {
"name": name,
"prefix": prefix,
"sec": sec,
"length": length,
"pos": (cx, FIXED_Y, cz),
"rot_y": ref["rot_y"],
}
newc["start"] = (sx, sz)
newc["end"] = (ex, ez)
newc["fwd"] = (dx, dz)
straight[name] = newc
placed_chain.add(name)
made_progress = True
continue
add_curved_node(lines, name, prev["rot_y"], place_x, place_z, angle_deg)
placed_spurs.add(name)
# -----------------------
# WRITE FILE
# -----------------------
Path(OUT_TSCN).write_text("\n".join(lines), encoding="utf-8")
OUT_TSCN.write_text("\n".join(lines), encoding="utf-8")
leftovers = [v["name"] for v in vfd_only if v["name"] not in placed_spurs and v["name"] not in straight]
geom_written = len([k for k, c in straight.items() if c["length"] > DEGEN_EPS])
geom_degen = [k for k, c in straight.items() if c["length"] <= DEGEN_EPS]
leftovers = [s["name"] for s in vfd_only if s["name"] not in placed_spurs and s["name"] not in placed_chain]
print(
f"Generated {len([k for k in straight.keys() if k not in vfd_by_key])} geometry straights, "
f"{len(placed_spurs)} spurs, "
f"{len(placed_chain)} chain-continued VFD-only straights. "
f"Leftovers not placed: {len(leftovers)}"
f"Geometry written: {geom_written - len(placed_chain)}, "
f"chain-continued straights: {len(placed_chain)}, "
f"spurs placed: {len(placed_spurs)}, "
f"leftovers: {len(leftovers)}"
)
if leftovers:
print("Leftovers:", ", ".join(leftovers))
if geom_degen:
print("Still degenerate geometry (NOT written):", ", ".join(sorted(geom_degen)))

View File

@ -1,718 +0,0 @@
[gd_scene load_steps=3 format=3]
[ext_resource type="PackedScene" path="res://parts/assemblies/BeltConveyorAssembly.tscn" id="3_38ygf"]
[ext_resource type="PackedScene" path="res://parts/assemblies/CurvedBeltConveyorAssembly.tscn" id="1_ef28r"]
[node name="GeneratedConveyors" type="Node3D"]
[node name="PS1_2" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8675449395504647, 0, -0.49735880193315224, 0, 1, 0, 0.49735880193315224, 0, 0.8675449395504647, 82.4197516448, 2.5, -43.5774700712)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS1_2_OIP"
size = Vector3(3.674933, 0.5, 1.524)
[node name="PS1_4" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999945161112113, 0, 0.003311758974397826, 0, 1, 0, -0.003311758974397826, 0, 0.9999945161112113, 92.824505613, 2.5, -42.083169872099994)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS1_4_OIP"
size = Vector3(14.050436, 0.5, 1.524)
[node name="PS1_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999946142179093, 0, -0.0032820017024387353, 0, 1, 0, 0.0032820017024387353, 0, 0.9999946142179093, 104.0575431926, 2.5, -42.0926254285)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS1_5_OIP"
size = Vector3(8.415762, 0.5, 1.524)
[node name="PS2_2" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8773678141674687, 0, -0.479818422596505, 0, 1, 0, 0.479818422596505, 0, 0.8773678141674687, 79.250984881, 2.5, -56.7520455127)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS2_2_OIP"
size = Vector3(1.173861, 0.5, 1.524)
[node name="PS2_3" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8622787824202933, 0, -0.5064339062382932, 0, 1, 0, 0.5064339062382932, 0, 0.8622787824202933, 85.4597349349, 2.5, -53.1263429089)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS2_3_OIP"
size = Vector3(13.206393, 0.5, 1.524)
[node name="PS2_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999759795503059, 0, -0.006931112638399028, 0, 1, 0, 0.006931112638399028, 0, 0.9999759795503059, 99.8027176535, 2.5, -49.276580961499995)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS2_5_OIP"
size = Vector3(13.650118, 0.5, 1.524)
[node name="PS2_6" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999803192739637, 0, 0.006273839712780541, 0, 1, 0, -0.006273839712780541, 0, 0.9999803192739637, 107.41107807809999, 2.5, -49.2341911428)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS2_6_OIP"
size = Vector3(1.566962, 0.5, 1.524)
[node name="UL1_3" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9950139648061078, 0, -0.0997356999315168, 0, 1, 0, 0.0997356999315168, 0, 0.9950139648061078, 18.4156816725, 2.5, -46.4381813678)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_3_OIP"
size = Vector3(9.074236, 0.5, 1.524)
[node name="UL1_4" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999999573785687, 0, -0.0002919638005547997, 0, 1, 0, 0.0002919638005547997, 0, 0.9999999573785687, 33.4554759388, 2.5, -45.9825957283)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_4_OIP"
size = Vector3(21.050598, 0.5, 1.524)
[node name="UL1_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.999952493743362, 0, -0.009747320474448184, 0, 1, 0, 0.009747320474448184, 0, 0.999952493743362, 45.3485810578, 2.5, -45.9661896397)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_5_OIP"
size = Vector3(2.735743, 0.5, 1.524)
[node name="UL1_6" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9994889246433396, 0, -0.03196700666782072, 0, 1, 0, 0.03196700666782072, 0, 0.9994889246433396, 47.1915584615, 2.5, -45.9376590008)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_6_OIP"
size = Vector3(0.950828, 0.5, 1.524)
[node name="UL1_7" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999987708307951, 0, 0.0015679084472148372, 0, 1, 0, -0.0015679084472148372, 0, 0.9999987708307951, 48.121889951099995, 2.5, -45.923175095299996)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_7_OIP"
size = Vector3(0.910322, 0.5, 1.524)
[node name="UL1_8" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9994123906802922, 0, -0.03427642564070694, 0, 1, 0, 0.03427642564070694, 0, 0.9994123906802922, 49.035076427999996, 2.5, -45.908180027499995)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_8_OIP"
size = Vector3(0.916590, 0.5, 1.524)
[node name="UL1_9" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9967002282899721, 0, 0.08117052991521904, 0, 1, 0, -0.08117052991521904, 0, 0.9967002282899721, 49.9582364943, 2.5, -45.930351497)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_9_OIP"
size = Vector3(0.933348, 0.5, 1.524)
[node name="UL1_10" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.999997311695526, 0, -0.0023187500342096348, 0, 1, 0, 0.0023187500342096348, 0, 0.999997311695526, 59.20612194819999, 2.5, -45.9948076419)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_10_OIP"
size = Vector3(15.752119, 0.5, 1.524)
[node name="UL1_11" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.999987533426502, 0, 0.004993294661893442, 0, 1, 0, -0.004993294661893442, 0, 0.999987533426502, 69.14804775900001, 2.5, -45.9868607439)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_11_OIP"
size = Vector3(4.131827, 0.5, 1.524)
[node name="UL1_12" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9869995429660313, 0, 0.1607230605260031, 0, 1, 0, -0.1607230605260031, 0, 0.9869995429660313, 72.3586082162, 2.5, -46.183575031699995)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_12_OIP"
size = Vector3(2.319500, 0.5, 1.524)
[node name="UL1_13" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9994599571489898, 0, -0.03286021995878083, 0, 1, 0, 0.03286021995878083, 0, 0.9994599571489898, 75.0818830973, 2.5, -46.318072362399995)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_13_OIP"
size = Vector3(3.158910, 0.5, 1.524)
[node name="UL1_14" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9996888748277157, 0, -0.02494300594747222, 0, 1, 0, 0.02494300594747222, 0, 0.9996888748277157, 80.2158087324, 2.5, -46.3145923211)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL1_14_OIP"
size = Vector3(6.288208, 0.5, 1.524)
[node name="UL2_3" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9952852133168667, 0, -0.09699146432959523, 0, 1, 0, 0.09699146432959523, 0, 0.9952852133168667, 18.508732134099997, 2.5, -50.6883424382)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_3_OIP"
size = Vector3(8.917547, 0.5, 1.524)
[node name="UL2_4" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999995481421035, 0, -0.0009506395682917928, 0, 1, 0, 0.0009506395682917928, 0, 0.9999995481421035, 33.309920959399996, 2.5, -50.2460275494)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_4_OIP"
size = Vector3(20.726884, 0.5, 1.524)
[node name="UL2_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999805530651744, 0, 0.006236464660995434, 0, 1, 0, -0.006236464660995434, 0, 0.9999805530651744, 44.9842473567, 2.5, -50.244351124)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_5_OIP"
size = Vector3(2.621829, 0.5, 1.524)
[node name="UL2_7" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8506089942191302, 0, -0.5257987627919258, 0, 1, 0, 0.5257987627919258, 0, 0.8506089942191302, 48.8197562846, 2.5, -49.3991124919)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_7_OIP"
size = Vector3(1.342548, 0.5, 1.524)
[node name="UL2_8" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8979644689927908, 0, -0.4400679634175786, 0, 1, 0, 0.4400679634175786, 0, 0.8979644689927908, 49.79248956899999, 2.5, -48.8492748311)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_8_OIP"
size = Vector3(0.894783, 0.5, 1.524)
[node name="UL2_9" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8762206638502454, 0, -0.4819101039009612, 0, 1, 0, 0.4819101039009612, 0, 0.8762206638502454, 50.601851501199995, 2.5, -48.4282062549)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_9_OIP"
size = Vector3(0.930406, 0.5, 1.524)
[node name="UL2_10" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8780689921649024, 0, -0.47853405834748336, 0, 1, 0, 0.47853405834748336, 0, 0.8780689921649024, 51.3862990814, 2.5, -47.998655272499995)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_10_OIP"
size = Vector3(0.858309, 0.5, 1.524)
[node name="UL3_1" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9895668328462597, 0, -0.14407457558716869, 0, 1, 0, 0.14407457558716869, 0, 0.9895668328462597, 18.6049257949, 2.5, -53.49749704339999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_1_OIP"
size = Vector3(5.099540, 0.5, 1.524)
[node name="UL3_2" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999557211215563, 0, -0.009410408932047861, 0, 1, 0, 0.009410408932047861, 0, 0.9999557211215563, 34.801775214699994, 2.5, -53.1881954776)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_2_OIP"
size = Vector3(24.956880, 0.5, 1.524)
[node name="UL3_3" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999914228893805, 0, 0.0041417565925802435, 0, 1, 0, -0.0041417565925802435, 0, 0.9999914228893805, 49.2610601772, 2.5, -53.0789747918)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_3_OIP"
size = Vector3(3.962829, 0.5, 1.524)
[node name="UL3_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8578838473591786, 0, -0.5138436575848861, 0, 1, 0, 0.5138436575848861, 0, 0.8578838473591786, 55.4356219581, 2.5, -51.060901941999994)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_5_OIP"
size = Vector3(5.937410, 0.5, 1.524)
[node name="UL3_6" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8824876952810232, 0, -0.47033548417867427, 0, 1, 0, 0.47033548417867427, 0, 0.8824876952810232, 58.39629870119999, 2.5, -49.3148718679)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_6_OIP"
size = Vector3(0.937969, 0.5, 1.524)
[node name="UL3_7" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9296382309209145, 0, -0.36847355347464555, 0, 1, 0, 0.36847355347464555, 0, 0.9296382309209145, 59.233127698100006, 2.5, -48.9266480444)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_7_OIP"
size = Vector3(0.909937, 0.5, 1.524)
[node name="UL3_8" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8047682926335156, 0, -0.5935890793905632, 0, 1, 0, 0.5935890793905632, 0, 0.8047682926335156, 60.030284308000006, 2.5, -48.4829976236)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_8_OIP"
size = Vector3(0.929958, 0.5, 1.524)
[node name="UL3_9" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8768162540239772, 0, -0.4808255990266744, 0, 1, 0, 0.4808255990266744, 0, 0.8768162540239772, 60.7953638548, 2.5, -47.992642101899996)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_9_OIP"
size = Vector3(0.891587, 0.5, 1.524)
[node name="UL4_3" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9950689105870448, 0, -0.09918600295965033, 0, 1, 0, 0.09918600295965033, 0, 0.9950689105870448, 18.5228132337, 2.5, -59.2591679813)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_3_OIP"
size = Vector3(9.008374, 0.5, 1.524)
[node name="UL4_4" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999979393868175, 0, -0.002030079338077881, 0, 1, 0, 0.002030079338077881, 0, 0.9999979393868175, 33.24608001519999, 2.5, -58.7916249997)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_4_OIP"
size = Vector3(20.482623, 0.5, 1.524)
[node name="UL4_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9992951314680424, 0, 0.03753984848488273, 0, 1, 0, -0.03753984848488273, 0, 0.9992951314680424, 44.8572392795, 2.5, -58.8222952711)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_5_OIP"
size = Vector3(2.741670, 0.5, 1.524)
[node name="UL4_6" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9408925721778789, 0, -0.33870513373802713, 0, 1, 0, 0.33870513373802713, 0, 0.9408925721778789, 46.6950675698, 2.5, -58.705298908699994)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_6_OIP"
size = Vector3(0.994714, 0.5, 1.524)
[node name="UL4_7" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9986842389497732, 0, 0.051281486652711435, 0, 1, 0, -0.051281486652711435, 0, 0.9986842389497732, 47.616922673, 2.5, -58.56014871639999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_7_OIP"
size = Vector3(0.908988, 0.5, 1.524)
[node name="UL4_8" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999433439860244, 0, -0.010644661481103306, 0, 1, 0, 0.010644661481103306, 0, 0.9999433439860244, 48.533479450499996, 2.5, -58.578530683699995)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_8_OIP"
size = Vector3(0.925374, 0.5, 1.524)
[node name="UL4_9" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999865997475034, 0, 0.005176903072933443, 0, 1, 0, -0.005176903072933443, 0, 0.9999865997475034, 49.4538752348, 2.5, -58.575975215099994)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_9_OIP"
size = Vector3(0.915482, 0.5, 1.524)
[node name="UL4_10" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999996647208671, 0, 0.0008188761526801148, 0, 1, 0, -0.0008188761526801148, 0, 0.9999996647208671, 57.8965222179, 2.5, -58.6241365107)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_10_OIP"
size = Vector3(14.120969, 0.5, 1.524)
[node name="UL4_11" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9971349340123079, 0, 0.07564339609159712, 0, 1, 0, -0.07564339609159712, 0, 0.9971349340123079, 67.0065149199, 2.5, -58.7853955735)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_11_OIP"
size = Vector3(4.110799, 0.5, 1.524)
[node name="UL4_12" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9994129903588115, 0, 0.03425893609057608, 0, 1, 0, -0.03425893609057608, 0, 0.9994129903588115, 70.2880283467, 2.5, -58.98310486819999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_12_OIP"
size = Vector3(2.465453, 0.5, 1.524)
[node name="UL4_13" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999540454520701, 0, -0.009586813028279828, 0, 1, 0, 0.009586813028279828, 0, 0.9999540454520701, 72.7778091685, 2.5, -59.0132781251)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_13_OIP"
size = Vector3(2.515672, 0.5, 1.524)
[node name="UL4_14" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9998726772810103, 0, 0.01595710584362971, 0, 1, 0, -0.01595710584362971, 0, 0.9998726772810103, 77.0090436829, 2.5, -58.934440093800006)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL4_14_OIP"
size = Vector3(5.405995, 0.5, 1.524)
[node name="UL5_3" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9974065210227826, 0, 0.0719738273348684, 0, 1, 0, -0.0719738273348684, 0, 0.9974065210227826, 18.419276305900002, 2.5, -62.65324851849999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_3_OIP"
size = Vector3(9.079875, 0.5, 1.524)
[node name="UL5_4" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999765711890427, 0, 0.006845222641044972, 0, 1, 0, -0.006845222641044972, 0, 0.9999765711890427, 32.9600993451, 2.5, -63.0485456959)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_4_OIP"
size = Vector3(20.025788, 0.5, 1.524)
[node name="UL5_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9988495791288503, 0, -0.047953292630627475, 0, 1, 0, 0.047953292630627475, 0, 0.9988495791288503, 44.2081998867, 2.5, -63.0577744938)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_5_OIP"
size = Vector3(2.473728, 0.5, 1.524)
[node name="UL5_7" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8524790224883632, 0, -0.522761433368305, 0, 1, 0, 0.522761433368305, 0, 0.8524790224883632, 47.862835376499994, 2.5, -62.1342421651)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_7_OIP"
size = Vector3(1.754812, 0.5, 1.524)
[node name="UL5_8" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8833597213730209, 0, -0.4686956396807836, 0, 1, 0, 0.4686956396807836, 0, 0.8833597213730209, 49.0199502454, 2.5, -61.4584829502)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_8_OIP"
size = Vector3(0.926338, 0.5, 1.524)
[node name="UL5_9" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8471068986537589, 0, -0.5314225270471795, 0, 1, 0, 0.5314225270471795, 0, 0.8471068986537589, 49.813407535799996, 2.5, -61.000303754799994)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_9_OIP"
size = Vector3(0.907353, 0.5, 1.524)
[node name="UL5_10" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8830309487153603, 0, -0.4693147596345664, 0, 1, 0, 0.4693147596345664, 0, 0.8830309487153603, 50.6011652821, 2.5, -60.544786073000004)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_10_OIP"
size = Vector3(0.913773, 0.5, 1.524)
[node name="UL6_1" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9860201232632386, 0, -0.16662627799944335, 0, 1, 0, 0.16662627799944335, 0, 0.9860201232632386, 18.599429158699998, 2.5, -67.76774869079999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_1_OIP"
size = Vector3(5.072301, 0.5, 1.524)
[node name="UL6_2" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9999376035906048, 0, -0.01117089635967401, 0, 1, 0, 0.01117089635967401, 0, 0.9999376035906048, 32.965110587299996, 2.5, -67.5262929761)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_2_OIP"
size = Vector3(20.762420, 0.5, 1.524)
[node name="UL6_3" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9996145027501965, 0, -0.027764111573710868, 0, 1, 0, 0.027764111573710868, 0, 0.9996145027501965, 44.675673538999995, 2.5, -67.3733850269)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_3_OIP"
size = Vector3(2.661027, 0.5, 1.524)
[node name="UL6_5" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8607868402171976, 0, -0.508965633131445, 0, 1, 0, 0.508965633131445, 0, 0.8607868402171976, 51.6434335684, 2.5, -64.5229559297)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_5_OIP"
size = Vector3(9.266426, 0.5, 1.524)
[node name="UL6_6" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8566984744886353, 0, -0.5158175295672346, 0, 1, 0, 0.5158175295672346, 0, 0.8566984744886353, 56.034330488900004, 2.5, -61.92235150429999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_6_OIP"
size = Vector3(0.940093, 0.5, 1.524)
[node name="UL6_7" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.9022179251501843, 0, -0.43128043723045956, 0, 1, 0, 0.43128043723045956, 0, 0.9022179251501843, 56.84963227459999, 2.5, -61.482654682399996)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_7_OIP"
size = Vector3(0.914665, 0.5, 1.524)
[node name="UL6_8" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.866025400060552, 0, -0.5000000064499608, 0, 1, 0, 0.5000000064499608, 0, 0.866025400060552, 57.658192786, 2.5, -61.056816062399996)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_8_OIP"
size = Vector3(0.914400, 0.5, 1.524)
[node name="UL6_9" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.866025402838328, 0, -0.5000000016387117, 0, 1, 0, 0.5000000016387117, 0, 0.866025402838328, 58.439087884100005, 2.5, -60.60596606239999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_9_OIP"
size = Vector3(0.889000, 0.5, 1.524)
[node name="UL2_6" parent="." instance=ExtResource("1_ef28r")]
transform = Transform3D(0.9999805530651744, 0, 0.006236464660995434, 0, 1, 0, -0.006236464660995434, 0, 0.9999805530651744, 46.28856946991197, 2.5, -51.305506118977625)
inner_radius = 1.815
conveyor_angle = 32.079
enable_comms = true
speed_tag_name = "UL2_6_OIP"
[node name="UL3_4" parent="." instance=ExtResource("1_ef28r")]
transform = Transform3D(0.9999914228893805, 0, 0.0041417565925802435, 0, 1, 0, -0.0041417565925802435, 0, 0.9999914228893805, 51.238096468708015, 2.5, -54.14017229690252)
inner_radius = 1.815
conveyor_angle = 31.158
enable_comms = true
speed_tag_name = "UL3_4_OIP"
[node name="PS2_4" parent="." instance=ExtResource("1_ef28r")]
transform = Transform3D(0.8622787824202933, 0, -0.5064339062382932, 0, 1, 0, 0.5064339062382932, 0, 0.8622787824202933, 90.62025632753108, 2.5, -48.87428071991143)
inner_radius = 1.815
conveyor_angle = 30.029
enable_comms = true
speed_tag_name = "PS2_4_OIP"
[node name="PS1_3" parent="." instance=ExtResource("1_ef28r")]
transform = Transform3D(0.8675449395504647, 0, -0.49735880193315224, 0, 1, 0, 0.49735880193315224, 0, 0.8675449395504647, 83.49011754776441, 2.5, -41.750065137053355)
inner_radius = 1.815
conveyor_angle = 30.015
enable_comms = true
speed_tag_name = "PS1_3_OIP"
[node name="UL5_6" parent="." instance=ExtResource("1_ef28r")]
transform = Transform3D(0.9988495791288503, 0, -0.047953292630627475, 0, 1, 0, 0.047953292630627475, 0, 0.9988495791288503, 45.49413560354005, 2.5, -64.05025140822268)
inner_radius = 1.815
conveyor_angle = 28.769
enable_comms = true
speed_tag_name = "UL5_6_OIP"
[node name="UL6_4" parent="." instance=ExtResource("1_ef28r")]
transform = Transform3D(0.9996145027501965, 0, -0.027764111573710868, 0, 1, 0, 0.027764111573710868, 0, 0.9996145027501965, 46.03490984128712, 2.5, -68.38903857019595)
inner_radius = 1.815
conveyor_angle = 29.004
enable_comms = true
speed_tag_name = "UL6_4_OIP"
[node name="PS1_1" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8675449395504647, 0, -0.49735880193315224, 0, 1, 0, 0.49735880193315224, 0, 0.8675449395504647, 79.231582202, 2.5, -45.4052302968)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS1_1_OIP"
size = Vector3(3.674933, 0.5, 1.524)
[node name="PS2_1" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8773678141674687, 0, -0.479818422596505, 0, 1, 0, 0.479818422596505, 0, 0.8773678141674687, 78.221077365, 2.5, -57.31528545810001)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "PS2_1_OIP"
size = Vector3(1.173861, 0.5, 1.524)
[node name="UL2_11" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8780689921649024, 0, -0.47853405834748336, 0, 1, 0, 0.47853405834748336, 0, 0.8780689921649024, 52.139953555800005, 2.5, -47.5879252075)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL2_11_OIP"
size = Vector3(0.858309, 0.5, 1.524)
[node name="UL3_10" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8768162540239772, 0, -0.4808255990266744, 0, 1, 0, 0.4808255990266744, 0, 0.8768162540239772, 61.577121956, 2.5, -47.5639441785)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL3_10_OIP"
size = Vector3(0.891587, 0.5, 1.524)
[node name="UL5_11" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.8830309487153603, 0, -0.4693147596345664, 0, 1, 0, 0.4693147596345664, 0, 0.8830309487153603, 51.4080554895, 2.5, -60.115938721400006)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL5_11_OIP"
size = Vector3(0.913773, 0.5, 1.524)
[node name="UL6_10" parent="." instance=ExtResource("3_38ygf")]
transform = Transform3D(0.866025402838328, 0, -0.5000000016387117, 0, 1, 0, 0.5000000016387117, 0, 0.866025402838328, 59.208984464699995, 2.5, -60.16146606239999)
right_side_guards_enabled = false
left_side_guards_enabled = false
head_end_leg_enabled = false
tail_end_leg_enabled = false
enable_comms = true
speed_tag_name = "UL6_10_OIP"
size = Vector3(0.889000, 0.5, 1.524)

View File

@ -1,12 +0,0 @@
UL2_6 included=0 (no geometry)
UL3_4 included=0 (no geometry)
PS1_1 included=0 (no geometry)
PS2_4 included=0 (no geometry)
PS1_3 included=0 (no geometry)
PS2_1 included=0 (no geometry)
UL5_6 included=0 (no geometry)
UL2_11 included=0 (no geometry)
UL3_10 included=0 (no geometry)
UL5_11 included=0 (no geometry)
UL6_4 included=0 (no geometry)
UL6_10 included=0 (no geometry)