Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 5
0
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)