万花尺
模仿孩子的玩具 写的一个万花尺的效果 看效果是对了 又感觉算法有点啥问题 供大家围观本帖最后由 lee50310 于 2025-1-2 14:15 编辑
此圖片產生圖形之參數設定值 可供參考
cghdy 发表于 2024-12-27 15:19
这啥软件啊
dynamo。Revit的二次开发用的软件。 本帖最后由 tiancao100 于 2024-12-28 20:29 编辑
Private Sub CommandButton2_Click()
Dim i As Long
Dim n As Integer
Dim Pi As Double
Pi = 4# * Atn(1#)
Dim R As Long
Randomize
R = Int(Rnd * 100)
Dim R1 As Long
R1 = (0.5 - Rnd) * 199
Dim L As Long
L = Int(Rnd * 200)
Dim S As Long
S = Int(Rnd * 50)
Dim M As Long
M = Int(Rnd * 100)
Dim A1 As Double
Dim A2 As Double
Dim P(2) As Double
Dim P0(2) As Double
Dim x As Double
Dim y As Double
Dim Fit() As Double
Dim Sp As AcadSpline
ReDim Fit(2)
i = i + 1
n = n + 1
A1 = i * Pi / 180
A2 = (R1 / R) * A1
x = (-(R1 - R) * Cos(A1) - S * Cos(A2 - A1) + 100) * M
y = ((R1 - R) * Sin(A1) - S * Sin(A2 - A1) + 100) * M
P0(0) = x: P0(1) = y
Fit(0) = x: Fit(1) = y: Fit(2) = 0
'ThisDrawing.ModelSpace.AddPoint P0
Do
DoEvents
i = i + 1
n = n + 1
ReDim Preserve Fit(n * 3 - 1)
A1 = i * Pi / 180
A2 = (R1 / R) * A1
x = (-(R1 - R) * Cos(A1) - S * Cos(A2 - A1) + 100) * M
y = ((R1 - R) * Sin(A1) - S * Sin(A2 - A1) + 100) * M
P(0) = x: P(1) = y
Fit(n * 3 - 3) = x: Fit(n * 3 - 2) = y: Fit(n * 3 - 1) = 0
If n = 359 Then
Set Sp = ThisDrawing.ModelSpace.AddSpline(Fit, Point3D(0, 0, 0), Point3D(0, 0, 0))
Randomize
'Sp.color = Int(Rnd * 255)
n = 0
End If
If Abs(P(0) - P0(0)) < 10 ^ -2 And Abs(P(1) - P0(1)) < 10 ^ -2 Then Exit Do
'If i > 10 ^ 4 Then Exit Do
Loop
MsgBox "R=" & R & "/ R1=" & R1 & "/ L=" & L
Prompt "R=" & R & "/ R1=" & R1 & "/ L=" & L & "/ S=" & S & vbCrLf
End
End Sub我08年写的一段VBA代码
http://tiancao.net/attachments/month_0807/xum1_screenshot5.gif
会卡住,未响应 很好→很棒!很好~很棒!!很好……很棒!!!
院长前一段时间有在分享类似的……
命令: C:\Users\46246\AppData\Local\Temp\Drawing6_zws27328.zs$
命令: (progn (load "C:/XCAD/tt2024-12-26万花尺飞雪神光发表于2024-12-26明经.lsp")(princ))
Error: undefined function - 出处: 以前也玩过
会卡住,然后就没反应了 卡住的 试试缩小屏幕 煮茗 发表于 2024-12-27 11:03
以前也玩过
很神奇的软件 煮茗 发表于 2024-12-27 11:03
以前也玩过
这啥软件啊 这是干啥用的?
页:
[1]
2