关于region的问题
本帖最后由 作者 于 2006-12-13 20:42:21 编辑 <br /><br /> <p>帮助文档中说:(见下)</p><p>Each object in the region retains its layer, linetype, and color. AutoCAD deletes the original objects after converting them to regions and does not hatch the regions by default. </p><p>在面域中的每一对象保留着其图层、线型和颜色。AutoCAD 在将它们转换为面域后删除了原始对象,默认情况下面域不填充。</p><p>可是我用帮助文档中addregion的例子时,再绘图界面上将创建的region移开后发现原来用来创建region的图元没有被删除??</p><p>帮助文档中的例子是:</p><pre class="Code">Sub Example_AddRegion()<br/> ' This example creates a region from an arc and a line.<br/> <br/> Dim curves(0 To 1) As AcadEntity<br/><br/> ' Define the arc<br/> Dim centerPoint(0 To 2) As Double<br/> Dim radius As Double<br/> Dim startAngle As Double<br/> Dim endAngle As Double<br/> centerPoint(0) = 5#: centerPoint(1) = 3#: centerPoint(2) = 0#<br/> radius = 2#<br/> startAngle = 0<br/> endAngle = 3.141592<br/> Set curves(0) = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngle, endAngle)<br/> <br/> ' Define the line<br/> Set curves(1) = ThisDrawing.ModelSpace.AddLine(curves(0).startPoint, curves(0).endPoint)<br/> <br/> ' Create the region<br/> Dim regionObj As Variant<br/> regionObj = ThisDrawing.ModelSpace.AddRegion(curves)<br/> ZoomAll<br/> <br/>End Sub</pre><p>为什么??]</p><p>我有自己编了个程序来记录图元时发现也是没有删除原来用来创建region的图元??</p><p></p><p>explode也有同样的问题!!</p> 你创建面域的那一段程序,没必要把它设置成Variant型,当做3维时它要被当成一参数时才看成数组的吧,你要不换一下类型看看 帮助文件有问题,在VBA中,生成面域和炸开图块,并不能自动删除原始对象。需要通过程序删除。 <p>我看了很多程序的解决方法都是采用obj.delete的方法.</p><p>你举例的addregion的帮助文件示例,我的工作方法是</p><p>for i = 0 to 2 </p><p> curvers(i).delete '删除生成面域的图元</p><p>next i</p><p>'要生在三维图形</p><p>regionObj.delete '还要删除要面域</p><p>set regionObj = Nothing</p>
页:
[1]