Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # футы в метры
- def ft_mt(feet):
- return feet*0.3048
- # футы в миллиметры
- def ft_mm(feet):
- return feet*0.3048*1000
- # М.куб/час в Футы.кубические/секунду
- def m3h_ft3sec(meter3_per_hour):
- return meter3_per_hour*101.9406477362
- # Футы/сек в метры/сек
- def fts_ms(feet_per_second):
- return feet_per_second*0.3048
- # точка по координатам
- def Pt_XYZ(x,y,z):
- return Point.ByCoordinates(x,y,z)
- # начальная точка кривой
- def Crv_St(crv):
- return crv.StartPoint
- # конечная точка кривой
- def Crv_End(crv):
- return crv.EndPoint
- # линия по двум точкам
- def Ln_byStEnd(stpt,endpt):
- return Line.ByStartPointEndPoint(stpt,endpt)
- # получение граней у FamilyInstance
- def edges_of_revit_els(els):
- edges = []
- for cl in els:
- option = Options()
- geom = cl.Geometry
- geom_opt = geom[option]
- lst2 = []
- for g in geom_opt.GetEnumerator():
- smb_geom = g.GetInstanceGeometry()
- #smb_geom = g.GetSymbolGeometry()
- lst1 = []
- for smbg in smb_geom:
- if smbg.GetType().Name == "Solid":
- egs = smbg.Edges
- for eg in egs:
- lst1.append(eg.AsCurve().ToProtoType())
- lst2.append(lst1)
- edges.append(lst2)
- return edges
- # оффсет списка линий
- def Crvs_offset(crvs_lst, offset_count):
- outlist = []
- for crvs in crvs_lst:
- I_crvs = List[Curve](crvs)
- polycurve = PolyCurve.ByJoinedCurves(I_crvs)
- crvs_in_poly = PolyCurve.Curves(polycurve)
- crv_offset = Curve.Offset(polycurve,offset_count)
- approx_poly = Curve.ApproximateWithArcAndLineSegments(crv_offset)
- #strt_pts = [ln.StartPoint for ln in approx_poly]
- outlist.append(approx_poly)
- return outlist
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement