How do i get the data shown in “Object Properties, Details…” using a script?
I need the things listed under “Geometry:”
Hi @Bogdan_Chipara,
you might try below hack to get to the whole text, then filter out what you need:
import rhinoscriptsyntax as rs
def WhatCommand():
id = rs.GetObject("Select object", 0, True, True)
if not id: return
rs.Command("_-What _Clipboard", True)
result = rs.ClipboardText()
rs.MessageBox(result, 0, "Object Description")
WhatCommand()
@Alain, the rs.ObjectDump
method is still missing in the WIP.
c.
Thanks clement!
Is there any way I could use RhinoCommon for this?
Hi @Bogdan_Chipara, i do not see something like the _What
command in RhinoCommon, but you could probably runthe Rhino command as a script command as i did in my script above. The command is:
_What _Clipboard
Note that your object(s) have to be selected when this command is run. The description text then has to be taken from the clipboard. Does that help ?
c.
If you are using the Rhino WIP, you can call RhinoObject.Description
.
– Dale
Yes, your script works well @clement! Thanks!
Using something like rs.ObjectDump would be more clean than rs.Command and more easy to understand than RhinoObject.Description. So I hope it will get implemented.
@dale, @clement, here it is using Rhino WIP:
import Rhino
from scriptcontext import doc
import rhinoscriptsyntax as rs
obj = rs.GetObject()
log = Rhino.FileIO.TextLog()
ob = doc.Objects.Find(obj)
desc= Rhino.DocObjects.RhinoObject.Description(ob,log)
print log
In both cases (using _-What _Clipboard and RhinoObject.Description) I have a problem with the data listed in the Geometry section.
For example in Extrusions or Polylines it returns:
Closed polyline with 4 points.
(0,0,0), (2,0,0), ..., (0,0,0)
domain = 0 to 8
So there are 4 points and I only see 3.
So you really don’t want the output of the What
command, you want the output of the List
command.
import Rhino
import rhinoscriptsyntax as rs
obj_id = rs.GetObject()
geom = rs.coercegeometry(obj_id)
dump = Rhino.Runtime.HostUtils.DebugDumpToString(geom)
print dump
– Dale
Yes! This is perfect!
Thank you!