后天答辩,紧急求助一个关于面域问题...
如何将不同类型的曲线(首尾依次相连且封闭)选做一个面域....例如:直线+圆弧+轻便多义线+直线.
我对圆弧与多义线的衔接点不知道如何下手....
拜求各位老师了..... 首先应了解AddRegin方法中的参数ObjectList。它是对象数组,可以由直线、圆弧、圆、椭圆弧、优化多段线和样条曲线等不同对象组成,也就是说一个边界可以同时由不同类型的对象组成,只要这些对象首尾相连组成封闭区域。
如有3个对象组成封闭区域,分别为直线Line1,圆弧Arc2,优化多段线LWPLine3。则ObjectList这样定义:Dim ObjectList(2) As AcadEntity
Set ObjectList(0) = Line1
Set ObjectList(1) = Arc2
Set ObjectList(2) = LWPLine3圆弧的定义AddArc使用的是这样的语法:
AddArc(Center, Radius, StartAngle, EndAngle)
所以一般情况下需要先定义生成圆弧,然后用圆弧的端点属性StartPoint和EndPoint属性再生成其它对象,这样就能保证封闭。 多谢明总... 但是.现在我想用LWPLINE与LINE衔接,发现LWPline的端点属性不可用,"显示不支持该属性或方法"
应当怎么办? 你把Lwpline.explode看看 Sub Example_Addregion()<BR> Dim lines(0 To 1) As AcadEntity<BR> <BR> Dim startPoint(0 To 2) As Double<BR> Dim endPoint(0 To 2) As Double<BR> <BR> startPoint(0) = 1: startPoint(1) = 1: startPoint(2) = 0<BR> endPoint(0) = 4: endPoint(1) = 4: endPoint(2) = 0<BR> <BR> Set lines(0) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)<BR> <BR> Dim points(0 To 7) As Double<BR> <BR> points(0) = 1: points(1) = 1<BR> points(2) = 2: points(3) = 1<BR> points(4) = 3: points(5) = 2<BR> points(6) = 4: points(7) = 4<BR> <BR> Set lines(1) = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)<BR> <BR> Dim regionObj As Variant<BR> regionObj = ThisDrawing.ModelSpace.AddRegion(lines)
End Sub<BR>
不知这段程序符合你的意思么,只要保证多义线的起始点与直线的起始点相对应就可以了。
页:
[1]