该怎么办呢难哦 发表于 2003-10-8 21:11:00

[求助]奇怪?!明明是封闭的二维多义线,却不能做成面域?

修改了一个程序,本想做成面域,却出现错误!请efan斑竹帮我看看。谢谢!

efan2000 发表于 2003-10-8 21:31:00

AddRegion后面的参数是对象数组,所以前面要多义线要声明为对象数组。
Dim plineobj(0) As AcadLWPolyline
Set plineobj(0) = ThisDrawing.ModelSpace.AddLightWeightPolyline(ptt)
plineobj(0).Closed = True

Dim regionObj As Variant
regionObj = ThisDrawing.ModelSpace.AddRegion(plineobj)
AddRegion返回的也是一个对象数组,所以这儿使用了Variant类型,虽然它实际只生成一个面域,要设置它的颜色,应该使用
regionObj(0).color = acRed

efan2000 发表于 2003-10-8 21:38:00

凸轮逆时针转动,从动件右偏置
凸轮顺时针转动,从动件左偏置
这两个选项最好设置一个默认值,否则后面如果没有进行参数设置时会出错误。
因为此时k=0,但是却生成了一条只有一个顶点的多义线,接着生成面域时由于没有闭合而错误。

该怎么办呢难哦 发表于 2003-10-8 21:40:00

噢,原来是这样呀!程序调成了,多靠你的帮助,谢谢!

zeng29 发表于 2003-10-8 21:42:00

我的测试结果也是如此,不过我是用的新定义对象数组,将plineobj赋给NewObjArray(0)来调用.代码上稍走了些弯路.

该怎么办呢难哦 发表于 2003-10-8 21:45:00

efan斑竹,本来这是一个比较大的程序,我想将出问题的方便给你们看,因此删掉时可能不干净,我是近日想将设计好的凸轮做成三维立体并可以动态模拟的,所以提出了相关问题。谢谢你
页: [1]
查看完整版本: [求助]奇怪?!明明是封闭的二维多义线,却不能做成面域?