关于创建面域的问题,进来看看吧,很简单的!!!
<P>各位大虾:</P><P> 我想把圆创建成一个面域,可是有问题代码如下,希望能帮我看看哪里出了问题</P>
<P> Sub addRegion()</P>
<P> Dim circle As AcadEntity<BR> Dim regionObj As Variant<BR> Dim point(0 To 2) As Double<BR> Dim radius As Double<BR> point(0) = 300<BR> point(1) = 300<BR> point(2) = 300<BR> radius = 80<BR> Set circle = ThisDrawing.ModelSpace.AddCircle(point, radius)<BR> regionObj = ThisDrawing.ModelSpace.AddRegion(circle) </P>
<P> End Sub</P> <P> Sub addRegion()</P>
<P> Dim eircle(0) As AutoCAD.AcadEntity<BR> <BR> Dim regionObj As Variant<BR> Dim point(0 To 2) As Double<BR> Dim radius As Double<BR> point(0) = 300<BR> point(1) = 300<BR> point(2) = 300<BR> radius = 80<BR> Set eircle(0) = ThisDrawing.ModelSpace.AddCircle(point, radius)<BR> regionObj = ModelSpace.addRegion(eircle)<BR> ZoomAll<BR> End Sub</P>
<P>circle为系统标识,你不能用;另外生成面域的曲线似乎要用数组</P> <P>注意,增加区域的时候,添加的对象必须是一个对象数组,应该将circle定义成一个数组就行了。。。下面是改完的程序</P>
<P>Dim circle1(0) As AcadEntity<BR>Dim regionObj As Variant<BR>Dim point(0 To 2) As Double<BR>Dim radius As Double<BR>point(0) = 300<BR>point(1) = 300<BR>point(2) = 300<BR>radius = 80<BR>Set circle1(0) = ThisDrawing.ModelSpace.AddCircle(point, radius)<BR>regionObj = ThisDrawing.ModelSpace.AddRegion(circle1)</P> 呵呵!比楼上的晚了1秒啊。。。。。。^_^!真巧。。。。。 <P>呵呵,谢谢楼上两位的帮忙,还有一个问题,我想要生成圆环</P>
<P>步骤:1.先画两个同心圆,分别生成面域</P>
<P> 2.运用布尔差运算,外圆减去内圆,生成圆环.程序还是有问题</P>
<P>程序如下:</P>
<P>Dim circle1(0) As AcadEntity<BR> Dim circle2(0) As AcadEntity<BR> Dim regionObj1 As Variant<BR> Dim regionObj2 As Variant<BR> Dim point(0 To 2) As Double<BR> Dim radius1 As Double<BR> Dim radius2 As Double<BR> point(0) = 300<BR> point(1) = 300<BR> point(2) = 300<BR> radius1 = 80<BR> radius2 = 60<BR> <BR> '创建面域<BR> Set circle1(0) = ThisDrawing.ModelSpace.AddCircle(point, radius1)<BR> Set circle2(0) = ThisDrawing.ModelSpace.AddCircle(point, radius2)<BR> regionObj1 = ThisDrawing.ModelSpace.AddRegion(circle1)<BR> regionObj2 = ThisDrawing.ModelSpace.AddRegion(circle2)<BR> <BR> '布尔运算<BR> regionObj1.Boolean acSubtraction, regionObj2</P>
<P>应该是最后一句有问题,可不知道怎么改</P> <P>改成:</P>
<P>regionObj1(0).Boolean acSubtraction, regionObj2(0)</P>
<P>就行了!</P> 面域生成后拉申为实体,实体转动后,面域不动,delete 也删除不了,请问如何去掉面域? 邪门,delete不了? autocad 真他妈邪门,我有两段代码,结构一模一样,一个布尔运算成功,另一个就是不成功,快他妈疯了,我查,这autodesk公司是越来越不行了!!! bihumanbu 发表于 2006-5-22 11:22 static/image/common/back.gif
Sub addRegion()
Dim eircle(0) As AutoCAD.AcadEntity   ...
yes,I agree with you,必须得用数组才行
页:
[1]
2