Advertisement
Dmitry_Dronov

defs

Nov 3rd, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.82 KB | None | 0 0
  1. # футы в метры
  2. def ft_mt(feet):
  3.         return feet*0.3048
  4.  
  5. # футы в миллиметры
  6. def ft_mm(feet):
  7.         return feet*0.3048*1000
  8.  
  9. # М.куб/час в Футы.кубические/секунду
  10. def m3h_ft3sec(meter3_per_hour):
  11.     return meter3_per_hour*101.9406477362
  12.  
  13. # Футы/сек в метры/сек
  14. def fts_ms(feet_per_second):
  15.      return feet_per_second*0.3048
  16.  
  17. # точка по координатам
  18. def Pt_XYZ(x,y,z):
  19.     return Point.ByCoordinates(x,y,z)
  20.  
  21. # начальная точка кривой
  22. def Crv_St(crv):
  23.     return crv.StartPoint
  24.  
  25. # конечная точка кривой
  26. def Crv_End(crv):
  27.     return crv.EndPoint
  28.  
  29. # линия по двум точкам
  30. def Ln_byStEnd(stpt,endpt):
  31.     return Line.ByStartPointEndPoint(stpt,endpt)
  32.  
  33. # получение граней у FamilyInstance
  34. def edges_of_revit_els(els):
  35.     edges = []
  36.     for cl in els:
  37.             option = Options()
  38.             geom = cl.Geometry
  39.             geom_opt = geom[option]
  40.             lst2 = []
  41.             for g in geom_opt.GetEnumerator():
  42.                     smb_geom = g.GetInstanceGeometry()
  43.                     #smb_geom = g.GetSymbolGeometry()
  44.                     lst1 = []  
  45.                     for smbg in smb_geom:
  46.                         if smbg.GetType().Name == "Solid":
  47.                             egs = smbg.Edges
  48.                             for eg in egs:
  49.                                 lst1.append(eg.AsCurve().ToProtoType())
  50.                         lst2.append(lst1)
  51.                     edges.append(lst2)
  52.     return edges
  53.  
  54. # оффсет списка линий
  55. def Crvs_offset(crvs_lst, offset_count):
  56.     outlist = []
  57.     for crvs in crvs_lst:
  58.         I_crvs = List[Curve](crvs)
  59.        
  60.         polycurve = PolyCurve.ByJoinedCurves(I_crvs)
  61.         crvs_in_poly = PolyCurve.Curves(polycurve)
  62.        
  63.         crv_offset = Curve.Offset(polycurve,offset_count)
  64.         approx_poly = Curve.ApproximateWithArcAndLineSegments(crv_offset)
  65.         #strt_pts = [ln.StartPoint for ln in approx_poly]
  66.        
  67.         outlist.append(approx_poly)
  68.     return outlist
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement