102 lines
2.9 KiB
Plaintext
102 lines
2.9 KiB
Plaintext
|
|
.. _rotateln :
|
||
|
|
|
||
|
|
 _place_holder;
|
||
|
|
|
||
|
|
> **_ROTATELN_**
|
||
|
|
|
||
|
|
>
|
||
|
|
|
||
|
|
>> Rotates a point distribution (specified by ifirst,ilast,istride) about a
|
||
|
|
line. The **copy** option allows the user to make a copy of the original
|
||
|
|
points as well as the rotated points, while **nocopy** just keeps the rotated
|
||
|
|
points themselves. The line of rotation defined by x1 through z2 needs to be
|
||
|
|
defined such that the endpoints extend beyond the point distribution being
|
||
|
|
rotated. theta (in degrees) is the angle of rotation whose positive direction
|
||
|
|
is determined by the right-hand-rule, that is, if the thumb of your right hand
|
||
|
|
points in the direction of the line (1 to 2), then your fingers will curl in
|
||
|
|
the direction of rotation. xcen,ycen,zcen is the point where the line can be
|
||
|
|
shifted to before rotation takes place.
|
||
|
|
|
||
|
|
If the **copy **option is chosen, the new points will have only coordinate
|
||
|
|
values (**xic, yic**, **zic**); no values will be set for any other mesh
|
||
|
|
object attribute for these points.
|
||
|
|
|
||
|
|
>>
|
||
|
|
|
||
|
|
>> Note: _place_holder; The end points of the _place_holder; line
|
||
|
|
segment must extend well beyond the point set being rotated.
|
||
|
|
|
||
|
|
FORMAT: **rotateln** /ifirst,ilast,istride/ [**no**] **copy** /
|
||
|
|
x1,y1,z1/x2,y2,z2/theta/xcen,ycen,zcen/
|
||
|
|
|
||
|
|
 _place_holder; EXAMPLE:
|
||
|
|
|
||
|
|
> * input.cylrot use rotateln and trans to move cylinder
|
||
|
|
|
||
|
|
* create a cylinder centered around _place_holder; x=.5,z=.5, radius = .1
|
||
|
|
* the cylinder is aligned parallel to the y-axis.
|
||
|
|
* inside a box of width =2 , length=2 ,height=1
|
||
|
|
* the regions are air for the cylinder - solid outside the cyl.
|
||
|
|
* points are spread by surrounding the whole object with
|
||
|
|
* a cylinder shell of points and then creating rays between
|
||
|
|
* these points and the major axis of the cylinder. _place_holder; Points
|
||
|
|
* are distributed along these rays inside the cylindrical region.
|
||
|
|
* a background rectangular grid of points is spread outside the
|
||
|
|
* cylinder.
|
||
|
|
cmo/create/3dmesh
|
||
|
|
|
||
|
|
surface/box1/reflect /box/-1.0,-1.0,0.0/ 1.0, 1.0, 1.0/
|
||
|
|
|
||
|
|
surface/h1/intrface /cylinder/ 0.5, -1.,0.5/ 0.5, 1.0, 0.5/.1/
|
||
|
|
|
||
|
|
region/H1/ le box1 and le h1 /
|
||
|
|
|
||
|
|
region/Fill/ le box1 and gt h1 /
|
||
|
|
|
||
|
|
mregion/Air/ le box1 and lt h1 /
|
||
|
|
|
||
|
|
mregion/Solid/Fill
|
||
|
|
|
||
|
|
createpts/xyz/11,11,1/-1.,-1.,1.1/1.0,1.0,1.1/,1,1,0/
|
||
|
|
|
||
|
|
pset/rays/seq/1,0,0/
|
||
|
|
|
||
|
|
regnpts/Fill/11/pset,get,rays/xyz/ 0.0,0.0,-0.1/1.0,1.0,-0.1/ &
|
||
|
|
|
||
|
|
0.0,1.0,-0.1/0,0/
|
||
|
|
|
||
|
|
* the rz command always distributes points with the z-axis as
|
||
|
|
* the axis of symmetry
|
||
|
|
* use the rotateln and trans commands to move the point
|
||
|
|
* distribution after it is created.
|
||
|
|
createpts/rtz/1,13,11/5.,0.,-1./5.,360.,1./0,1,1/0,0,0/
|
||
|
|
|
||
|
|
pset/ray1/seq/0,0,0/
|
||
|
|
|
||
|
|
rotateln/pset,get,ray1/nocopy/-100.,0.,0./100.,0.,0./-90./0.,0.,0./
|
||
|
|
|
||
|
|
trans/pset,get,ray1/0.,0.,0./0.5,0.,0.5/
|
||
|
|
|
||
|
|
regnpts/H1/3/pset,get,ray1/rtz/0.5,-1.1,0.5/0.5,1.1,0.5/0,0/
|
||
|
|
|
||
|
|
filter/1,0,0/
|
||
|
|
|
||
|
|
cmo/setatt//itp1/pset,get,rays/21
|
||
|
|
|
||
|
|
cmo/setatt//itp1/pset,get,ray1/21
|
||
|
|
|
||
|
|
setpts
|
||
|
|
|
||
|
|
connect
|
||
|
|
|
||
|
|
settets
|
||
|
|
|
||
|
|
dump/gmv/gmv.cylrot/3dmesh
|
||
|
|
|
||
|
|
finish
|
||
|
|
|
||
|
|
>
|
||
|
|
|
||
|
|
> [click here for image](../new_html/image/cylrot.gif)
|
||
|
|
|