在给定轮廓、高度和锥度角度的情况下创建拉伸实体。 支持的平台:仅窗口 签名工 务 局: RetVal = object.AddExtrudedSolid(Profile, Height, TaperAngle) 言论只能拉伸 2D 平面区域。 锥形拉伸只能用于在顶点处连续的循环。较大的锥度角或较长的挤压高度会导致物体或物体的某些部分在达到挤出高度之前与自身相交。当生成的实体与自身相交时,AutoCAD 不允许拉伸。 例子工 务 局: Sub Example_AddExtrudedSolid() ' This example extrudes a solid from a region. ' The region is created from an arc and a line. Dim curves(0 To 1) As AcadEntity ' Define the arc Dim centerPoint(0 To 2) As Double Dim radius As Double Dim startAngle As Double Dim endAngle As Double centerPoint(0) = 5#: centerPoint(1) = 3#: centerPoint(2) = 0# radius = 2# startAngle = 0 endAngle = 3.141592 Set curves(0) = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngle, endAngle) ' Define the line Set curves(1) = ThisDrawing.ModelSpace.AddLine(curves(0).startPoint, curves(0).endPoint) ' Create the region Dim regionObj As Variant regionObj = ThisDrawing.ModelSpace.AddRegion(curves) ' Define the extrusion Dim height As Double Dim taperAngle As Double height = 3 taperAngle = 0 ' Create the solid Dim solidObj As Acad3DSolid Set solidObj = ThisDrawing.ModelSpace.AddExtrudedSolid(regionObj(0), height, taperAngle) ' Change the viewing direction of the viewport 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 End Sub Visual LISP: (vl-load-com) (defun c:Example_AddExtrudedSolid() ;; This example extrudes a solid from a region. ;; The region is created from an arc and a line. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) ;; Define the arc (setq centerPoint (vlax-3d-point 5 3 0) radius 2 startAngle 0 endAngle 3.141592) (setq arc (vla-AddArc modelSpace centerPoint radius startAngle endAngle)) ;; Define the line (setq line (vla-AddLine modelSpace (vla-get-StartPoint arc) (vla-get-EndPoint arc))) (setq curves (vlax-make-safearray vlax-vbObject '(0 . 1))) (vlax-safearray-put-element curves 0 arc) (vlax-safearray-put-element curves 1 line) ;; Create the region (setq regionObj (vla-AddRegion modelSpace curves)) ;; Define the extrusion (setq height 3 taperAngle 0) ;; Create the solid (setq solidObj (vla-AddExtrudedSolid modelSpace (vlax-safearray-get-element (vlax-variant-value regionObj) 0) height taperAngle)) ;; Change the viewing direction of the viewport (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) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:28
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.