SetInvisibleEdge Method (ActiveX)

Sets the visibility state of an edge at a given index.

Supported platforms: Windows only

Signature

VBA:

object.SetInvisibleEdge Index, State
object

Type: 3DFace

The object this method applies to.

Index

Access: Input-only

Type: Long

An index specifying the edge to set. The index must be between 0 and 3 inclusive.

State

Access: Input-only

Type: Boolean

  • True: Sets the edge to invisible.
  • False: Sets the edge to visible.

Return Value (RetVal)

No return value.

Remarks

You can create a 3DFace object in which all edges are invisible. It does not appear in wireframe presentations, but can hide material in line drawings. It does not appear in shaded renderings.

The Regen method must be called for any visibility changes to appear in the drawing.

Examples

VBA:

Sub Example_SetInvisibleEdge()
    ' This example creates a 3D face in model space.
    ' It then toggles the visibility of the  first edge.

    Dim faceObj As Acad3DFace
    Dim point1(0 To 2) As Double
    Dim point2(0 To 2) As Double
    Dim point3(0 To 2) As Double
    Dim point4(0 To 2) As Double
    
    ' Define the four coordinates of the face
    point1(0) = 1#: point1(1) = 1#: point1(2) = 0#
    point2(0) = 5#: point2(1) = 1#: point2(2) = 1#
    point3(0) = 1#: point3(1) = 10#: point3(2) = 0#
    point4(0) = 5#: point4(1) = 5#: point4(2) = 1#
    
    ' Create the 3DFace object in model space
    Set faceObj = ThisDrawing.ModelSpace.Add3DFace(point1, point2, point3, point4)
    ZoomAll
    
    ' Find the current visibility status of the first edge of the face
    Dim visStatus As Boolean
    visStatus = faceObj.GetInvisibleEdge(0)
    MsgBox "The first face is currently " & IIf(faceObj.GetInvisibleEdge(0), "visible.", "invisible."), , "GetInvisibleEdge Example"
    
    ' Toggle the visibility of the first edge of the face
    faceObj.SetInvisibleEdge 0, Not (visStatus)
    ThisDrawing.Regen False
    MsgBox "The first face is now " & IIf(faceObj.GetInvisibleEdge(0), "visible.", "invisible."), , "GetInvisibleEdge Example"
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_SetInvisibleEdge()
    ;; This example creates a 3D face in model space.
    ;; It then toggles the visibility of the  first edge.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Define the four coordinates of the face
    (setq point1 (vlax-3d-point 1 1 0)
          point2 (vlax-3d-point 5 1 1)
          point3 (vlax-3d-point 5 5 1)
          point4 (vlax-3d-point 1 10 0))
    
    ;; Create the 3DFace object in model space
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq faceObj (vla-Add3DFace modelSpace point1 point2 point3 point4))
    (vla-ZoomAll acadObj)
    
    ;; Find the current visibility status of the first edge of the face
    (setq visStatus (vla-GetInvisibleEdge faceObj 0))
    (alert (strcat "The first face is currently " (if (= visStatus :vlax-true) "visible." "invisible.")))
    
    ;; Toggle the visibility of the first edge of the face
    (vla-SetInvisibleEdge faceObj 0 (if (= visStatus :vlax-true) :vlax-false :vlax-true))
    (vla-Regen doc :vlax-false)
    (alert (strcat "The first face is now " (if (= (vla-GetInvisibleEdge faceObj 0) :vlax-true) "visible." "invisible.")))
)