指定多边形网格在 N 个方向上的平滑表面密度。 支持的平台:仅窗口 属性值只读:不 类型:整数 默认值为 6。 言论N表面密度是以下类型的对象的N方向上的顶点数:、 或。PolygonMeshacQuadSurfaceMeshacCubicSurfaceMeshacBezierSurfaceMesh 此属性的初始值派生自 SURFV 系统变量 + 1 中的值。因此,如果 SURFV 的当前值为 6,则表面拟合操作后的网格将为 7。要对网格执行曲面拟合操作,请使用属性更改网格类型。NDensityType 例子工 务 局: Sub Example_NDensity()
' This example creates a 4 X 4 polygonmesh in model space.
' It then changes the type of polymesh, and finds the
' number of points in the 'N' direction.
Dim meshObj As AcadPolygonMesh
Dim mSize, nSize, count As Integer
Dim points(0 To 47) As Double
' Create the matrix of points
points(0) = 0: points(1) = 0: points(2) = 0
points(3) = 2: points(4) = 0: points(5) = 1
points(6) = 4: points(7) = 0: points(8) = 0
points(9) = 6: points(10) = 0: points(11) = 1
points(12) = 0: points(13) = 2: points(14) = 0
points(15) = 2: points(16) = 2: points(17) = 1
points(18) = 4: points(19) = 2: points(20) = 0
points(21) = 6: points(22) = 2: points(23) = 1
points(24) = 0: points(25) = 4: points(26) = 0
points(27) = 2: points(28) = 4: points(29) = 1
points(30) = 4: points(31) = 4: points(32) = 0
points(33) = 6: points(34) = 4: points(35) = 0
points(36) = 0: points(37) = 6: points(38) = 0
points(39) = 2: points(40) = 6: points(41) = 1
points(42) = 4: points(43) = 6: points(44) = 0
points(45) = 6: points(46) = 6: points(47) = 0
mSize = 4: nSize = 4
' Create a 3Dmesh in model space
Set meshObj = ThisDrawing.ModelSpace.Add3DMesh(mSize, nSize, points)
' Change the viewing direction of the viewport to better see the polymesh
Dim NewDirection(0 To 2) As Double
NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
ThisDrawing.ActiveViewport.direction = NewDirection
ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
ZoomAll
' Change the type of mesh. (NDensity is not valid for acSimpleMesh type.)
meshObj.Type = acQuadSurfaceMesh
meshObj.Update
ThisDrawing.Regen acActiveViewport
' Find the NDensity for the mesh
Dim currDensity As Integer
currDensity = meshObj.NDensity
MsgBox "The NDensity for the mesh is " & meshObj.NDensity, , "NDensity Example"
End Sub
Visual LISP: (vl-load-com)
(defun c:Example_NDensity()
;; This example creates a 4 X 4 polygonmesh in model space.
;; It then changes the type of polymesh, and finds the
;; number of points in the 'N' direction.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; Create the matrix of points
(setq points (vlax-make-safearray vlax-vbDouble '(0 . 47)))
(vlax-safearray-fill points '(0 0 0
2 0 1
4 0 0
6 0 1
0 2 0
2 2 1
4 2 0
6 2 1
0 4 0
2 4 1
4 4 0
6 4 0
0 6 0
2 6 1
4 6 0
6 6 0
)
)
(setq mSize 4
nSize 4)
;; Create a 3Dmesh in model space
(setq modelSpace (vla-get-ModelSpace doc))
(setq meshObj (vla-Add3DMesh modelSpace mSize nSize points))
;; Change the viewing direction of the viewport to better see the polymesh
(setq NewDirection (vlax-3d-point -1 -1 1))
(setq activeViewport (vla-get-ActiveViewport doc))
(vla-put-Direction activeViewport NewDirection)
(vla-put-ActiveViewport doc activeViewport)
(vla-ZoomAll acadObj)
;; Change the type of mesh. (NDensity is not valid for acSimpleMesh type.)
(vla-put-Type meshObj acQuadSurfaceMesh)
(vla-Update meshObj)
(vla-Regen doc acActiveViewport)
;; Find the NDensity for the mesh
(setq currDensity (vla-get-NDensity meshObj))
(alert (strcat "The NDensity for the mesh is " (itoa currDensity)))
)
|
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-10-29 08:50
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.