SetInvisibleEdge メソッド(ActiveX)

指定されたインデックスでのエッジの表示状態を設定します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.SetInvisibleEdge Index, State
object

タイプ: 3DFace

このメソッドが適用されるオブジェクト。

Index

アクセス: 入力のみ

タイプ: 長整数型

設定するエッジを指定するインデックス。インデックスは、0 から 3 までのいずれかの数値です。

State

アクセス: 入力のみ

タイプ: ブール型

  • True: エッジを非表示に設定します。
  • False: エッジを表示に設定します。

戻り値(RetVal)

戻り値はありません。

注意

すべてのエッジを非表示にした 3DFace オブジェクトを作成できます。ワイヤ フレーム表示では表示されませんが、線画内のマテリアルを隠すことができます。シェーディングしたレンダリングでは表示されません。

表示状態の変更を図面内に適用する場合は、Regen メソッドを呼び出す必要があります。

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.")))
)