How to create layer of dot with Consistent spacing

the dot engine can build Hierarchical Layout,but the head and tail of edge is not consistent like this


just like the head of edges between 71 and (81,84,85,106) they are not consistent how to adjust or other alternative to solve it which is code open and free for commercial use.
the goal result is show below:

I know yFile and JsPlumb can be satisfied but they are not free for commercial use.
The dot code is shown below:

digraph structs {
	graph [bb="0,0,1386,540",
		espe="10,10",
		nodesep=equally,
		overlap=false,
		ranksep=equally,
		splines=ortho
	];
	node [label="\N",
		shape=box
	];
	62	[height=0.5,
		pos="1179,90",
		width=0.75];
	61	[height=0.5,
		pos="981,18",
		width=0.75];
	62 -> 61	[arrowhead=none,
		pos="1179,71.831 1179,50.502 1179,18 1179,18 1179,18 1062.3,18 1008.1,18"];
	63	[height=0.5,
		pos="936,162",
		width=0.75];
	63 -> 62	[arrowhead=none,
		pos="940.5,143.58 940.5,134.72 940.5,126 940.5,126 940.5,126 1158,126 1158,126 1158,126 1158,117.28 1158,108.42"];
	64	[height=0.5,
		pos="585,234",
		width=0.75];
	64 -> 63	[arrowhead=none,
		pos="594,215.87 594,195.43 594,165 594,165 594,165 827.99,165 908.88,165"];
	65	[height=0.5,
		pos="549,90",
		width=0.75];
	65 -> 61	[arrowhead=none,
		pos="549,71.831 549,50.502 549,18 549,18 549,18 859.4,18 953.98,18"];
	66	[height=0.5,
		pos="693,234",
		width=0.75];
	66 -> 63	[arrowhead=none,
		pos="693,215.73 693,197.44 693,172 693,172 693,172 845.05,172 908.6,172"];
	67	[height=0.5,
		pos="387,162",
		width=0.75];
	67 -> 65	[arrowhead=none,
		pos="414.23,151 454.83,151 526.5,151 526.5,151 526.5,151 526.5,126.27 526.5,108.3"];
	68	[height=0.5,
		pos="1143,162",
		width=0.75];
	68 -> 62	[arrowhead=none,
		pos="1164,143.83 1164,133 1164,119.29 1164,108.41"];
	69	[height=0.5,
		pos="945,90",
		width=0.75];
	69 -> 61	[arrowhead=none,
		pos="963,71.831 963,61 963,47.288 963,36.413"];
	70	[height=0.5,
		pos="171,234",
		width=0.75];
	70 -> 67	[arrowhead=none,
		pos="171,215.91 171,192.87 171,156 171,156 171,156 301.52,156 359.64,156"];
	71	[height=0.5,
		pos="243,234",
		width=0.75];
	71 -> 67	[arrowhead=none,
		pos="243,215.97 243,196.42 243,168 243,168 243,168 318.2,168 359.91,168"];
	72	[height=0.5,
		pos="1215,162",
		width=0.75];
	72 -> 62	[arrowhead=none,
		pos="1197,143.83 1197,133 1197,119.29 1197,108.41"];
	73	[height=0.5,
		pos="1287,162",
		width=0.75];
	73 -> 62	[arrowhead=none,
		pos="1287,143.97 1287,124.42 1287,96 1287,96 1287,96 1238.2,96 1206.3,96"];
	74	[height=0.5,
		pos="891,234",
		width=0.75];
	74 -> 63	[arrowhead=none,
		pos="913.5,215.83 913.5,205 913.5,191.29 913.5,180.41"];
	75	[height=0.5,
		pos="567,306",
		width=0.75];
	75 -> 66	[arrowhead=none,
		pos="576,287.96 576,280.25 576,273 576,273 576,273 670.5,273 670.5,273 670.5,273 670.5,262.31 670.5,252.13"];
	76	[height=0.5,
		pos="1143,234",
		width=0.75];
	76 -> 68	[arrowhead=none,
		pos="1143,215.83 1143,205 1143,191.29 1143,180.41"];
	77	[height=0.5,
		pos="387,378",
		width=0.75];
	77 -> 75	[arrowhead=none,
		pos="405,359.58 405,350.72 405,342 405,342 405,342 558,342 558,342 558,342 558,333.28 558,324.42"];
	78	[height=0.5,
		pos="783,306",
		width=0.75];
	78 -> 74	[arrowhead=none,
		pos="783,287.83 783,266.5 783,234 783,234 783,234 831.75,234 863.75,234"];
	79	[height=0.5,
		pos="351,234",
		width=0.75];
	79 -> 67	[arrowhead=none,
		pos="369,215.83 369,205 369,191.29 369,180.41"];
	80	[height=0.5,
		pos="423,234",
		width=0.75];
	80 -> 67	[arrowhead=none,
		pos="405,215.83 405,205 405,191.29 405,180.41"];
	81	[height=0.5,
		pos="63,306",
		width=0.75];
	81 -> 71	[arrowhead=none,
		pos="63,287.96 63,274.71 63,259 63,259 63,259 220.5,259 220.5,259 220.5,259 220.5,256.05 220.5,252.17"];
	82	[height=0.5,
		pos="27,378",
		width=0.75];
	82 -> 81	[arrowhead=none,
		pos="45,359.83 45,349 45,335.29 45,324.41"];
	83	[height=0.5,
		pos="27,450",
		width=0.75];
	83 -> 82	[arrowhead=none,
		pos="27,431.83 27,421 27,407.29 27,396.41"];
	84	[height=0.5,
		pos="135,306",
		width=0.75];
	84 -> 71	[arrowhead=none,
		pos="153,287.87 153,277.29 153,266 153,266 153,266 225,266 225,266 225,266 225,259.43 225,252.24"];
	85	[height=0.5,
		pos="207,306",
		width=0.75];
	85 -> 71	[arrowhead=none,
		pos="229.5,287.83 229.5,277 229.5,263.29 229.5,252.41"];
	86	[height=0.5,
		pos="855,306",
		width=0.75];
	86 -> 74	[arrowhead=none,
		pos="873,287.83 873,277 873,263.29 873,252.41"];
	87	[height=0.5,
		pos="981,234",
		width=0.75];
	87 -> 63	[arrowhead=none,
		pos="958.5,215.83 958.5,205 958.5,191.29 958.5,180.41"];
	88	[height=0.5,
		pos="99,378",
		width=0.75];
	88 -> 81	[arrowhead=none,
		pos="81,359.83 81,349 81,335.29 81,324.41"];
	89	[height=0.5,
		pos="297,450",
		width=0.75];
	89 -> 77	[arrowhead=none,
		pos="315,431.83 315,410.5 315,378 315,378 315,378 339.39,378 359.78,378"];
	90	[height=0.5,
		pos="855,378",
		width=0.75];
	90 -> 86	[arrowhead=none,
		pos="855,359.83 855,349 855,335.29 855,324.41"];
	91	[height=0.5,
		pos="999,306",
		width=0.75];
	91 -> 87	[arrowhead=none,
		pos="990,287.83 990,277 990,263.29 990,252.41"];
	92	[height=0.5,
		pos="1143,306",
		width=0.75];
	92 -> 76	[arrowhead=none,
		pos="1134,287.83 1134,277 1134,263.29 1134,252.41"];
	93	[height=0.5,
		pos="927,378",
		width=0.75];
	93 -> 86	[arrowhead=none,
		pos="899.71,378 894.69,378 891,378 891,378 891,378 891,306 891,306 891,306 887.31,306 882.29,306"];
	94	[height=0.5,
		pos="639,306",
		width=0.75];
	94 -> 66	[arrowhead=none,
		pos="666.29,300 671.31,300 675,300 675,300 675,300 675,271.58 675,252.03"];
	95	[height=0.5,
		pos="927,306",
		width=0.75];
	95 -> 74	[arrowhead=none,
		pos="909,287.83 909,277 909,263.29 909,252.41"];
	96	[height=0.5,
		pos="1215,306",
		width=0.75];
	96 -> 76	[arrowhead=none,
		pos="1187.9,306 1181.3,306 1176,306 1176,306 1176,306 1176,240 1176,240 1176,240 1173.7,240 1170.3,240"];
	97	[height=0.5,
		pos="1062,234",
		width=0.75];
	97 -> 63	[arrowhead=none,
		pos="1039.5,215.83 1039.5,194.5 1039.5,162 1039.5,162 1039.5,162 993.86,162 963.19,162"];
	98	[height=0.5,
		pos="1287,234",
		width=0.75];
	98 -> 73	[arrowhead=none,
		pos="1287,215.83 1287,205 1287,191.29 1287,180.41"];
	99	[height=0.5,
		pos="495,234",
		width=0.75];
	99 -> 67	[arrowhead=none,
		pos="495,215.99 495,193.51 495,158 495,158 495,158 446.25,158 414.25,158"];
	100	[height=0.5,
		pos="711,306",
		width=0.75];
	100 -> 66	[arrowhead=none,
		pos="702,287.83 702,277 702,263.29 702,252.41"];
	101	[height=0.5,
		pos="1359,234",
		width=0.75];
	101 -> 73	[arrowhead=none,
		pos="1331.7,234 1326.7,234 1323,234 1323,234 1323,234 1323,162 1323,162 1323,162 1319.3,162 1314.3,162"];
	102	[height=0.5,
		pos="369,450",
		width=0.75];
	102 -> 77	[arrowhead=none,
		pos="378,431.83 378,421 378,407.29 378,396.41"];
	103	[height=0.5,
		pos="351,306",
		width=0.75];
	103 -> 79	[arrowhead=none,
		pos="351,287.83 351,277 351,263.29 351,252.41"];
	104	[height=0.5,
		pos="423,306",
		width=0.75];
	104 -> 80	[arrowhead=none,
		pos="423,287.83 423,277 423,263.29 423,252.41"];
	105	[height=0.5,
		pos="441,450",
		width=0.75];
	105 -> 77	[arrowhead=none,
		pos="413.71,450 408.69,450 405,450 405,450 405,450 405,417.5 405,396.17"];
	106	[height=0.5,
		pos="279,306",
		width=0.75];
	106 -> 71	[arrowhead=none,
		pos="261,287.83 261,277 261,263.29 261,252.41"];
	107	[height=0.5,
		pos="639,378",
		width=0.75];
	107 -> 100	[arrowhead=none,
		pos="666.24,378 673.56,378 679.5,378 679.5,378 679.5,378 679.5,312 679.5,312 679.5,312 681.23,312 683.88,312"];
	108	[height=0.5,
		pos="1215,234",
		width=0.75];
	108 -> 68	[arrowhead=none,
		pos="1187.7,228 1184.3,228 1182,228 1182,228 1182,228 1182,162 1182,162 1182,162 1176.7,162 1170.1,162"];
	109	[height=0.5,
		pos="1359,162",
		width=0.75];
	109 -> 62	[arrowhead=none,
		pos="1359,143.91 1359,120.87 1359,84 1359,84 1359,84 1256.7,84 1206.3,84"];
	110	[height=0.5,
		pos="783,378",
		width=0.75];
	110 -> 78	[arrowhead=none,
		pos="783,359.83 783,349 783,335.29 783,324.41"];
	111	[height=0.5,
		pos="279,378",
		width=0.75];
	111 -> 106	[arrowhead=none,
		pos="279,359.83 279,349 279,335.29 279,324.41"];
	112	[height=0.5,
		pos="495,378",
		width=0.75];
	112 -> 75	[arrowhead=none,
		pos="522.24,378 529.56,378 535.5,378 535.5,378 535.5,378 535.5,312 535.5,312 535.5,312 537.23,312 539.88,312"];
	113	[height=0.5,
		pos="567,378",
		width=0.75];
	113 -> 75	[arrowhead=none,
		pos="576,359.83 576,349 576,335.29 576,324.41"];
	114	[height=0.5,
		pos="1071,306",
		width=0.75];
	114 -> 97	[arrowhead=none,
		pos="1066.5,287.83 1066.5,277 1066.5,263.29 1066.5,252.41"];
	115	[height=0.5,
		pos="1287,306",
		width=0.75];
	115 -> 76	[arrowhead=none,
		pos="1287,287.94 1287,283.51 1287,280 1287,280 1287,280 1152,280 1152,280 1152,280 1152,265.04 1152,252.18"];
	116	[height=0.5,
		pos="495,306",
		width=0.75];
	116 -> 64	[arrowhead=none,
		pos="522.29,300 527.31,300 531,300 531,300 531,300 531,234 531,234 531,234 544.29,234 557.68,234"];
	117	[height=0.5,
		pos="1017,90",
		width=0.75];
	117 -> 61	[arrowhead=none,
		pos="999,71.831 999,61 999,47.288 999,36.413"];
	118	[height=0.5,
		pos="513,450",
		width=0.75];
	118 -> 112	[arrowhead=none,
		pos="504,431.83 504,421 504,407.29 504,396.41"];
	119	[height=0.5,
		pos="369,522",
		width=0.75];
	119 -> 102	[arrowhead=none,
		pos="369,503.83 369,493 369,479.29 369,468.41"];
	120	[height=0.5,
		pos="711,378",
		width=0.75];
	120 -> 100	[arrowhead=none,
		pos="711,359.83 711,349 711,335.29 711,324.41"];
}

Unfortunately, Graphviz does not do well with this request. Some of your attribute/value pairs are ignored by dot

espe="10,10",
nodesep=equally,
overlap=false,
ranksep=equally,

but deleting them won’t help much.

If you add
edge [tailport="s" headport="n" ]
then splines=true, you get:

or splines=false gives:

Note that splines=ortho does not work with ports