Hej PanicAttack
Har lige siddet og leget lidt med din opgave. Det kan godt lade sig gøre, men kræver lidt mere programmering.
Her har du (og andre) hvad jeg har lavet indtil nu:
1. Opret et nyt layer kaldet "cam", og gør det current.
2. Brug Divide kommandoen på den line / spline, som du ønsker cameraet skal følge. (antal=sekvenser)
3. Slet linien. Nu har du en række points
4. Kør min lille vba rutine:
Sub MoveCam()
Dim oEntity As AcadEntity
Dim oPoint As AcadPoint
Dim iCount As Integer
Dim vTargetPoint As Variant
Dim x As Single, y As Single, z As Single
Dim xc As Single, yc As Single, zc As Single
Dim vCamPoint As Variant
vTargetPoint = ThisDrawing.Utility.GetPoint(, "Angiv targetpoint")
xc = vTargetPoint(0)
yc = vTargetPoint(1)
zc = vTargetPoint(2)
ThisDrawing.Layers("cam").LayerOn = False
For Each oEntity In ThisDrawing.ModelSpace
If oEntity.ObjectName = "AcDbPoint" And oEntity.Layer = "cam" Then
Set oPoint = oEntity
x = oPoint.Coordinates(0)
y = oPoint.Coordinates(1)
z = oPoint.Coordinates(1)
ThisDrawing.SendCommand "camera " & x & "," & y & "," & z & " " & _
xc & "," & yc & "," & zc & " "
ThisDrawing.SendCommand "render" & " "
End If
Next
ThisDrawing.Layers("cam").LayerOn = False
End Sub
Problemet er at Render funktionen tilsyneladende ikke give mulighed for at angive et filnavn fra kommandolinien.
Derfor skal der bruges noget med Sendkey... <filnavn>
Men nu er klokken blevet mange. Fortsættelse følger måske en anden god dag.
mvh
www.cadmageren.dk
Michael Christoffersen