明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2409|回复: 6

请问如何取AcadLWPolyline里的弧段属性?

[复制链接]
发表于 2011-1-18 11:44:44 | 显示全部楼层 |阅读模式
在cad输入Pline时,可以开始画线,再输入a 回车,
就可以在连续线内开始画孤,
可是当从程式里取AcadLWPolyline的属性时,
我只有找到坐标阵列,记录每个点,
弧的中心点,半径,在哪一个属性?
请各位告诉我。或是告诉我如何知道AcadLWPolyline里是否有弧段?
谢谢大家。
发表于 2011-1-20 20:15:28 | 显示全部楼层
Sub Example_GetBulge()
    ' This example creates a lightweight polyline in model space.
    ' It then finds and changes the bulge for a given segment.
   
    Dim plineObj As AcadLWPolyline
    Dim points(0 To 11) As Double
   
    ' Define the 2D polyline points
    points(0) = 1: points(1) = 1
    points(2) = 1: points(3) = 2
    points(4) = 2: points(5) = 2
    points(6) = 3: points(7) = 2
    points(8) = 4: points(9) = 4
    points(10) = 4: points(11) = 1
        
    ' Create a lightweight Polyline object in model space
    Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
    ZoomAll
   
    ' Find the bulge of the third segment
    Dim currentBulge As Double
    currentBulge = plineObj.GetBulge(3)
    MsgBox "The bulge for the third segment is " & plineObj.GetBulge(3), , "GetBulge Example"
   
    ' Change the bulge of the third segment
    plineObj.SetBulge 3, -0.5
    plineObj.Update
    MsgBox "The bulge for the third segment is now " & plineObj.GetBulge(3), , "GetBulge Example"
   
End Sub
多看看帮助
  
发表于 2011-6-8 16:16:54 | 显示全部楼层
这个没有回答上面的问题吧!
发表于 2015-8-29 10:12:20 来自手机 | 显示全部楼层
vba没有list的功能,但是可以计算出来。如下:
首先获取该点的凸度,getbulge
如果不为0,继续获取下一点坐标
通过这两点和凸度,就可以出半径,圆心坐标了
发表于 2015-8-30 18:07:08 | 显示全部楼层
你要的数据只能通过圆弧段的凸度计算出来,凸度是圆心角的1/4正切值,凸度为正时圆弧为逆时针方向,为负时,圆弧为顺时针方向,为0时,该断为直线段.有了圆心角你就可以计算出半径和圆心坐标了!公式自己去查吧!
发表于 2015-8-30 18:08:40 | 显示全部楼层
哎,四年前的贴子了,我还回复个毛线啊!
发表于 2015-8-30 19:50:25 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 09:50 , Processed in 0.166361 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表