Generates points in a region previously defined by the region command. The points are generated by shooting rays through a user specified set of points from an origin point, line, or plane and finding the intersection of each ray with the surfaces that define the region.
The region must exist for the current mesh object and defined with surfaces using SURFACE
and REGION
commands.
Points are distributed on boundaries if the region was defined using ge or le to define the interface or boundary.
Only surface intersection points are created if ptdist
is a keyword as defined below.
If another region intrudes upon the regnpts region so that the regpts region is divided into more than one piece, points that fall inside the intruding region are not distributed.
regnpts/region_name/ptdist/ifirst,ilast,istride/geom/ray_points /irratio,rrz,maxpenetr regnpts/region_name/ptdist/ifirst,ilast,istride/xyz/x1,y1,z1/x2,y2,z2/x3,y3,z3/irratio,rrz/maxpenetr regnpts/region_name/ptdist/ifirst,ilast,istride/rtz/x1,y1,z1/x2,y2,z2/irratio,rrz/ regnpts/region_name/ptdist/ifirst,ilast,istride/rtp/xcen,ycen,zcen/irratio,rrz,maxpenetr regnpts/region_name/ptdist/ifirst,ilast,istride/pointsifirst2,ilast2,istride2/irratio,rrz/ maxpenetr
region_name
must exist for the current mesh object as described above.
ifirst,ilast,istride
are the points to shoot rays through. The range 1,0,0 means all points, a named set may also be used with pset,get,psetname.
pdist
TypeIf ptdist
is a one of the keywords inside, in, out, outside, or both surface points are created regardless of region ownership of the interface or boundary surface – if a ray encounters a region more than once, the appropriate surface intersection point(s) is generated for each encounter.
If ptdist
if a real value, then points are distributed at that distance along the ray, up to a maximum of maxpenetr
points along the ray (in addition to any interface points that may be created). If the ray encounters a region more than once, multiple sets of points are generated.
irratio
/ rrz
is ignored when ptdist
is a real value.
If ptdist
is an integer, then that many points are evenly distributed along the ray in the region.
irratio
/ rrz
defines the ratio zoning used to distribute the points.
irratio
= 1: the point distribution is adjusted so that the ratio between successive pairs of points is rrz.irratio
= 2: points are distributed by equal volumes depending on the geometry type.irratio
= 3: ratio zoning is calculated on the longest ray; then this length is applied to all the rays.geom
xyz
shoot rays from normal of plane defined by cartesian coordinate points 1, 2, and 3.
rtz
shoot rays perpendicular from the cylinder line defined at point 1 to point 2.
rtp
shoot rays from spherical center from the given point.
region/top/ ge pbot and le ptop and ge plft and le prgt &
and ge pbck and le pfrt and gt cutplane /
regnpts/top/3/pset,get,rayend/xyz/0.,0.,-.1/0.,1.,-.1/1.,1.,-.1/0,0/
Create rays between points in rayend and the plane. Distribute 3 points along these rays in the region top add one point at the upper external boundary for each ray. Then add one point at the upper external boundary for each ray.
regnpts/InWF_SOIL_REGION/10/pset,get,InWF_SOIL_RAYEND/rtz/-0.5000000,42.42380,2 &
9.98730/-0.5000000,82.67780,29.98730/-0.5000000,82.67780,100.0000/0,0/ `
Create cylindrical points in region defined as InWF_SOIL.
# define surfaces
surface/lay1/intrface/plane/ 0 0 119 / 10 0 119 / 10 100 119
# create regions
region/reg1/ le box1 and le lay1
# create ray end points
createpts/xyz/ 1 3 14 / -5 0 0 / -5 100 119 / 1 1 1
pset/rayend/seq/1 0 0
# remove duplicate points if they exist
filter/1,0,0 ; rmpoint/compress
# shoot points into volume in region reg1
regnpts/reg1/100/pset get rayend/xyz/ 300 0 0/ 300 10 0/ 300 10 1/ 1 1.
# remove ray end points
rmpoint/pset get rayend
filter/1,0,0
rmpoint/compress
# color point imt and connect
setpts
connect
Typical set of commands using regions and ray shooting to create a mesh.
Click here for Examples
Click here for Tutorial using ray shooting methods