示例#1
0
def setObjZPair(obj):

    if rs.IsBlockInstance(obj):
        # pt = rs.CreatePoint(obj)
        return [obj, round(objBBPts(obj)[0].Z, 3)]

    elif rs.IsCurve(obj):
        return crvPtZpair(obj)

    elif rs.IsPolysurfaceClosed(obj):
        return brepPtZPair(obj)

    elif rs.IsSurface(obj):
        return srfPtZPair(obj)

    elif rs.IsPoint(obj):
        pt = rs.CreatePoint(obj)
        return [obj, round(pt.Z, 3)]

    # elif rs.IsBlockInstance(obj):
    #     # pt = rs.CreatePoint(obj)
    #     return [obj, round(objBBPts(obj)[0].Z, 3)]

    else:
        pass
示例#2
0
def main():


    print 'test' 
    
    objs = rs.GetObjects()
    vec_x = [10,0,0]

    # restore viewport Cplane
    p1 = rs.WorldXYPlane()
    rs.ViewCPlane(None, p1)    
    
    for obj in objs:
       
            
        
        if rs.IsBlockInstance(obj) and rs.BlockInstanceName(strObject):

        xform1 = rs.BlockInstanceXform(obj)
        crv = rs.AddCurve([ [0,0,0], [0,300,0] ])
        xfrom1_inv = rs.TransformObject( crv, (xform1) )

        rs.SelectObject(crv)
     
     
        vec1 = rs.CurveEndPoint(crv) - rs.CurveStartPoint(crv)
        print vec1, math.degrees(calcAngle(vec1, vec_x))
        
        

         
    
if __name__ == "__main__":
    main();
示例#3
0
 def explode(objs, li):
     for obj in objs:
         if rs.IsBlockInstance(obj):
             temp_objs = rs.ExplodeBlockInstance(obj)
             explode(temp_objs, li)
         else:
             li.append(obj)
     return li
def splitModel(objs, cutLevel):
    point = Rhino.Geometry.Point3d(0,0,cutLevel)
    
    belowDir = rs.AddLine(point, [0,0,-9999])
    aboveDir = rs.AddLine(point, [0,0,9999])
    circle = rs.AddCircle(point, 9999)
    circleSrf = rs.AddPlanarSrf(circle)
    
    aboveGroup = rs.AddGroup("Above")
    belowGroup = rs.AddGroup("Below")
    
    
    for obj in objs:
        ptBtm = rs.BoundingBox(obj)[0]
        ptTop = rs.BoundingBox(obj)[6]
        if ptBtm[2]>cutLevel:
            intersecting = False
            rs.AddObjectToGroup(obj, "Above")
            #print "Object Above"
        elif ptTop[2]<cutLevel:
            intersecting = False
            rs.AddObjectToGroup(obj, "Below")
            #print "Object Below"
        else:
            intersecting = True
        
        if intersecting:
            if rs.IsBrep(obj):
                closed = False
                if rs.IsPolysurfaceClosed(obj):
                    closed = True
                try:
                    copy = rs.CopyObject(obj)
                    splitSrfs = rs.SplitBrep(obj, circleSrf, True)
                    for splitSrf in splitSrfs:
                        #print "looping"
                        if closed:
                            rs.CapPlanarHoles(splitSrf)
                        rs.MatchObjectAttributes(splitSrf, copy)
                        ptBtm = rs.BoundingBox(splitSrf)[0]
                        ptTop = rs.BoundingBox(splitSrf)[6]
                        mdPtZ = (ptBtm[2] + ptTop[2]) / 2
                        if mdPtZ>cutLevel:
                            rs.AddObjectToGroup(splitSrf, "Above")
                        else:
                            rs.AddObjectToGroup(splitSrf, "Below")
                    rs.DeleteObject(copy)
                    rs.DeleteObject(obj)
                except:
                    None
            if rs.IsBlockInstance(obj):
                contents = rs.ExplodeBlockInstance(obj)
                for content in contents:
                    objs.append(content)
    rs.DeleteObject(belowDir)
    rs.DeleteObject(aboveDir)
    rs.DeleteObject(circle)
    rs.DeleteObject(circleSrf)
