ハッチング、ポリライン、断面の現在の高度を指定します。
サポートされているプラットフォーム: 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)))
)