# Help! Whats going on? hackers? Run Python script reset engine?

Hi, I just went to change my layer, and all of a sudden this is entered in the command line.

Here

Python Script ( ResetEngine ): (""“Measures the length of a subsection of a curve chosen by 2 points
Script by Mitch Heynick 26 April 2014"”"

import rhinoscriptsyntax as rs

def LengthAlongCrvTwoPts():
crv=rs.GetObject(“Select curve to measure”,4,True)
if not crv: return
pt1=rs.GetPointOnCurve(crv,“Pick first point on curve”)
if not pt1: return
pt2=rs.GetPointOnCurve(crv,“Pick second point on curve”)
if not pt2: return

``````sd=[rs.CurveClosestPoint(crv,pt1),rs.CurveClosestPoint(crv,pt2)]
if sd[0]>sd[1]: sd.reverse()
length=rs.CurveLength(crv,sub_domain=sd)
prec=rs.UnitDistanceDisplayPrecision()
units=rs.UnitSystemName(abbreviate=True)
print "Length along curve between points = {} {}".format(round(length,prec),units)
``````

LengthAlongCrvTwoPts() )
Select curve to measure:

This is what the button I have reads up as. Whats going on?
Was I hacked, and what is reset engine? Is this a script update feature that I know nothing of?

-_RunPythonScript
Python Script <""“Measures the length of a subsection of a curve chosen by 2 points (”"“Measures the length of a subsection of a curve chosen by 2 points
Script by Mitch Heynick 26 April 2014"”"

import rhinoscriptsyntax as rs

def LengthAlongCrvTwoPts():
crv=rs.GetObject(“Select curve to measure”,4,True)
if not crv: return
pt1=rs.GetPointOnCurve(crv,“Pick first point on curve”)
if not pt1: return
pt2=rs.GetPointOnCurve(crv,“Pick second point on curve”)
if not pt2: return

``````sd=[rs.CurveClosestPoint(crv,pt1),rs.CurveClosestPoint(crv,pt2)]
if sd[0]>sd[1]: sd.reverse()
length=rs.CurveLength(crv,sub_domain=sd)
prec=rs.UnitDistanceDisplayPrecision()
units=rs.UnitSystemName(abbreviate=True)
print "Length along curve between points = {} {}".format(round(length,prec),units)
``````

LengthAlongCrvTwoPts() )

This was after a autosave. So without me reading into every python script thread, why would this automatically happen? Thank you

So the question is, is why would any command such as this run automatically without me entering anything?

Here is my script options, which I have none set.

I also have no autosave before commands set, since I cannot figure them out and no one has answered my question of the correct format to enter commands that provoke a autosave in the rhino options

Did you create some sort of alias for changing your layer?

nope. Okay, I didn’t want to bring confusion into this, but. I have a button, with this script.
-This button is on a toolbar.

-My layer panel is on the right of my screen.

-The button is about halfway on my screen.

-So, my mouse may have passed over the button.

-The thing is, the rest engine part.

-If for some reason I had accidently clicked on the button, it will not produce those same results in the command line. Nowhere where this script is accessable, or stored anywhere is reset engine in the script.

-So, I am wondering what reset engine is, and how this random script got into the command line.

-If I had accidently hit the button, or say my computer got slow and had chosen to click the button because there was lag,
then how did reset engine get in there?

No idea. If you can reproduce the behavior, post the procedure here, someone can test. --Mitch

actually, I hit the button that the script is on, and (reset engine) was on the command line. I hit the button again, and it was not.

When I hit the button before when originally testing it didn’t 2 or 3 times in a row. The only reason it concerns me is that I didn’t think ever hit the button in the first place, and the reset engine was on for that time. Then hitting the button did not show reset engine on the command line.

so.

Here is directly from my button of mitch’s script. The function of it works fine.

! -_RunPythonScript (""“Measures the length of a subsection of a curve chosen by 2 points
Script by Mitch Heynick 26 April 2014"”"

import rhinoscriptsyntax as rs

def LengthAlongCrvTwoPts():
crv=rs.GetObject(“Select curve to measure”,4,True)
if not crv: return
pt1=rs.GetPointOnCurve(crv,“Pick first point on curve”)
if not pt1: return
pt2=rs.GetPointOnCurve(crv,“Pick second point on curve”)
if not pt2: return

``````sd=[rs.CurveClosestPoint(crv,pt1),rs.CurveClosestPoint(crv,pt2)]
if sd[0]>sd[1]: sd.reverse()
length=rs.CurveLength(crv,sub_domain=sd)
prec=rs.UnitDistanceDisplayPrecision()
units=rs.UnitSystemName(abbreviate=True)
print "Length along curve between points = {} {}".format(round(length,prec),units)
``````

LengthAlongCrvTwoPts() )

CMDHistory

Without reset 1st few lines
Command: -_RunPythonScript
Python Script <""“Measures the length of a subsection of a curve chosen by 2 points (”"“Measures the length of a subsection of a curve chosen by 2 points
Script by Mitch Heynick 26 April 2014"”"
import rhinoscriptsyntax as rs
def LengthAlongCrvTwoPts():

With reset, 1st few lines

Command: -_RunPythonScript
Python Script ( ResetEngine ): (""“Measures the length of a subsection of a curve chosen by 2 points
Script by Mitch Heynick 26 April 2014"”"
import rhinoscriptsyntax as rs
def LengthAlongCrvTwoPts():

Okay, maybe reset engine takes out redundant stuff in desciption

just a forWhatItsWorth…
every time i run a script, it begins with:

``````Command:  _-RunPythonScript
Python Script </Users/jeff/Library/Application Support/McNeel/Rhinoceros/scripts/test.py> ( ResetEngine ) test
RunPythonScript [start]
codeToExecute = /Users/jeff/Library/Application Support/McNeel/Rhinoceros/scripts/test.py
Executing File
``````

or similar… or, i don’t think seeing ‘reset engine’ is anything to worry about

Yup, I just thought someone was messing with my rhino stuff, and you might have wondered what just happened if you had never seen those words, and it just popped up on your command line out of the blue. I get that there’s gonna be filepaths and stuff, and desciptions that I could have erased.