Difference between pages "SelectElement3 Values" and "SpaceFrameSurface-ctrl-i"

From scripting
(Difference between pages)
Jump to: navigation, search
(Created page with "Values to use as selection filter. Role: Values which can be given as filter to Selection.SelectElement2, Selection.SelectElement3, Selection.IndicateOrSelectElement2D or Sele...")
 
(Created page with "http://crtl-i.com/blog/?p=140 // // Script written by Howard Jiho Kim | kimjiho@gmail.com | crtl-i.com | 2007 // // ex. // spFrSurface(srfName1, srfName2, U, V) // sp...")
 
Line 1: Line 1:
Values to use as selection filter.
+
http://crtl-i.com/blog/?p=140
Role: Values which can be given as filter to Selection.SelectElement2, Selection.SelectElement3, Selection.IndicateOrSelectElement2D or Selection.IndicateOrSelectElement3D, beside the automation object names.
 
Values:
 
  
ZeroDim
 
Topological 0-D entity (such as a Point2D )
 
  
MonoDim
 
Topological 1-D entity which cannot be infinite (such as a HybridShapeSpline)
 
  
MonoDimInfinite
+
//
Topological 1-D entity which may be infinite, such as a HybridShapeSpline (not infinite) or a HybridShapeLinePtDir for which a call to HybridShapeLinePtDir.GetLengthType would give 1, 2 or 3 (infinite)
+
// Script written by Howard Jiho Kim | kimjiho@gmail.com | crtl-i.com | 2007
 +
//
 +
// ex.
 +
// spFrSurface(srfName1, srfName2, U, V)
 +
// spFrSurface(“nurbsPlane1”, “nurbsPlane2”, 10, 10)
 +
//
 +
 +
// HORIZONTAL MEMBERS!!
 +
 +
global proc spFrSurface(string $nurb, string $nurb2, int $u, int $v)
 +
{
 +
gridSurface($nurb, $u,$v);
 +
gridSurface($nurb2, $u,$v);
 +
 +
float $u_inc = 1.0/$u;
 +
float $v_inc = 1.0/$v;
 +
float $cv[], $cv2[], $cv3[];
 +
 +
float $i2, $k2;
 +
 +
// get U information
 +
 +
$u = $u + 1;
 +
$v = $v + 1;
 +
 +
for($i=0;$i<$u;$i++)
 +
{
 +
for($k=0;$k<$v;$k++)
 +
{
 +
 +
$i2 = $u_inc * $i;
 +
print (“u:” + $i2 + ” | “);
 +
$k2 = $v_inc * $k;
 +
print (“v:” + $k2 + ” | “);
 +
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;
 +
  print( $cv[0] +” “+ $cv[1] +” “+ $cv[2]  + ” | “);
 +
 +
$cv2 = `pointOnSurface -u $i2 -v $k2 -position $nurb2`;
 +
print( $cv2[0] +” “+ $cv2[1] +” “+ $cv2[2] +”\n”);
 +
 +
curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;
 +
 +
// print CV
 +
 +
//$x[$k] = $cv[0];
 +
//$y[$k] = $cv[1];
 +
//$z[$k] = $cv[2];
 +
 +
}
 +
 +
//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6]
 +
$z[6] -p $x[7] $y[7] $z[7]`;
 +
}
 +
}
 +
 +
// LONGITUDINAL MEMBERS
 +
global proc gridSurface(string $nurb, int $u, int $v)
 +
{
 +
float $u_inc = 1.0/$u;
 +
float $v_inc = 1.0/$v;
 +
float $cv[], $cv2[], $cv3[];
 +
 +
float $i2, $k2;
 +
 +
// get U information
 +
 +
$u = $u + 1;
 +
 +
for($i=0;$i<$u;$i++)
 +
{
 +
for($k=0;$k<$v;$k++)
 +
{
 +
 +
$i2 = $u_inc * $i;
 +
print (“u:” + $i2 + ” | “);
 +
$k2 = $v_inc * $k;
 +
print (“v:” + $k2 + ” | “);
 +
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;
 +
print( $cv[0] +” “+ $cv[1] +” “+ $cv[2]  + ” | “);
 +
 +
$k3 = $v_inc * ($k+1);
 +
 
 +
  $cv2 = `pointOnSurface -u $i2 -v $k3 -position $nurb`;
 +
print( $cv2[0] +” “+ $cv2[1] +” “+ $cv2[2] +”\n”);
 +
 +
curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;
 +
 +
// print CV
 +
 +
//$x[$k] = $cv[0];
 +
//$y[$k] = $cv[1];
 +
//$z[$k] = $cv[2];
 +
 +
}
 +
 +
//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6]
 +
$z[6] -p $x[7] $y[7] $z[7]`;
 +
}
 +
 +
// get U information
 +
 +
$v = $v + 1;
 +
$u = $u – 1;
 +
 +
for($i=0;$i<$v;$i++)
 +
{
 +
for($k=0;$k<$u;$k++)
 +
{
 +
 +
$i2 = $u_inc * $k;
 +
print (“u:” + $i2 + ” | “);
 +
$k2 = $v_inc * $i;
 +
print (“v:” + $k2 + ” | “);
 +
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;
 +
print( $cv[0] +” “+ $cv[1] +” “+ $cv[2]  + ” | “);
 +
 +
$i3 = $u_inc * ($k+1);
 +
 +
$cv2 = `pointOnSurface -u $i3 -v $k2 -position $nurb`;
 +
print( $cv2[0] +” “+ $cv2[1] +” “+ $cv2[2] +”\n”);
 +
 +
curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;
 +
 +
// print CV
 +
 +
//$x[$k] = $cv[0];
 +
//$y[$k] = $cv[1];
 +
//$z[$k] = $cv[2];
 +
 +
}
 +
 +
//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6]
 +
$z[6] -p $x[7] $y[7] $z[7]`;
 +
}
 +
}
 +
  
RectilinearMonoDim
 
1-D entity which cannot be infinite, the entity having a rectilinear geometry
 
  
RectilinearMonoDimInfinite
+
''More information on isoparm manipulation, read pages 109-113 in [http://stores.lulu.com/nickpisca YSYT].
1-D entity which may be infinite, the entity having a rectilinear geometry
+
[[Category:MEL]]
 
 
BiDim
 
Topological 2-D entity which cannot be infinite (such as a HybridShapeCylinder )
 
 
 
BiDimInfinite
 
Topological 2-D entity which may be infinite, such as a HybridShapeCylinder (non infinite) or a HybridShapePlaneOffsetPt (infinite)
 
 
 
PlanarBiDim
 
2-D entity which cannot be infinite, the entity having a planar geometry
 
 
 
PlanarBiDimInfinite
 
2-D entity having a planar geometry
 
 
 
CylindricalBiDim
 
2-D entity which cannot be infinite, the entity having a cylindrical geometry
 
 
 
TriDim
 
Topological 3-D entity (such as a Pad )
 
 
 
 
 
 
 
Thanks to this forum post:  http://www.catiav5forum.de/wbb3/wbb/index.php?page=Thread&threadID=2167&l=4
 

Latest revision as of 20:02, 24 April 2017

http://crtl-i.com/blog/?p=140


//
// Script written by Howard Jiho Kim | kimjiho@gmail.com | crtl-i.com | 2007
//
// ex.
// spFrSurface(srfName1, srfName2, U, V)
// spFrSurface(“nurbsPlane1”, “nurbsPlane2”, 10, 10)
//

// HORIZONTAL MEMBERS!!

global proc spFrSurface(string $nurb, string $nurb2, int $u, int $v)
{
gridSurface($nurb, $u,$v);
gridSurface($nurb2, $u,$v);

float $u_inc = 1.0/$u;
float $v_inc = 1.0/$v;
float $cv[], $cv2[], $cv3[];

float $i2, $k2;

// get U information

$u = $u + 1;
$v = $v + 1;

for($i=0;$i<$u;$i++)
{
for($k=0;$k<$v;$k++)
{

$i2 = $u_inc * $i;
print (“u:” + $i2 + ” | “);
$k2 = $v_inc * $k;
print (“v:” + $k2 + ” | “);
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;
 print( $cv[0] +” “+ $cv[1] +” “+ $cv[2]  + ” | “);

$cv2 = `pointOnSurface -u $i2 -v $k2 -position $nurb2`;
print( $cv2[0] +” “+ $cv2[1] +” “+ $cv2[2] +”\n”);

curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;

// print CV

//$x[$k] = $cv[0];
//$y[$k] = $cv[1];
//$z[$k] = $cv[2];

}

//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6] 
$z[6] -p $x[7] $y[7] $z[7]`;
}
}

