General Category > ASL Scripts

Please help with the cylinder script!

(1/2) > >>

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