示例#5
0
def IntersectGeo(obj, level):
    tolerance = rs.UnitAbsoluteTolerance()
    plane = rc.Geometry.Plane(rs.coerce3dpoint((0, 0, level)),
                              rs.coerce3dvector((0, 0, 1)))
    finalCurves = []
    #BLOCKS
    if rs.IsBlockInstance(obj):
        matrix = rs.BlockInstanceXform(obj)
        blockObjs = rs.BlockObjects(rs.BlockInstanceName(obj))
        for eachBlockObj in blockObjs:
            newCopy = rs.CopyObject(eachBlockObj)
            xformedObj = rs.TransformObject(newCopy, matrix)

            #EXTRUSIONS
            if isinstance(xformedObj, rc.Geometry.Extrusion):
                temp = sc.doc.Objects.AddBrep(xformedObj.ToBrep(False))
                xformedObj = rs.coercebrep(temp)
                rs.DeleteObject(temp)

            #BREPS IN BLOCK
            result = IntersectBrepPlane(xformedObj, plane)
            if result is None: continue
            for each in result:
                if each is not None:
                    finalCurves.append(each)
            rs.DeleteObject(xformedObj)

            #MESHES IN BLOCK <---This code might not be necessary
            result = IntersectMeshPlane(xformedObj, plane)
            if result is None: continue
            for each in result:
                if each is not None:
                    finalCurves.append(each)
            rs.DeleteObject(xformedObj)

    #BREPS
    elif rs.IsBrep(obj):
        result = IntersectBrepPlane(obj, plane)
        if result is None: return None
        for each in result:
            if each is not None:
                finalCurves.append(each)

    #MESHES
    elif rs.IsMesh(obj):
        result = IntersectMeshPlane(obj, plane)
        if result is None: return None
        for each in result:
            if each is not None:
                finalCurves.append(each)
    return finalCurves
 def _get_guids_from_shape_name(self, shape_name):  ##  05-10 06:47
     """Receives:
         shape_name      the name of a shape in a rule; type and value
                         guaranteed by the calling function
     Returns:
         [guid, ...]     a list of the guids (lines and text objects) in
                         the shape, i.e., excluding the frame
     """
     guids = rs.ObjectsByLayer(shape_name)
     shape_guids = []
     for guid in guids:
         if not rs.IsBlockInstance(guid):
             shape_guids.append(guid)
     return shape_guids
示例#7
0
    def explode(objs, li):
        for obj in objs:
            if rs.IsBlockInstance(obj):

                # DIRTY FIX FOR RHINO 5-SR14 522.8390 (5-22-2017)
                # temp_objs = rs.ExplodeBlockInstance(obj)

                rs.UnselectAllObjects()
                rs.SelectObject(obj)
                rs.Command("Explode" , False)
                temp_objs = rs.LastCreatedObjects()

                explode(temp_objs, li)
            else:
                li.append(obj)

        return li
示例#8
0
def bbsolid(obj):
    if rs.IsBlockInstance(obj):
        arrMatrix = rs.BlockInstanceXform(obj)
        if arrMatrix is not None:
            # pointId = rs.AddPoint([0,0,0])
            plane = rs.PlaneTransform(rs.WorldXYPlane(), arrMatrix)
            box = rs.BoundingBox(obj, plane)
            bb = rs.AddBox(box)
            # if box:
            #     for i, point in enumerate(box):
            #         rs.AddTextDot( i, point )
            xformscale = rs.XformScale((1.0, 20.0, 1.0))
            cob = rs.XformChangeBasis(rs.WorldXYPlane(), plane)
            cob_inverse = rs.XformChangeBasis(plane, rs.WorldXYPlane())
            temp = rs.XformMultiply(xformscale, cob)
            xform = rs.XformMultiply(cob_inverse, temp)
            rs.TransformObjects(bb, xform)
            return bb
示例#9
0
def GetAllBlockObjectsInPosition(obj):
    """Recursively get all objects from a block (and blocks in blocks)
    inputs:
        obj (block instance)
    returns:
        objs (list guids): Geometry is a copy of the instance geometry
    """
    blockObjs = rs.BlockObjects(rs.BlockInstanceName(obj))
    xform = rs.BlockInstanceXform(obj)
    objList = []
    for eachblockObj in blockObjs:
        if rs.IsBlockInstance(eachblockObj):
            thisBlockObjects = GetAllBlockObjectsInPosition(eachblockObj)
            for eachObject in thisBlockObjects:
                transformedObj = rs.TransformObject(eachObject, xform, False)
                objList.append(transformedObj)
        else:
            transformedObj = rs.TransformObject(eachblockObj, xform, True)
            objList.append(transformedObj)
    return objList
