指定されたインデックスでのエッジの表示状態を設定します。
サポートされているプラットフォーム: Windows のみ
VBA:
object.SetInvisibleEdge Index, State
タイプ: 3DFace
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 長整数型
設定するエッジを指定するインデックス。インデックスは、0 から 3 までのいずれかの数値です。
アクセス: 入力のみ
タイプ: ブール型
戻り値はありません。
すべてのエッジを非表示にした 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."))) )