AppendOuterLoop 方法 (ActiveX)
将外环附加到填充物。 支持的平台:仅限 Windows 签名VBA: object.AppendOuterLoop loop 返回值 (RetVal)无返回值。 言论使用该方法创建对象后,添加外部循环。必须关闭外部循环,并且必须先创建外部循环,然后才能添加任何内部循环。创建有效的外部循环后,使用该方法一次添加一个内部循环。HatchAddHatchAppendInnerLoop 定义完填充的边界后,使用该方法计算填充线或填充边界,然后使用该方法更新填充填充的显示。EvaluateRegen 例子VBA: Sub Example_AppendOuterLoop()
' This example creates an associative hatch in model space, and then creates an outer loop for the hatch.
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 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 = 1
startAngle = 0
endAngle = 3.141592
Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle)
Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).startPoint, outerLoop(0).endPoint)
' Append the outer loop to the hatch object, and display the hatch
hatchObj.AppendOuterLoop (outerLoop)
hatchObj.Evaluate
ZoomAll
End Sub
可视化 LISP: (vl-load-com)
(defun c:Example_AppendOuterLoop()
;; This example creates an associative hatch in model space, and
;; then creates an outer loop for the hatch.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; Define the hatch
(setq patternName "ANSI31"
patternType 0
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)
(setq arc (vla-AddArc modelSpace center radius startAngle endAngle))
(setq line (vla-AddLine modelSpace (vla-get-StartPoint arc) (vla-get-EndPoint arc)))
(setq outerLoop (vlax-make-safearray vlax-vbObject '(0 . 1)))
(vlax-safearray-put-element outerLoop 0 arc)
(vlax-safearray-put-element outerLoop 1 line)
;; Append the outer loop to the hatch object, and display the hatch
(vla-AppendOuterLoop hatchObj outerLoop)
(vla-Evaluate hatchObj)
(vla-ZoomAll acadObj)
)
|
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-11-1 08:24
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.