示例#10
0
def IntersectGeoAtPt():
    try:
        objs = rs.GetObjects("Select objects to contour",
                             1073745980,
                             preselect=True)
        if objs is None: return

        geos = []
        while True:
            pt = rs.GetPoint("Select point to contour at")
            if pt is None: break

            rs.EnableRedraw(False)

            for obj in objs:
                if rs.IsBlockInstance(obj):
                    blocksObjects = utils.GetAllBlockObjectsInPosition(obj)
                    for eachBlocksObject in blocksObjects:
                        result = IntersectGeo(eachBlocksObject, pt.Z)
                        if result is None:
                            rs.DeleteObject(eachBlocksObject)
                            continue
                        for each in result:
                            if each is not None:
                                geos.append(each)
                        rs.DeleteObject(eachBlocksObject)
                else:
                    result = IntersectGeo(obj, pt.Z)
                    if result is None: continue
                    for each in result:
                        if each is not None:
                            geos.append(each)
            rs.EnableRedraw(True)
        rs.SelectObjects(geos)
        result = True
    except:
        result = False
    utils.SaveFunctionData('Geometry-Contour At Pt',
                           [__version__, len(objs), result])
    return result
示例#11
0
def blkFace(obj):

    cameraPos = rs.ViewCamera()

    cameraPos.Z = 0

    plane = rs.WorldXYPlane()

    if rs.IsBlockInstance(obj):
        plane = blkPlane(obj)
    elif rs.IsSurface(obj):
        plane = srfPlane(obj)

    targetpos = plane.Origin
    targetpos.Z = 0

    viewdir = rs.VectorUnitize(cameraPos - targetpos)

    angle = rs.VectorAngle(viewdir, plane.YAxis)

    newXform = rs.XformRotation3(plane.YAxis, viewdir, plane.Origin)

    rs.TransformObject(obj, newXform)
示例#12
0
def main():


    # get objects to export
    objs = rs.GetObjects("select objects to Make3d", 0, True, True)
    if not objs: print "make3d aborted"; return
    
    # default_thickness =  rs.GetDocumentData('TNM_make3d', 'material_thickness')
    # if default_thickness:
        # default_thickness = float( default_thickness )
    # else:
        # default_thickness = 18
    
    material_thickness = rs.GetReal("Material Thickness", number=18.3)

    # rs.SetDocumentData('TNM_make3d', 'material_thickness', str( material_thickness ) )
        
    
    rs.EnableRedraw(False)

    checkPos(objs)

    set_volumes = []
    set_subtracts = []
    
    for obj in objs:
        if rs.IsBlockInstance(obj):   
            
            # get content
            copy = rs.CopyObject(obj)
            content = ce.explodeBlock( [copy] )
            
            # filter objects to only curves and points
            copies = filterObjects(content) 

            simplify(copies)

            result, subtracts = convertLayers(copies, material_thickness)
            
            set_volumes.append(result)
            set_subtracts.append(subtracts)
             
            rs.DeleteObjects(copies)    
            
            # addResultToBlock(obj, result)
            
        else:
            # add warning message collision check
            print obj
    
    rs.UnselectAllObjects()
    intersect = None
    for i, volume in enumerate(set_volumes):
        for j, subtracts in enumerate(set_subtracts):
            if(i != j):
                print rs.ObjectLayer(volume)
                
                intersect = rs.BooleanIntersection(rs.CopyObject(volume), subtracts, False)
                if intersect:
                    rs.SelectObjects(intersect)
                    
                    
            rs.DeleteObjects(subtracts)

            
       
    
    if intersect:
        rs.MessageBox("ERROR")

        
    redraw()
