- 积分
- 90
- 精华
- 阅读权限
- 30
- 注册时间
- 2010-6-30
- 最后登录
- 1970-1-1
|
发表于 2010-8-16 09:50:00
|Error|
显示全部楼层
1.描点法,取正弦线上一些容易计算的特殊点,可以用“样条曲线”连结所取各坐标点——描点法。你可试一试,看能否达到要求精度。(用excle算出坐标,精度根据需要确定。然后在CAD中用“样条曲线”画出。)
2.用编程
Sub sin2()
'由正弦曲线的起点、幅度、周期、周波数、方向来画正弦曲线
Dim sinObj As AcadLWPolyline
Dim points() As Double
Dim a, n, k As Integer
Dim H, f As Double
Dim pa, pb As Variant
PI = 3.1415926535
pa = ThisDrawing.Utility.GetPoint(, "请输入正弦曲线起点:")
H = ThisDrawing.Utility.GetDistance(pa, "请正弦曲线幅度:")
f = ThisDrawing.Utility.GetDistance(pa, "请正弦曲线周期:")
n = ThisDrawing.Utility.GetReal("请输入正弦曲线周波数:")
k = ThisDrawing.Utility.GetReal("请输入正弦曲线每周波线段数(建议不小于36):")
pb = ThisDrawing.Utility.GetPoint(pa, "请输入点以确定正弦曲线的方向:")
ReDim points(0 To 2 * k * n + 1) As Double
b = ThisDrawing.Utility.AngleFromXAxis(pa, pb)
For a = 0 To 2 * k * n Step 2
points(a) = pa(0) + f * (a / 2) / k
points(a + 1) = pa(1) + H * Sin(2 * PI * a / k / 2)
Next
Set sinObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
sinObj.Rotate pa, b
ZoomExtents
End Sub
这个我也看得不太懂,是从别的地方查的,不知楼主能否用得上,其他高手还得帮忙解释一下啊 |
评分
-
查看全部评分
|