def getNotes(): layers = getLayerList.getLayers(includeList, excludeList) layerList = [] for layer in layers: layerList.extend(rs.LayerChildren(layer)) noteObjs = [] print(layers) #noteLayers = [x if re.search('A-ANN0-NOTE', x.split("::")[-1]) else None for x in layers] for layer in layerList: if re.search("A-ANNO-NOTE", layer.split("::")[-1]): noteObjs.extend(rs.ObjectsByLayer(layer)) return(noteObjs)
def getNotes(): layers = getLayerList.getLayers(includeList, excludeList) layerList = [] for layer in layers: layerList.extend(rs.LayerChildren(layer)) noteObjs = [] print(layers) #noteLayers = [x if re.search('A-ANN0-NOTE', x.split("::")[-1]) else None for x in layers] for layer in layerList: if re.search("A-ANNO-NOTE", layer.split("::")[-1]): noteObjs.extend(rs.ObjectsByLayer(layer)) return (noteObjs)
def main(): sourceObjects = rs.GetObjects( message="Select Objects to Move to Other Layers.", preselect=True, select=True) copy = rs.GetBoolean("Do you want to copy this layer?", ("Copy", "No", "Yes"), False) includeList = None excludeList = [".3dm", "Make2D"] targetLayers = sorted(getLayerList.getLayers(includeList, excludeList)) targetLayers = [(x, False) for x in targetLayers] destinationLayer = rs.CheckListBox(targetLayers) if not destinationLayer: return False rs.EnableRedraw(enable=False) sourceObjects = list( filter(lambda x: not rs.IsLayerReference(rs.ObjectLayer(x)), sourceObjects)) for obj in sourceObjects: objLayer = rs.ObjectLayer(obj) parent, child = objLayer.split("::")[-2:] for dLayer in destinationLayer: if dLayer[1] == True: fullDLayer = dLayer[0] + "::" + child if not rs.IsLayer(fullDLayer): print(dLayer[0] + "::" + child, objLayer) fullDLayer = duplicateLayer(child, objLayer, dLayer[0]) if copy[0] == True: copyObj = rs.CopyObject(obj, translation=None) rs.ObjectLayer(copyObj, layer=fullDLayer) else: rs.ObjectLayer(obj, layer=fullDLayer) rs.EnableRedraw(enable=True)
def main(): sc.doc = Rhino.RhinoDoc.ActiveDoc rs.EnableRedraw(enable=False) topList = [] topList = sorted(getLayerList.getLayers(exclude=["3D", "3dm"])) thisLayer = rs.CurrentLayer() topList.append("TURN ALL ON") destinationLayer = rs.ListBox(topList, "Layer To Activate") if not destinationLayer: print("No Layer Selected") return None elif destinationLayer == "TURN ALL ON": topList.remove(destinationLayer) for layer in topList: sc.doc = Rhino.RhinoDoc.ActiveDoc rs.LayerVisible(layer, True) rs.ExpandLayer(layer, False) else: sc.doc = Rhino.RhinoDoc.ActiveDoc topList.remove("TURN ALL ON") topList.remove(destinationLayer) rs.CurrentLayer(layer=destinationLayer) rs.ExpandLayer(destinationLayer, True) for layer in topList: sc.doc = Rhino.RhinoDoc.ActiveDoc rs.LayerVisible(layer, False) rs.ExpandLayer(layer, False) print(destinationLayer) rs.EnableRedraw(enable=True)
def main(): sourceObjects = rs.GetObjects(message="Select Objects to Move to Other Layers.", preselect = True, select = True) copy = rs.GetBoolean("Do you want to copy this layer?", ("Copy", "No", "Yes"), False) includeList = None excludeList = [".3dm", "Make2D"] targetLayers = sorted(getLayerList.getLayers(includeList, excludeList)) targetLayers = [(x, False) for x in targetLayers] destinationLayer = rs.CheckListBox(targetLayers) if not destinationLayer: return False rs.EnableRedraw(enable=False) sourceObjects = list(filter(lambda x: not rs.IsLayerReference(rs.ObjectLayer(x)), sourceObjects)) for obj in sourceObjects: objLayer = rs.ObjectLayer(obj) parent, child = objLayer.split("::")[-2:] for dLayer in destinationLayer: if dLayer[1] == True: fullDLayer = dLayer[0] + "::" + child if not rs.IsLayer(fullDLayer): print(dLayer[0]+"::"+child, objLayer) fullDLayer = duplicateLayer(child, objLayer, dLayer[0]) if copy[0] == True: copyObj = rs.CopyObject(obj, translation=None) rs.ObjectLayer(copyObj, layer=fullDLayer) else: rs.ObjectLayer(obj, layer=fullDLayer) rs.EnableRedraw(enable=True)
def main(): rs.EnableRedraw(enable=False) showList = sorted(getLayerList.getLayers(exclude=[".3dm", "Make2D"])) print(showList) showList.append("Select All") boxList = [(x, False) for x in showList] selectedLayer = rs.CheckListBox(boxList, message="Layer To Activate") if selectedLayer == "Select All": layers = sorted(list(set(topList))) elif selectedLayer: layers = [L[0] for L in selectedLayer if L[1] == True] else: return (None) print(layers) if isinstance(layers, str): changeColors(rs.LayerChildren(layers)) else: for layer in layers: changeColors(rs.LayerChildren(layer)) rs.EnableRedraw(enable=True)