NClose Property (ActiveX)

Specifies whether the PolygonMesh is closed in the N direction.

Supported platforms: Windows only

Signature

VBA:

object.NClose
object

Type: PolygonMesh

The object this property applies to.

Property Value

Read-only: No

Type: Boolean

Remarks

If the PolygonMesh is closed, it will be treated as continuous from the last column on to the first column. If the PolygonMesh is open, it will be treated as discontinuous between the last column and the first column.

Examples

VBA:

Sub Example_NClose()
    ' This example creates a 4 X 4 polygonmesh in model space.
    ' It then closes the polymesh 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) = 2: points(1) = 2: points(2) = 1
    points(3) = 2.5: points(4) = 2: points(5) = 0
    points(6) = 5: points(7) = 2: points(8) = 0
    points(9) = 5.5: points(10) = 2: points(11) = 1
    points(12) = 2: points(13) = 4: points(14) = 0.5
    points(15) = 2.5: points(16) = 4: points(17) = 0
    points(18) = 5: points(19) = 4: points(20) = 0
    points(21) = 5.5: points(22) = 4: points(23) = 0.5
    points(24) = 2: points(25) = 6: points(26) = 0.5
    points(27) = 2.5: points(28) = 6: points(29) = 0
    points(30) = 5: points(31) = 6: points(32) = 0
    points(33) = 5.5: points(34) = 6: points(35) = 0.5
    points(36) = 2: points(37) = 8: points(38) = 1
    points(39) = 2.5: points(40) = 8: points(41) = 0
    points(42) = 5: points(43) = 8: points(44) = 0
    points(45) = 5.5: points(46) = 8: points(47) = 1
    
    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 cylinder
    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
    
    ' Close the polymesh in the 'M' direction
    MsgBox "The polymesh is " & IIf(meshObj.NClose, "closed", "open") & " in the 'N' direction.", , "NClose Example"
    meshObj.NClose = True
    ThisDrawing.Regen acActiveViewport
    MsgBox "The polymesh is " & IIf(meshObj.NClose, "closed", "open") & " in the 'N' direction.", , "NClose Example"

End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_NClose()
    ;; This example creates a 4 X 4 polygonmesh in model space.
    ;; It then closes the polymesh 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 '(2 2 1
				  2.5 2 0
				  5 2 0
				  5.5 2 1
				  2 4 0.5
				  2.5 4 0
				  5 4 0
				  5.5 4 0.5
				  2 6 0.5
				  2.5 6 0
				  5 6 0
				  5.5 6 0.5
				  2 8 1
				  2.5 8 0
				  5 8 0
				  5.5 8 1
				 )
    )
    
    (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 cylinder
    (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)
    
    ;; Close the polymesh in the 'N' direction
    (alert (strcat "The polymesh is " (if (= (vla-get-NClose meshObj) :vlax-true) "closed" "open") " in the 'N' direction."))
    (vla-put-NClose meshObj :vlax-true)
    (vla-Regen doc acActiveViewport)
    (alert (strcat "The polymesh is " (if (= (vla-get-NClose meshObj) :vlax-true) "closed" "open") " in the 'N' direction."))
)