ハッチング、ポリライン、断面の現在の高度を指定します。
サポートされているプラットフォーム: Windows のみ
読み込み専用: いいえ
タイプ: 倍精度浮動小数点数型
オブジェクトの現在の高度。
追加の注意はありません。
VBA:
Sub Example_Elevation() ' This example creates an associative hatch in model space. ' The elevation for that hatch is then changed. Dim hatchObj As AcadHatch Dim patternName As String Dim PatternType As Long Dim bAssociativity As Boolean ' Define the hatch patternName = "ANSI31" PatternType = 0 bAssociativity = True ' Create the associative Hatch object Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity) ' Create the outer loop for the hatch. ' An arc and a line are used to create a closed loop. Dim arcObj As AcadArc Dim lineObj As AcadLine Dim outerLoop(0 To 1) As AcadEntity Dim center(0 To 2) As Double Dim radius As Double Dim startAngle As Double Dim endAngle As Double center(0) = 5: center(1) = 3: center(2) = 0 radius = 3 startAngle = 0 endAngle = 3.141592 Set arcObj = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle) Set lineObj = ThisDrawing.ModelSpace.AddLine(arcObj.startPoint, arcObj.endPoint) Set outerLoop(0) = arcObj Set outerLoop(1) = lineObj ' Append the outer loop to the hatch object hatchObj.AppendOuterLoop (outerLoop) ' Append the first circle as one inner loop Dim innerLoop1(0) As AcadEntity center(0) = 5: center(1) = 4.5: center(2) = 0 radius = 1 Set innerLoop1(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) hatchObj.AppendInnerLoop (innerLoop1) ' Append the second circle as the other inner loop Dim innerLoop2(0) As AcadEntity radius = 0.5 Set innerLoop2(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) hatchObj.AppendInnerLoop (innerLoop2) ' Change the viewing direction of the viewport to better see the elevation 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 ' Find the current elevation for the hatch Dim currElevation As Double currElevation = hatchObj.Elevation MsgBox "The current elevation is " & hatchObj.Elevation, , "Elevation Example" ' Set the hatch elevation to 3 hatchObj.Elevation = 3# hatchObj.Evaluate ZoomAll MsgBox "The elevation is now " & hatchObj.Elevation, , "Elevation Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_Elevation() ;; This example creates an associative hatch in model space. ;; The elevation for that hatch is then changed. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) ;; Define the hatch (setq patternName "ANSI31" patternType acHatchPatternTypePreDefined bAssociativity :vlax-true) ;; Create the associative Hatch object (setq modelSpace (vla-get-ModelSpace doc)) (setq hatchObj (vla-AddHatch modelSpace patternType patternName bAssociativity acHatchObject)) ;; Create the outer loop for the hatch. ;; An arc and a line are used to create a closed loop. (setq center (vlax-3d-point 5 3 0) radius 3 startAngle 0 endAngle 3.141592) ;; Add the arc and line to Model space (setq arcObj (vla-AddArc modelSpace center radius startAngle endAngle)) (setq lineObj (vla-AddLine modelSpace (vla-get-StartPoint arcObj) (vla-get-EndPoint arcObj))) (setq outerLoop (vlax-make-safearray vlax-vbObject '(0 . 1))) (vlax-safearray-put-element outerLoop 0 arcObj) (vlax-safearray-put-element outerLoop 1 lineObj) ;; Append the outer loop to the hatch object (vla-AppendOuterLoop hatchObj outerLoop) ;; Append the first circle as one inner loop (setq center (vlax-3d-point 5 4.5 0) radius 1) (setq innerLoop1 (vlax-make-safearray vlax-vbObject '(0 . 0))) (vlax-safearray-put-element innerLoop1 0 (vla-AddCircle modelSpace center radius)) (vla-AppendInnerLoop hatchObj innerLoop1) ;; Append the second circle as the other inner loop (setq radius 0.5) (setq innerLoop2 (vlax-make-safearray vlax-vbObject '(0 . 0))) (vlax-safearray-put-element innerLoop2 0 (vla-AddCircle modelSpace center radius)) (vla-AppendInnerLoop hatchObj innerLoop2) ;; Change the viewing direction of the viewport to better see the elevation (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) ;; Find the current elevation for the hatch (setq currElevation (vla-get-Elevation hatchObj)) (alert (strcat "The current elevation is " (rtos currElevation 2))) ;; Set the hatch elevation to 3 (vla-put-Elevation hatchObj 3) (vla-Evaluate hatchObj) (vla-ZoomAll acadObj) (alert (strcat "The elevation is now " (rtos (vla-get-Elevation hatchObj) 2))) )