// LONGITUDINAL MEMBERS
global proc gridSurface(string $nurb, int $u, int $v)
{
float $u_inc = 1.0/$u;
float $v_inc = 1.0/$v;
float $cv[], $cv2[], $cv3[];

float $i2, $k2;

// get U information

$u = $u + 1;

for($i=0;$i<$u;$i++)
{
for($k=0;$k<$v;$k++)
{

$i2 = $u_inc * $i;
print (“u:” + $i2 + ” | “);
$k2 = $v_inc * $k;
print (“v:” + $k2 + ” | “);
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;
print( $cv[0] +” “+ $cv[1] +” “+ $cv[2]  + ” | “);

$k3 = $v_inc * ($k+1); 
 
 $cv2 = `pointOnSurface -u $i2 -v $k3 -position $nurb`;
print( $cv2[0] +” “+ $cv2[1] +” “+ $cv2[2] +”\n”);

curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;

// print CV

//$x[$k] = $cv[0];
//$y[$k] = $cv[1];
//$z[$k] = $cv[2];

}

//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6] 
$z[6] -p $x[7] $y[7] $z[7]`;
}

// get U information

$v = $v + 1;
$u = $u – 1;

for($i=0;$i<$v;$i++)
{
for($k=0;$k<$u;$k++)
{

$i2 = $u_inc * $k;
print (“u:” + $i2 + ” | “);
$k2 = $v_inc * $i;
print (“v:” + $k2 + ” | “);
$cv = `pointOnSurface -u $i2 -v $k2 -position $nurb`;
print( $cv[0] +” “+ $cv[1] +” “+ $cv[2]  + ” | “);

$i3 = $u_inc * ($k+1);

$cv2 = `pointOnSurface -u $i3 -v $k2 -position $nurb`;
print( $cv2[0] +” “+ $cv2[1] +” “+ $cv2[2] +”\n”);

curve -d 1 -p $cv[0] $cv[1] $cv[2] -p $cv2[0] $cv2[1] $cv2[2] -k 0 -k 1;

// print CV

//$x[$k] = $cv[0];
//$y[$k] = $cv[1];
//$z[$k] = $cv[2];

}

//$curveName[$i] = `curve -p $x[0] $y[0] $z[0] -p $x[1] $y[1] $z[1] -p $x[2] $y[2] $z[2] -p $x[3] $y[3] $z[3] -p $x[4] $y[4] $z[4] -p $x[5] $y[5] $z[5] -p $x[6] $y[6] 
$z[6] -p $x[7] $y[7] $z[7]`;
}
}


More information on isoparm manipulation, read pages 109-113 in YSYT.