Beispiel #1
0
 def addBrepOfSubsetOfFaces_RemoveAt():
     
     rgBrep1 = rgBrep_In.Duplicate()
     
     # Create list of non-extracted faces.
     # This is faster than looping through all faces while testing each.
     idx_rgFaces_ToRemove = list(
             set(range(rgBrep1.Faces.Count)) - set(idxFaces))
     idx_rgFaces_ToRemove.sort(reverse=True)
     
     stopwatch = Stopwatch()
     stopwatch.Start()
     [rgBrep1.Faces.RemoveAt(idx) for idx in idx_rgFaces_ToRemove]
     stopwatch.Stop()
     if bDebug: print "{} seconds for Faces.RemoveAt".format(stopwatch.Elapsed.TotalSeconds)
     
     # Separate any brep shells of modified brep and act based on shell quantity.
     stopwatch.Restart()
     rgBreps_per_shell = rg.Brep.CreateBooleanUnion(
         [rgBrep1], tolerance=0.0, manifoldOnly=False)
     stopwatch.Stop()
     if bDebug:
         print "{} seconds for CreateBooleanUnion".format(
             stopwatch.Elapsed.TotalSeconds)
     if rgBreps_per_shell is None:
         if bDebug: print "Error in attempting to separate brep shells.  No objects have been modified."
         return
     
     rgBrep1.Dispose()
     
     attr = rdBrep_In.Attributes.Duplicate()
     if not bRetainLayer: attr.LayerIndex = sc.doc.Layers.CurrentLayerIndex
     if not bRetainColor: attr.ColorSource = rd.ObjectColorSource.ColorFromLayer
     
     stopwatch.Restart()
     gBreps_1Shell = map(lambda x: sc.doc.Objects.AddBrep(x, attr), rgBreps_per_shell)
     stopwatch.Stop()
     if bDebug: print "{:.1f} seconds for AddBrep".format(stopwatch.Elapsed.TotalSeconds)
     map(lambda x: x.Dispose(), rgBreps_per_shell)
     
     return gBreps_1Shell
Beispiel #2
0
import datetime
import os
import os.path as op
import clr
clr.AddReference("RevitAPI")
import Autodesk.Revit.UI
from Autodesk.Revit.DB import FilteredElementCollector as Fec
from Autodesk.Revit.DB import FilteredWorksetCollector as Fwc
from Autodesk.Revit.DB import BuiltInCategory, ModelPathUtils, WorksetKind
from System.Diagnostics import Stopwatch

# TODO check for existing folders and csv
# TODO create/update csv from check modules

stopwatch = Stopwatch()
stopwatch.Start()

sqft_sqm = 10.764
doc = __revit__.ActiveUIDocument.Document


def count_views(view_type):
    collector = Fec(doc).OfClass(Autodesk.Revit.DB.View).ToElements()
    counter = 0
    for view in collector:
        if not view.IsTemplate:
            if view.ViewType.ToString() == view_type:
                counter += 1
    return str(counter)

Beispiel #3
0
clr.AddReference("System")
import System
from System import Array
from System.Diagnostics import Stopwatch
from DHI.Generic.MikeZero import eumUnit, eumItem, eumQuantity
from DHI.Generic.MikeZero.DFS import *
from DHI.Generic.MikeZero.DFS.dfs123 import *

infile = "..\..\TestData\data_ndr_roese.dfs0"

# Load the file
dfs0File = DfsFileFactory.DfsGenericOpen(infile)

# Read times and data
timer = Stopwatch()
timer.Start()
t = []
data = []
for ii in xrange(dfs0File.ItemInfo.Count):
    data.append([])
for it in xrange(dfs0File.FileInfo.TimeAxis.NumberOfTimeSteps):
    for ii in xrange(dfs0File.ItemInfo.Count):
        itemData = dfs0File.ReadItemTimeStep(ii + 1, it)
        if (ii == 0):
            t.append(itemData.Time)
        data[ii].append(itemData.Data[0])
timer.Stop()

dfs0File.Close()

print "Did app. {0} .NET calls per second".format(
Beispiel #4
0

def F():
    a, b = 0, 1
    yield a
    yield b
    while True:
        a, b = b, a + b
        yield b


if __name__ == '__main__':

    sw = Stopwatch()

    fib_calc = Fib()
    f = F()

    sw.Start()
    print fib_calc(18)
    sw.Stop()

    time_taken = sw.ElapsedMilliseconds
    print time_taken

    sw.Start()
    print[f.next() for i in xrange(18)]
    sw.Stop()

    print sw.ElapsedMilliseconds