Wish: optimized work (track time and commands used)

track work times in the 3d model and movement around the model and have a report, to optimize my execution time each time and know the most used commands in each session.

You just asked for that the other day… Wish: time tracking in Rhino and worksession

You can use the CommandTracker command for this.
-wim

I don’t see this command, it says Unknown command: CommandTracker

Hi Miguel -

Sorry about that one.

-wim

Hi @miguelayora3
You would have to use scripting, python or vbscript to achieve some of your wishes.
Peters tools has a project timer you can download or you can craft one yourself.

Here’s a cheap way to get start times, cut and the script below and paste to an empty icon. You would have to create another script for time off and paste that to the right click of the icon and then you have time start and ends in notes.

-RunScript (
strnotes1 = rhino.notes
rhino.notes strnotes1 & vbNewLine & "Modeling start time " & CStr(date) & " at " & CStr(time)
)

-RunScript (
strnotes1 = rhino.notes
rhino.notes strnotes1 & vbNewLine & "Modeling end time " & CStr(date) & " at " & CStr(time)
)

I think you would need c# or c++ to do a more exact breakdown if you wished to know how much time you zoom around vs how much time you actually model or use modeling commands.

If you only want time spent and modeling commands, I think you could do it via scripting. I would write out the data to csv file and then import that into excel for analysis. Also you would need to implement text parsing and weed out the command line for commands and send that to your csv file or use a timer with every command.

Here’s a quick example that times a command that writes to notes in Rhino.

-RunScript (
Sub timeAnyCommand
Dim str, command,strnotes,StartTime, EndTime
strnotes = Rhino.notes
str = Rhino.GetString(“Type a Rhino command to be timed”)
StartTime = Timer
Rhino.notes strnotes & vbNewLine & startime & vbNewLine & str & vbNewLine & "Command Start Time "& CStr(Date) & " at " & CStr(Time)
Rhino.Command str
EndTime = Timer
TimeIt = EndTime-StartTime
strnotes = Rhino.notes
Rhino.notes strnotes & vbNewLine & “Command End Time " & CStr(Date) & " at " & CStr(Time)
strnotes = Rhino.notes
Rhino.notes strnotes & vbNewLine & “Total Time for " & str &” command = " & CStr(timeit) & " seconds”
End Sub
timeAnyCommand
)

RM