General Category > ASL Scripts
Please help with the cylinder script!
NickD:
Hello,
I have two points. I want to connect them not with the line, but with the cylinder. Is this possible ?
NickD:
I've tried this:
....
$index[0] = $mymesh.AddPoint((0.000000, 1.000000, 0.000000));
$index[1] = $mymesh.AddPoint((0.343292, 0.939229, 0.000000));
....
float $rx, $ry, $rz;
point3 $p1, $p2;
$p1 = $mymesh.GetPoint($index[0]);
$p2 = $mymesh.GetPoint($index[1]);
float $CylLen;
$CylLen = sqrt(pow($p1.x-$p2.x, 2) + pow($p1.y-$p2.y, 2) + pow($p1.z-$p2.z, 2));
shape $cyl0;
$cyl0 = cylinder($CylRad, $CylLen);
$cyl0.lon = 8;
$cyl0.lat = 1;
$cyl0.CapStart = 0;
$cyl0.CapEnd = 0;
$cyl0.loc = ($p2.x, $p2.y, $p2.z);
$rx = 0;
if(($p1.x-$p2.x) < 0) { $ang = 180; } else { $ang = 0; }
$ry = $ang + atan(($p1.z-$p2.z)/($p1.x-$p2.x)) * 180.0 / $PI2;
$rz = acos(($p1.y-$p2.y) / $CylLen ) * 180.0 / $PI2;
$cyl[$i].orientation = RPYtoQuaternion($rx, $ry, $rz);
it ALMOST works. The cylinder is positioned not very precise.
NickD:
now everything works ok, i'm using old version of anim8or with wrong PI!
RudySchneider:
I haven't got ANY experience with Anim8or scripts but, just out of curiosity, doesn't $CylRad need to be defined somewhere?
NickD:
yes, but i've not included this in the sample:
float $PI2;
$PI2 = 3.14159265358979323846;
float $CylRad;
$CylRad = 0.018;
actually, i'm using this script to build a geodesic dome
soon i will finish script and can publish it if someone is interested.
This is the result of the script:
Navigation
[0] Message Index
[#] Next page
Go to full version