REGNPTS


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.

SYNTAX


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.

Actions Based on pdist Type

If 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.

Ray Start Based on 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.

EXAMPLES

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