taoboq 发表于 2006-12-13 20:41:00

关于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/>&nbsp;&nbsp;&nbsp;&nbsp;' This example creates a region from an arc and a line.<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim curves(0 To 1) As AcadEntity<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;' Define the arc<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim centerPoint(0 To 2) As Double<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim radius As Double<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim startAngle As Double<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim endAngle As Double<br/>&nbsp;&nbsp;&nbsp;&nbsp;centerPoint(0) = 5#: centerPoint(1) = 3#: centerPoint(2) = 0#<br/>&nbsp;&nbsp;&nbsp;&nbsp;radius = 2#<br/>&nbsp;&nbsp;&nbsp;&nbsp;startAngle = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;endAngle = 3.141592<br/>&nbsp;&nbsp;&nbsp;&nbsp;Set curves(0) = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngle, endAngle)<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;' Define the line<br/>&nbsp;&nbsp;&nbsp;&nbsp;Set curves(1) = ThisDrawing.ModelSpace.AddLine(curves(0).startPoint, curves(0).endPoint)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;' Create the region<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim regionObj As Variant<br/>&nbsp;&nbsp;&nbsp;&nbsp;regionObj = ThisDrawing.ModelSpace.AddRegion(curves)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ZoomAll<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>End Sub</pre><p>为什么??]</p><p>我有自己编了个程序来记录图元时发现也是没有删除原来用来创建region的图元??</p><p></p><p>explode也有同样的问题!!</p>

mildleevba 发表于 2006-12-21 21:21:00

你创建面域的那一段程序,没必要把它设置成Variant型,当做3维时它要被当成一参数时才看成数组的吧,你要不换一下类型看看

mccad 发表于 2006-12-21 21:36:00

帮助文件有问题,在VBA中,生成面域和炸开图块,并不能自动删除原始对象。需要通过程序删除。

兰州人 发表于 2006-12-24 14:59:00

<p>我看了很多程序的解决方法都是采用obj.delete的方法.</p><p>你举例的addregion的帮助文件示例,我的工作方法是</p><p>for i = 0 to 2 </p><p>&nbsp; curvers(i).delete '删除生成面域的图元</p><p>next i</p><p>'要生在三维图形</p><p>regionObj.delete '还要删除要面域</p><p>set regionObj = Nothing</p>
页: [1]
查看完整版本: 关于region的问题