Select flat, face selection to edge

 From:  bemfarmer
10085.5 
It is hard to know just what you are needing.
A few shortcut possibilities:

script:/*!Select edges v1.2 */ var gd = moi.geometryDatabase; function sl(o) { for ( var i = 0; i < o.length; ++i ) { o.Item(i).selected = 0; var e=o.Item(i).getEdges(); for ( var j = 0; j < e.length; ++j ) e.Item(j).selected = !e.Item(j).selected;}} gd.selectLoop(); var so = gd.getSelectedObjects(); var e = so.getEdges(); sl(so.getFaces()); sl(so.getSolids()); so.getBReps().setProperty('selected',0); e.setProperty('selected',1);

script:/* wireframe v1.0 */ var gd = moi.geometryDatabase; var so=gd.getSelectedObjects(); if (so.length>0) { so.setProperty( 'displayMode',1); so.setProperty( 'selected', 0); } else { gd.getObjects().setProperty( 'displayMode',0); }

script: /* switch selection from selected faces to edges on those faces adjacent to unselected faces */ var gd = moi.geometryDatabase; var seledges = moi.geometryDatabase.createObjectList(); var faces = gd.getSelectedObjects().getFaces(); for ( var i = 0; i < faces.length; ++i ) { var edges = faces.item(i).getEdges(); for ( var j = 0; j < edges.length; ++j ) { var edge = edges.item(j); var allselected = true; var facesofedge = edge.getFacesOfEdge(); for ( var k = 0; k < facesofedge.length; ++k ) { if ( !facesofedge.item(k).selected ) { allselected = false; } } if ( !allselected || facesofedge.length == 1 ) { seledges.addObject( edge ); } } } gd.deselectAll(); seledges.setProperty( 'selected', true );

script: /* switch selection from a face to its edges */ var gd = moi.geometryDatabase; var faces = gd.getSelectedObjects().getFaces(); gd.deselectAll(); for ( var i = 0; i < faces.length; ++i ) faces.item(i).getEdges().setProperty( 'selected', true );

script: /* switch selection to naked edges of outer loops */ var gd = moi.geometryDatabase; var breps = gd.getSelectedObjects().getBReps(); gd.deselectAll(); for ( var i = 0; i < breps.length; ++i ) { var brep = breps.item(i); var faces = brep.getFaces(); for ( var j = 0; j < faces.length; ++j ) { var face = faces.item(j); var loops = face.getLoops(); var edges = loops.item(0); for ( var k = 0; k < edges.length; ++k ) { var edge = edges.item(k); if ( edge.getFacesOfEdge().length == 1 ) { edge.selected = true; } } } }


- Brian

EDITED: 30 Dec 2020 by BEMFARMER