Create groups from vertices on semi circles (top bottom face of half cylinders)
Erik Kostson
Member, Employee Posts: 200
✭✭✭✭
Say we have a half cylindrical body, with semi circle like faces on the top and bottom.
How can we then create a group of the center vertex (so vertex existing in the center of the straight line of the semi circle, as shown below)?
0
Answers
-
One of many possible ways is to loop through a named selection containing planar faces (e.g., semi circle capping plane/face of the half cylinder(s)), and create a group out of that center vertex.
import math group = GetActiveWindow().ActiveWindow.Groups[0] cx=[] cy=[] cz=[] myv=[] myvIds=[] dist=1E12 me=group.Members for mem in me: if str(mem.Shape.Geometry.GetType())=="SpaceClaim.Api.V232.Geometry.Plane": nwedges=mem.Edges for nedge in nwedges: if str(nedge.Shape.Geometry.GetType())=='SpaceClaim.Api.V232.Geometry.Line': selections = EdgeSelection.Create(nedge) a=nedge.EvalMid().Point.Position cx=(a[0]) cy=(a[1]) cz=(a[2]) ep=nedge.GetChildren[CurvePoint]() for e in ep: ex=e.Position[0] ey=e.Position[1] ez=e.Position[2] dists=math.sqrt((float(cx)-ex)**2+(float(cy)-ey)**2+(float(cz)-ez)**2) if dists<dist: myvs=(e) dist=dists primarySelection = Selection.Create(myvs) secondarySelection = Selection.Empty() result = NamedSelection.Create(primarySelection, secondarySelection) dist=1E12
0
This discussion has been closed.