bob_0377 发表于 2005-7-19 20:26:00

小弟请教圆转化为多段线的方法——在线静等ing

1、如何把圆和圆弧转化为多段线?(因为我在做的课题中遇到圆和圆弧进不了我们的专用地理信息系统的分析软件,要在转化为线段才行。 )
<P></P>
<P>2、vba里面有没有这样的函数,我不想在cad里面手工操作,最好是批处理</P>

雪山飞狐_lzh 发表于 2005-7-19 21:41:00

http://www.vba.cn/object/acad2004/idh_setbulge.htm

xyp1964 发表于 2005-7-19 22:53:00

<P>命令:2pl</P>
<P></P>

wyj7485 发表于 2005-7-20 08:43:00

<P>圆弧可以直接转换为多段线,圆可以用正多边形代替.</P>
<P>已知圆心和半径,用polygon就可以转换,在VBA中用sendcommand</P>

usercoolbo 发表于 2009-11-7 22:19:00

<p>源代码能贴出来看看吗</p>

zzyong00 发表于 2009-11-9 22:40:00

Sub Example()
Dim objArc As AcadArc
Dim objSset As AcadSelectionSet
ThisDrawing.SelectionSets("S1").Delete
Set objSset = ThisDrawing.SelectionSets.Add("S1")
objSset.SelectOnScreen
If objSset.Item(0).ObjectName <> "AcDbArc" Then Exit Sub
Set objArc = objSset.Item(0)
Dim p1, p2, points(3) As Double
p1 = objArc.StartPoint
p2 = objArc.EndPoint
points(0) = p1(0)
points(1) = p1(1)
points(2) = p2(0)
points(3) = p2(1)
Dim plineObj As AcadLWPolyline
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
Dim currentBulge As Double
currentBulge = plineObj.GetBulge(0)
Debug.Print currentBulge
plineObj.SetBulge 0, Tan((objArc.EndAngle - objArc.StartAngle) / 4)
plineObj.Update
ZoomAll
End Sub

zzyong00 发表于 2009-11-9 22:41:00

<p>以上为圆弧转化为PL线的方法</p><p>圆就好办了,楼主自己想想</p>

zhaoguo 发表于 2009-11-18 20:02:00

<p>把圆用break打断就成了pline</p>
页: [1]
查看完整版本: 小弟请教圆转化为多段线的方法——在线静等ing