vla-get-NDensity 函数

功能

      取得PolygonMesh在N方向的面密度。

语法及参数

(vla-get-NDensity Object )
Object PolygonMesh
这个属性适用的对象
NDensity 整数;读/写
默认值为6

说明 
    N面密度是PolygonMesh对象N方向的顶点数目。PolygonMesh对象的类型包括:acQuadSurfaceMesh, acCubicSurfaceMesh, 或 acBezierSurfaceMesh.
    这个范例

;;;从二代龙震工作室汉化帮助中提取
;;;本源代码由 xshrimp 2013.2.20 搜集整理,版权归原作者所有!
的初始值由SURFUVhlp系统变量值+1计算取得。因此,如果SURFU当前的值是6,刚网格的NDensity在拟合运算后会是7。要对网格执行面拟合运算,可使用Type属性来改变网格类型。
范例
  (defun Example_NDensity     ()
  ;;;这个范例在模型空间中建立一个4 X 4 多边形网格
  ;;;接着改变多边形网格的类型,在 'N'方向的点数
  (VL-LOAD-COM)
  (setq    AcadObject   (vlax-get-acad-object)
  AcadDocument (vla-get-ActiveDocument AcadObject)
  mSpace        (vla-get-ModelSpace AcadDocument)
)
  ;;;建立点的矩阵
  (setq pnts (vlax-make-safearray vlax-vbDouble '(0 . 47)))
  (vlax-safearray-fill
pnts
  '(0   0  0  20 0  10   40 0  0   60 0  10 0  20   0  20 20 10 40 20 0  60
  20 10 0  40 0  20    40 10 40 40 0  60 40 0 0  60 0   20 60 10 40 60
  0  60 60 0
)
)
  (setq mSize 4)
  (setq nSize 4)
  ;;;在模型空间中建立一个3Dmesh 对象
  (setq meshObj (vla-Add3DMesh mSpace mSize nSize pnts))
  ;;;改变视口的观察方向来看清楚多边形网格
  (setq NewDirection (vlax-3d-point (list -1 -1 1)))
  (setq ActiveViewportSel (vla-get-ActiveViewport AcadDocument))
  (vla-put-direction ActiveViewportSel NewDirection)
  (vla-put-ActiveViewport
  AcadDocument
  (vla-get-ActiveViewport AcadDocument)
)
  (vla-ZoomExtents AcadObject)
  ;;;改变网格的类型. (NDensity 对 acSimpleMesh类型无效)
  (vla-put-Type meshObj acQuadSurfaceMesh)
  (vla-Update meshObj)
  (vla-Regen AcadDocument acAllViewports)
  ;;;找出网格的 NDensity
  (setq currDensity (vla-get-NDensity meshObj))
  (princ (STRCAT "网格的NDensity当前是: "
  (RTOS currDensity)
  "   NDensity范例\n"
)
)
  (PROMPT "进行:")
  (VL-CMDF pause)
  ;;;改变网格的NDensity为5
  (vla-put-NDensity meshObj 5)
  (setq newDensity (vla-get-NDensity meshObj))
  (princ (STRCAT "网格的NDensity现在是: "
  (RTOS newDensity)
  "   NDensity范例"
)
)
  (princ)
)

    意见?