// This command will auto generate a train track along a selected curve; global proc re_createMineTracks() { string $lssl[] = `ls -sl`; string $trainTrack = `group -empty -name "train_track_#"`; /// Tweakables float $trackWidth = 1; int $sleeperCount = 20; float $sleeperWidth = (($trackWidth/2)+$trackWidth); float $sleeperHeight = (($trackWidth/6)); float $sleeperDepth = (($trackWidth/4)); //Make Sleeper and Rails string $cube[] = `polyCube -w $sleeperWidth -h $sleeperHeight -d $sleeperDepth -sx 1 -sy 1 -sz 1 -ax 0 1 0 -cuv 4 -ch 1`; string $curve1 = `curve -d 3 -p 0 0.1330775619 -2.962576412e-017 -p -0.02170390143 0.1329227539 -2.955701557e-017 -p -0.03870106516 0.1344080357 -3.021661321e-017 -p -0.03887509593 0.1183756972 -2.309682466e-017 -p -0.03941043771 0.1054866858 -1.737295377e-017 -p -0.03946561244 0.0966728723 -1.345883429e-017 -p -0.03270661637 0.09564120055 -1.300068e-017 -p -0.0197958682 0.09437602771 -1.243883039e-017 -p -0.009379566368 0.08393225375 -7.800863067e-018 -p -0.01166494143 0.02260646918 1.943325615e-017 -p -0.009388195026 0.02439292943 1.863990843e-017 -p -0.03780605442 0.01252868781 2.390869011e-017 -p -0.05655320773 0.009565594249 2.522456799e-017 -p -0.06671129012 0.008215180199 2.58242723e-017 -p -0.06671129012 0.005076440719 2.721815263e-017 -p -0.06671129012 0.002223041199 2.848531657e-017 -p -0.06671129012 -0.0003450183712 2.962576412e-017 -p -0.04669790309 -0.0003450183712 2.962576412e-017 -p -0.02446080638 -0.0003450183712 2.962576412e-017 -p 0.02446080638 -0.0003450183712 2.962576412e-017 -p 0.04669790309 -0.0003450183712 2.962576412e-017 -p 0.06671129012 -0.0003450183712 2.962576412e-017 -p 0.06671129012 0.002223041199 2.848531657e-017 -p 0.06671129012 0.005076440719 2.721815263e-017 -p 0.06671129012 0.008215180199 2.58242723e-017 -p 0.05655320773 0.009565594249 2.522456799e-017 -p 0.03780605442 0.01252868781 2.390869011e-017 -p 0.009388195026 0.02439292943 1.863990843e-017 -p 0.01166494143 0.02260646918 1.943325615e-017 -p 0.009379566368 0.08393225375 -7.800863067e-018 -p 0.0197958682 0.09437602771 -1.243883039e-017 -p 0.03270661637 0.09564120055 -1.300068e-017 -p 0.03946561244 0.0966728723 -1.345883429e-017 -p 0.03941043771 0.1054866858 -1.737295377e-017 -p 0.03887509593 0.1183756972 -2.309682466e-017 -p 0.03870106516 0.1344080357 -3.021661321e-017 -p 0.02170390143 0.1329227539 -2.955701557e-017 -p 0 0.1330775619 -2.962576412e-017`; string $curve2 = `curve -d 3 -p 0 0.1330775619 -2.962576412e-017 -p -0.02170390143 0.1329227539 -2.955701557e-017 -p -0.03870106516 0.1344080357 -3.021661321e-017 -p -0.03887509593 0.1183756972 -2.309682466e-017 -p -0.03941043771 0.1054866858 -1.737295377e-017 -p -0.03946561244 0.0966728723 -1.345883429e-017 -p -0.03270661637 0.09564120055 -1.300068e-017 -p -0.0197958682 0.09437602771 -1.243883039e-017 -p -0.009379566368 0.08393225375 -7.800863067e-018 -p -0.01166494143 0.02260646918 1.943325615e-017 -p -0.009388195026 0.02439292943 1.863990843e-017 -p -0.03780605442 0.01252868781 2.390869011e-017 -p -0.05655320773 0.009565594249 2.522456799e-017 -p -0.06671129012 0.008215180199 2.58242723e-017 -p -0.06671129012 0.005076440719 2.721815263e-017 -p -0.06671129012 0.002223041199 2.848531657e-017 -p -0.06671129012 -0.0003450183712 2.962576412e-017 -p -0.04669790309 -0.0003450183712 2.962576412e-017 -p -0.02446080638 -0.0003450183712 2.962576412e-017 -p 0.02446080638 -0.0003450183712 2.962576412e-017 -p 0.04669790309 -0.0003450183712 2.962576412e-017 -p 0.06671129012 -0.0003450183712 2.962576412e-017 -p 0.06671129012 0.002223041199 2.848531657e-017 -p 0.06671129012 0.005076440719 2.721815263e-017 -p 0.06671129012 0.008215180199 2.58242723e-017 -p 0.05655320773 0.009565594249 2.522456799e-017 -p 0.03780605442 0.01252868781 2.390869011e-017 -p 0.009388195026 0.02439292943 1.863990843e-017 -p 0.01166494143 0.02260646918 1.943325615e-017 -p 0.009379566368 0.08393225375 -7.800863067e-018 -p 0.0197958682 0.09437602771 -1.243883039e-017 -p 0.03270661637 0.09564120055 -1.300068e-017 -p 0.03946561244 0.0966728723 -1.345883429e-017 -p 0.03941043771 0.1054866858 -1.737295377e-017 -p 0.03887509593 0.1183756972 -2.309682466e-017 -p 0.03870106516 0.1344080357 -3.021661321e-017 -p 0.02170390143 0.1329227539 -2.955701557e-017 -p 0 0.1330775619 -2.962576412e-017`; move -a (($trackWidth/2)*-1) ($sleeperHeight/2) 0 $curve1; move -a (($trackWidth/2)) ($sleeperHeight/2) 0 $curve2; ////////// Parent everything to the sleeper parent $curve1 $cube[0]; parent $curve2 $cube[0]; /// Duplicate along the curve and loft the rails pathAnimation -fractionMode true -follow true -followAxis z -upAxis y -worldUpType "vector" -worldUpVector 0 1 0 -inverseUp false -inverseFront false -bank false -startTimeU 1 -endTimeU $sleeperCount $cube[0] $lssl[0]; string $rail1 = "loft -ch 1 -u 1 -c 0 -ar 1 -d 3 -ss 1 -rn 0 -po 1 -rsn true "; string $rail2 = "loft -ch 1 -u 1 -c 0 -ar 1 -d 3 -ss 1 -rn 0 -po 1 -rsn true "; for ($i = 1; ($sleeperCount+1) > $i; ++$i) { currentTime $i; select $cube[0]; duplicate; string $tmp[] = `ls -sl`; $rail1 += (" "+($tmp[0]+"|"+$curve1)); $rail2 += (" "+($tmp[0]+"|"+$curve2)); parent $tmp[0] $trainTrack; } eval $rail1; string $tmp2[] = `ls -sl`; parent $tmp2[0] $trainTrack; eval $rail2; string $tmp3[] = `ls -sl`; parent $tmp3[0] $trainTrack; delete $cube[0]; }