rs.Command(...., False) still prints command options to command line

Running the following script from ScriptEditor, EditPythonScript or from a button:

#! python 3

"""Script to insert a TextObject as curves using rs.Command()
Script by Mitch Heynick 03.04.26 - Rhino V8 (and maybe V9) only"""

import rhinoscriptsyntax as rs
import Rhino

def AddTextObjectAsCurves():
    if Rhino.RhinoApp.ExeVersion<8:
      print("Only supported in V8 or later")
      return
    
    tol=rs.UnitAbsoluteTolerance()
    txt_str=rs.GetString("Enter your text")
    if txt_str is None: return
    
    ht=rs.GetReal("Text height?",minimum=tol)
    if ht is None: return
    
    ins_pt=rs.GetPoint("Pick point")
    if not ins_pt: return
    
    comm_str="_-TextObject _Height={} _Rotation=0".format(ht)
    comm_str+=" _Font=Arial _Italic=_No _Bold=_No _HorizontalAlignment=_Left"
    comm_str+=" _VerticalAlignment=_Bottom _CreateGeometry=_Curves _GroupOutput=_Yes"
    comm_str+=" _GroupGlyphOutput=_Yes _AllowSingleStrokeFonts=_No"
    comm_str+=" _LowerCaseAsSmallCaps=_No _AddSpacing=_No"
    comm_str+=" _UseTextCenterToPosition=_No {} {}".format(txt_str,ins_pt)
    
    rs.Command(comm_str,False)
    
AddTextObjectAsCurves()

Note the rs.Command(comm_str,False) False setting should supress the command line reporting for the command line options.

I see this when I hit F2 afterwards

Enter your text: SomeText
Text height?: 10
Pick point: 0
Height: 10
Rotation: 0
Italic: No
Bold: No
HorizontalAlignment: Left
VerticalAlignment: Bottom
CreateGeometry: Curves
GroupOutput: Yes
GroupGlyphOutput: Yes
AllowSingleStrokeFonts: No
LowerCaseAsSmallCaps: No
AddSpacing: No
UseTextCenterToPosition: No
Text string: SomeText

The first three entries are expected, the rest are not… V8 only shows the first three entries as expected. Is there some setting I am missing in the WIP to not print this stuff to the command line - as rs.Command(..., False) was designed to do? I seem to recall something in the past, but maybe my memory is failing me.

I wonder if this is a deliberate change to Command History in the WIP? Setting Echo=False does suppress echoing to the Command Line in the WIP, just the same as in R8 - and that is all it promises to do. Echo=True flashes the full string in the Command Line in both versions.

The difference seems to be in the history panel and the F2 extraction of it. When Echo=True it looks like both versions give the same verbose history. When Echo=False, R8 gives the minimalist entry you expect, but you have set a lot more parameters programmatically and if you don’t have access to the program code as it was when the command was run you don’t have access to those settings.

So I am surmising that they have been added to the history in the WIP to plug a gap. I can only see a possible upside to that. And the content is still less verbose than with echo=True.

And, no, I don’t see a way to suppress them in the history, but I’d question whether that matters.

Regards
Jeremy

What’s in the F2 is what has printed to the command line during the run. When you are running a script that uses rs.Command() and the Rhino command has a lot of options, all that stuff will flash on the command line when the script runs, even though you have told the script runner not to via the False argument.

It also still prints to the command line if you run the script from a button with NoEcho in front of it. That’s just wrong and a change from V8 that is not positive IMO.

My guess is this was not intentional and is fallout from rebuilding the command line in Eto to be cross platform. Added to the bug list at

Thanks