示例#13
0
def CutModel(objs, srf):
    try:
        if rs.ObjectType(srf) == 1073741824:
            extrusionSurface = rs.coercesurface(srf)
            rhSrf = extrusionSurface.ToBrep().Faces[0]
        else:
            rhSrf = rs.coercesurface(srf)
        plane = rhSrf.TryGetPlane()[1]
        if rhSrf.OrientationIsReversed:
            plane.Flip()
        groupMain = rs.AddGroup('MainObjects')
        groupCut = rs.AddGroup('SectionSurfaces')
        groupVisible = rs.AddGroup('VisibleObjects')

        rs.HideObject(objs)

        for obj in objs:
            #BLOCKS
            if rs.IsBlockInstance(obj):
                blockObjs = utils.GetAllBlockObjectsInPosition(obj)
                for eachBlockObj in blockObjs:
                    rhobj = rs.coercegeometry(eachBlockObj)
                    splitResults = CutObjectWithPlane(rhobj, plane)
                    if splitResults[0] is not None:
                        for eachObj in splitResults[0]:
                            utils.SafeMatchObjectAttributes(
                                eachObj, eachBlockObj)
                            #rs.MatchObjectAttributes(eachObj, eachBlockObj)
                            rs.ShowObject(eachObj)
                            rs.AddObjectToGroup(eachObj, groupMain)
                        for eachObj in splitResults[1]:
                            utils.SafeMatchObjectAttributes(
                                eachObj, eachBlockObj)
                            #rs.MatchObjectAttributes(eachObj, eachBlockObj)
                            rs.ShowObject(eachObj)
                            rs.AddObjectToGroup(eachObj, groupMain)
                        for eachObj in splitResults[3]:
                            rs.ObjectColor(eachObj, (255, 0, 0))
                            rs.ObjectName(eachObj, 'Section Cut Surface')
                            rs.AddObjectToGroup(eachObj, groupCut)
                    rs.DeleteObject(eachBlockObj)

            #GEOMETRY
            else:
                rhobj = rs.coercegeometry(obj)
                splitResults = CutObjectWithPlane(rhobj, plane)
                if splitResults[0] is not None:
                    for eachObj in splitResults[0]:
                        utils.SafeMatchObjectAttributes(eachObj, eachBlockObj)
                        #rs.MatchObjectAttributes(eachObj, obj)
                        rs.ShowObject(eachObj)
                        rs.AddObjectToGroup(eachObj, groupMain)
                    for eachObj in splitResults[1]:
                        utils.SafeMatchObjectAttributes(eachObj, eachBlockObj)
                        #rs.MatchObjectAttributes(eachObj, obj)
                        rs.ShowObject(eachObj)
                        rs.AddObjectToGroup(eachObj, groupMain)
                    for eachObj in splitResults[3]:
                        rs.ObjectColor(eachObj, (255, 0, 0))
                        rs.ObjectName(eachObj, 'Section Cut Surface')
                        rs.AddObjectToGroup(eachObj, groupCut)
        return True
    except:
        print "Cut Model failed"
        return False
