sdxylijian 发表于 2002-5-24 13:45:00

请教各位老师:如何调用vba命令对多义线进行fit(拟合)处理?-->mccad转移

本帖最后由 作者 于 2002-5-24 13:45:01 编辑

我用vba绘制多义线LWPOLYLINE,但是我不会在vba中如何使刚绘制出来的LWPOLYLINE线条进行(fit)拟合处理,使线条光滑。请教各位,不胜感激!!!
                                           小李子

mccad 发表于 2002-5-24 13:49:00

直接用SendCommand方法,调用命令进行编辑

sdxylijian 发表于 2002-5-24 17:20:00

小生愚蠢,老师能否举例说明?…………

请mccad老师详细指点。
能否列出一个具体的例程演示:
具体过程如下:
    先用vba建立多义线LWPOLYLINE,然后在vba中调用SendCommand命令对该多义线进行编辑-拟合(fit),整个过程程序自动完成,不需人为选择object或人为干预!
    请老师赐教!!!不胜感激!!!
                                             小李子

mccad 发表于 2002-5-24 22:05:00

例程见内...

' 转换对象用自定义函数
Public Function axEnt2lspEnt(entObj As AcadEntity) As String
    Dim entHandle As String
    entHandle = entObj.Handle
    axEnt2lspEnt = "(handent " & Chr(34) & entHandle & Chr(34) & ")"
End Function

'执行主程序
Sub fitpline()

    ' 在模型空间创建细多义线。
    Dim plineObj As AcadLWPolyline
    Dim points(0 To 7) As Double
   
    points(0) = 3: points(1) = 7
    points(2) = 9: points(3) = 2
    points(4) = 3: points(5) = 5
    points(6) = 5: points(7) = 8
   
    Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
'    plineObj.Closed = True

'    进行拟合

   ThisDrawing.SendCommand "_PEdit" & vbCr & axEnt2lspEnt(plineObj) & vbCr & "f" & vbCr & vbCr
   ThisDrawing.SendCommand "_zoom" & vbCr & "e" & vbCr
   
End Sub

sdxylijian 发表于 2002-5-24 22:43:00

在这里我充满感激地向mccad老师说声谢谢!衷心祝你身体健康,经常指点我们这些菜鸟!

mccad 发表于 2002-5-26 23:05:00

你太客气了!!!记住明经通道的宣传语:你的需要 我的创造

mycad 发表于 2011-2-12 14:39:38

mccad老师不是一般的牛!谢谢了,我也用到了。
顶!!!!!!!!!!!!!!!!!
页: [1]
查看完整版本: 请教各位老师:如何调用vba命令对多义线进行fit(拟合)处理?-->mccad转移