Sets the visibility state of an edge at a given index.
Supported platforms: Windows only
VBA:
object.SetInvisibleEdge Index, State
Type: 3DFace
The object this method applies to.
Access: Input-only
Type: Long
An index specifying the edge to set. The index must be between 0 and 3 inclusive.
Access: Input-only
Type: Boolean
No return value.
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.
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."))) )