示例#14
0
def exportToRenderSKP():
    #try:
    #Get Objects
    objs = rs.GetObjects("Select objects to export", preselect = True)
    if objs is None: return
    
    #Default Name
    if 'exportToRenderSKP-prevName' in sc.sticky:
        prevName = sc.sticky['exportToRenderSKP-prevName']
        defaultFilename = utils.UpdateString(prevName)
    else:
        defaultFilename = utils.GetDatePrefix() + '_OPTION_01'
    
    #Default Folder
    if 'exportToRenderSKP-path' in sc.sticky:
        defaultFolder = sc.sticky['exportToRenderSKP-path']
    elif utils.IsSavedInProjectFolder():
        origPath = rs.DocumentPath()
        path = os.path.normpath(origPath)
        pathParts = path.split(os.sep)
        projectFolder = os.path.join(pathParts[0],'\\' ,pathParts[1])
        referenceFolder = os.path.join(projectFolder, r'03 DRAWINGS\02 RENDERING\0_copy 3d  folder structure\Reference')
        if os.path.isdir(referenceFolder):
            print "Reference folder exists"
            defaultFolder = referenceFolder
        else:
            print "Reference folder not found"
            defaultFolder = rs.DocumentPath()
    else:
        defaultFolder = rs.DocumentPath()
    fileName = rs.SaveFileName("Export to render", "Sketchup 2015 (*.skp)|*.skp||", folder = defaultFolder, filename = defaultFilename)
    if fileName is None: return
    sc.sticky['exportToRenderSKP-prevName'] = os.path.splitext(fileName)[0]
    sc.sticky['exportToRenderSKP-path'] = os.path.dirname(fileName)
    
    tempLayers = []
    copiedObjs = []
    seperator = ' > '
    baseName = os.path.splitext(os.path.basename(fileName))[0]

    #Copy all objects to export
    rs.StatusBarProgressMeterShow('Exporting to SKP', 0, len(objs))
    for i, obj in enumerate(objs):
        tempCopy = rs.CopyObject(obj)
        if rs.IsBlockInstance(tempCopy):
            explodedObjs = list(rs.ExplodeBlockInstance(obj, True))
            copiedObjs += explodedObjs
        else:
            copiedObjs.append(tempCopy)
        rs.StatusBarProgressMeterUpdate(i)

    #Move all copies to a different layer
    for i, obj in enumerate(copiedObjs):
        layerFullName = rs.ObjectLayer(obj)
        shortName = layerFullName.replace('::', seperator)
        layerName = baseName + seperator + shortName
        if rs.IsLayer(layerName):
            rs.ObjectLayer(obj, layerName)
        else:
            matIndex = rs.LayerMaterialIndex(rs.ObjectLayer(obj))
            newLayer = rs.AddLayer(layerName, rs.LayerColor(rs.ObjectLayer(obj)))
            rs.LayerMaterialIndex(newLayer, matIndex)
            tempLayers.append(newLayer)
            rs.ObjectLayer(obj, newLayer)
    rs.StatusBarProgressMeterHide()

    try:
        rs.SelectObjects(copiedObjs)
        rs.Command('-_Export ' + '"' + fileName + '"' + ' s SketchUp2015 Enter ', False)

        #CLEANUP
        rs.UnselectAllObjects()
        try:
            rs.DeleteObjects(copiedObjs)
        except:
            rs.DeleteObject(copiedObjs)
        for layer in tempLayers:
            rs.DeleteLayer(layer)
    except:
        print "export failed"
    result = True
    #except:
    #    result = False
    try:
        pass
        #utils.SaveFunctionData('IO-Export to Render[SKP]', [fileName, baseName, os.path.getsize(fileName),len(objs), result])
    except:
        print "Failed to save function data"
    return result
示例#15
0
def main():


    # get objects to export
    objs = rs.GetObjects("select objects to Make3d", 0, True, True)
    if not objs: print "make3d aborted"; return
    

        
    defaults = {
        'material_thickness':18
    }
    defaults = getDefaultValues(defaults, 'TNM_make3d')
    
    
    material_thickness = rs.GetReal("Material Thickness", number=defaults['material_thickness'])
    
    storeDefaultValues('TNM_make3d', {'material_thickness':material_thickness} )

    
    
    rs.EnableRedraw(False)

    checkPos(objs)

    set_volumes = []
    set_subtracts = []
    
    
    fail_objects =[]

    for obj in objs:
        if rs.IsBlockInstance(obj):   
            
            # get content
            copy = rs.CopyObject(obj)
            content = ce.explodeBlock( [copy] )
                        
            # filter objects to only curves and points
            copies = ce.filterObjects(content) 
            
            copies = ce.joinCurves(copies)

            # copies = ce.joinCurves(copies)
            ce.simplify(copies)
            
            volumes, subtracts = convertToVolumes(copies, material_thickness)
                        
            parts = volumes
            
            for subtract in subtracts:
                if rs.IsPolysurface(parts[0]) and rs.IsPolysurface(subtract) and rs.IsPolysurfaceClosed(parts[0]) and rs.IsPolysurfaceClosed(subtract):
                    
                    # print parts
                    # print subtract
                    
                    temp_parts =  rs.BooleanDifference(parts, [subtract], False)
                    if temp_parts:
                        print 'subtract success'
                        rs.DeleteObjects(parts)
                        rs.DeleteObject(subtract)
                        
                        parts = temp_parts
                    else:
                        print 'boolean differce failed on: %s' % subtract
                        fail_objects.append(subtract)
                else:
                    print 'boolean differce failed on: %s' % subtract
                    fail_objects.append(subtract)

            
            # addResultToBlock(obj, result)
            
        else:
            # add warning message collision check
            print obj

    rs.UnselectAllObjects()
    rs.SelectObjects(fail_objects)
    
    intersect = None
    # for i, volume in enumerate(set_volumes):
        # for j, subtracts in enumerate(set_subtracts):
            # if(i != j):
                # print rs.ObjectLayer(volume)
                
                # intersect = rs.BooleanIntersection(rs.CopyObject(volume), subtracts, False)
                # if intersect:
                    # rs.SelectObjects(intersect)
                    
                    
            # rs.DeleteObjects(subtracts)

            
       
    
    if intersect:
        rs.MessageBox("ERROR")
        
    rs.DeleteObjects(copies)
    
    ce.redraw()
示例#16
0
import rhinoscriptsyntax as rs

crvIds = rs.GetObjects("Pick curves", rs.filter.curve)
ptIds = rs.GetObjects("Pick points", rs.filter.point)
blockId = rs.GetObject("Pick Block", rs.filter.instance)

if rs.IsBlockInstance(blockId):
    block_name = rs.BlockInstanceName(blockId)

for crv in crvIds:
    for pt in ptIds:
        if rs.IsPointOnCurve(crv, pt):
            param = rs.CurveClosestPoint(crv, pt)
            tangent = rs.CurveTangent(crv, param)
            tangent = rs.VectorUnitize(tangent)
            normal = rs.WorldXYPlane().ZAxis
            # normal = rs.VectorUnitize(normal)
            plane = rs.PlaneFromNormal(pt, normal, tangent)
            # plane = rs.CurvePerpFrame(crv, param)
            xform = rs.XformChangeBasis(plane, rs.WorldXYPlane())
            rs.InsertBlock2(block_name, xform)
示例#17
0
def importCAD(filePath, scaleDWG = False):
    explodeBlockBoo = True

    #setup the layers
    importLayerNumber = 6000
    importLayerObj = layers.AddLayerByNumber(importLayerNumber, False)
    importLayerName = layers.GetLayerNameByNumber(importLayerNumber)

    #Shorten cad file name
    fileNameExt = os.path.basename(filePath)
    fileName = os.path.splitext(fileNameExt)[0]

    #create layer name
    time = utils.GetDatePrefix()
    iter = "01"
    layerName = time+"_"+fileName+"_"+iter

    #Check if this layer already exists
    while rs.IsLayer(importLayerName + "::" + time + "_" + fileName + "_" + iter):
        iterInt = int(iter)+1
        if len(str(iterInt))<2:
            iter = "0" + str(iterInt)
        else:
            iter = str(iterInt)

    elementLayerName = importLayerName + "::" + time + "_" + fileName + "_" + iter
    elementLayer = rs.AddLayer(elementLayerName)

    rs.CurrentLayer(elementLayer)

    #get intial list of all layers in the file
    currentLayers = rs.LayerNames()

    rs.Command('_-Import "' + filePath + '" _IgnoreThickness=Yes _ModelUnits=Inches _Enter', False)

    #get new layers added
    endLayersNames = rs.LayerNames()
    newLayers = diff(endLayersNames, currentLayers)

    for layer in newLayers:
        rs.ParentLayer(layer, elementLayer)
        objects = rs.ObjectsByLayer(layer)
        if rs.IsLayerEmpty(layer):
            rs.DeleteLayer(layer)
        else:
            for obj in objects:
                if rs.IsDimension(obj):
                    rs.DeleteObject(obj)
                elif rs.IsHatch(obj):
                    rs.DeleteObject(obj)

    #Get all the imported geometry
    allObjects = []
    finalLayers = rs.LayerChildren(rs.CurrentLayer())
    blockNames = []
    for finalLayer in finalLayers:
        layerObjects = rs.ObjectsByLayer(finalLayer)
        for layerObject in layerObjects:
            if rs.IsBlockInstance(layerObject):
                blockNames.append(rs.BlockInstanceName(layerObject))
                allObjects.append(rs.ExplodeBlockInstance(layerObject, True))
            else:
                allObjects.append(layerObject)
    finalAllObjects = list(flatten(allObjects))

    for eachBlock in blockNames:
        try:
            rs.DeleteBlock(eachBlock)
        except:
            pass

    #Scale objects
    if scaleDWG:
        rs.ScaleObjects(finalAllObjects, [0,0,0], [.001, .001, .001])

    #Collapse layers
    try:
        rootLay = sc.doc.Layers.FindId(rs.coerceguid(rs.LayerId(elementLayerName)))
        rootLay.IsExpanded = False
    except:
        pass
    print "Import Successful"
    return finalAllObjects