Thought I’d throw these out there to see if anyone else has issues and what they’ve done to fix it. As follows:
1.Can’t copy 'items e.g… a mesh" in Rhino 8 and paste into a Rhino 7/6/5 window. You could do this using Rhino 6/7.
2. Running Python script to detect self intersecting faces - wont run in Rhino 8, runs fine in earlier versions.
3. When attempting selecting vertices of a mesh you cant use shift button to keep selecting more vertices at that same point, you need to drag mouse around to select all (and this means to need to go to wireframe view to do it easily). You could use shift to keep selecting multiple vertices at that point in earlier versions.
For 1, copy/paste to V7 is working fine here. You can only paste backwards one version in Rhino, therefore you cannot paste to V6 or V5. It has always been this way in previous versions.
For 2, I guess we would need to see the script to test why it isn’t working. Do you get an error message?
Hi, thanks for the answers. I updated my Version 7 and cut/copy/paste is working fine now from V8 to V7.
Still have no option to select multiply vertices/mesh points at the same point by shift+LMB so something has certainly changed here as I could do this in earlier versions.
As far as the Pyhton Script goes, I’m getting an error stating xrange is not defined. The script runs fine in versions 6 and below but not v7 or v8. Script below:
import Rhino
import rhinoscriptsyntax as rs
import scriptcontext
def MarkSelfIntersectingMeshFaces():
go = Rhino.Input.Custom.GetObject()
go.SetCommandPrompt("Select mesh to mark selfintersections")
go.GeometryFilter = Rhino.DocObjects.ObjectType.Mesh
go.SubObjectSelect = False
go.GroupSelect = False
go.Get()
if go.CommandResult()!=Rhino.Commands.Result.Success:
return Rhino.Commands.Result.Cancel
mesh = go.Object(0).Mesh()
rs.UnselectAllObjects()
topEdges = mesh.TopologyEdges
topVertices = mesh.TopologyVertices
intersectingEdges = []
for ei in xrange(0, topEdges.Count):
ij = topEdges.GetTopologyVertices(ei)
faceIndexSet = set(topVertices.ConnectedFaces(ij.I))
faceIndexSet.update(topVertices.ConnectedFaces(ij.J))
edgeLine = topEdges.EdgeLine(ei)
rc, faces = Rhino.Geometry.Intersect.Intersection.MeshLine(mesh, edgeLine)
if faces is not None:
faceSet = set(faces)
faceSet = faceSet - faceIndexSet
if len(faceSet) > 0:
intersectingEdges.append(edgeLine)
for i in xrange(0, len(intersectingEdges)):
edge = intersectingEdges[i]
rs.AddLine(edge.From, edge.To)
if (__name__=="__main__"):
MarkSelfIntersectingMeshFaces()
If you’re running it as a Python 3 script, that would be expected - xrange was removed from Python 3, it’s now just range .
You might find you will need to adapt some IronPython 2.7 scripts to run under Python 3. You can still run them as Python 2 by putting the following at the top of the script:
Thanks for the information. I tried to run as Python 2 but it wont run. I then run as Python 3 and changed the xrange to range, but now the error I get is “ValueError: need more than 1 values to unpack”. I’m not a python programmer so I’m not having much luck!
Thanks for the reply, yes, I knew you could do that but the old SHIFT function of being able to select multiple mesh points/vertices one after another is not there anymore unfortunately.
this error means you assign 1 more variable than there are outputs
In this case it is caused by the fact that you are using a method that later got overloaded in Rhino 7.3, and apparently python decides to choose the newer method and fails.
My knowledge doesn’t go far enough to provide you a solution (other than rewriting this to c#)
I hope @dale knows a way to force python to choose the method that was available since Rhino 5.
Hi Martin, yes I have my mesh with PointsOn…for example 3 mesh faces share the same vertex mesh point I need to be able to select the common meshpoints that relate to all 3 faces. You used to be able to do this by clicking 3 times with the shift button, but this doesn’t work any longer in V8. The only way to do it is using the mouse to drag over the area to select all 3 mesh points. This is difficult if you have shaded or ghosted view, so you need to keep changing view to wireframe to make it workable. Having the Shift option worked much better for me.
@John_McLellan this may or may not be useful, have you tried using the Select command, click away as you like (probably one of Rhinos most underused commands imo)
another way to force a Window Select, is to hold the alt (or Option on Mac) key before trying to make your selection. I use this all the time in Shaded modes if the mouse cursor is on an object.
This tip about Alt was a good one, since then you can press F10, select only the objects you want to show the points on, and again with Alt window-select the points.
I noticed that F10 and typing “all” also works for showing the points of all objects.
Correct Martin. You can see this point in space shares 3 mesh points, and you could use the shift button in previous versions to keep selecting them. Not now in V8, it doesn’t work. As I said you have to drag the mouse around them.