Last active
June 16, 2018 17:15
-
-
Save pgolay/eaad1ee2b3d6f7ba26635ba6420b4d40 to your computer and use it in GitHub Desktop.
Saves a copy of the current file with date and time in the name.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Rhino | |
import rhinoscriptsyntax as rs | |
import datetime | |
import scriptcontext as sc | |
def validate(date_text): | |
try: | |
datetime.datetime.strptime(date_text,"%Y_%m_%d_%H_%M" ) | |
except ValueError: | |
return False | |
return True | |
def SaveCopyWithTimeStamp(): | |
crntName = sc.doc.Name | |
pass | |
saved = False | |
if crntName is None: | |
crntName = "Untitled" | |
else: | |
saved=True | |
crntPath = sc.doc.Path | |
rs.Command("_-Save _Enter") | |
pass | |
now = datetime.datetime.now() | |
strNow = now.strftime("__%Y_%m_%d_%H_%M") | |
idx = crntName.find("__") | |
if idx != -1: | |
xtra = crntName[idx+2:-4] | |
if validate(xtra): | |
name = crntName.replace("__"+xtra, strNow) | |
else: | |
name = crntName + strNow | |
else: | |
name = crntName + strNow | |
savePath = rs.SaveFileName("SaveSpecial","3dm files|*.3dm||", folder= rs.WorkingFolder(), filename= name, extension="*.3dm") | |
if not savePath: return | |
cmdStr = ("_-SaveAs " + chr(34)+ savePath +chr(34) + " _Enter") | |
rs.EnableRedraw(False) | |
rs.Command(cmdStr) | |
if rs.LastCommandResult() == 0: | |
print "File saved as " + chr(34)+ savePath +chr(34) +"." | |
if saved: | |
rs.Command("_-Open " + chr(34) + crntPath + chr(34) + " _Enter") | |
rs.EnableRedraw(True) | |
if __name__=="__main__": SaveCopyWithTimeStamp() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment