Ejemplo n.º 1
0
 public IXbimCurve CreateCurve(IIfcPolyline ifcPolyline, ILogger logger)
 {
     using (new Tracer(LogHelper.CurrentFunctionName(), this._logger, ifcPolyline))
     {
         return(_engine.CreateCurve(ifcPolyline, logger));
     }
 }
Ejemplo n.º 2
0
        private static void Report(IIfcPolyline bound, TextHighliter sb)
        {
            sb.Append($"-LAYER M {bound.Points.Count} ", Brushes.Black);

            sb.Append("3DPOLY", Brushes.Black);
            var first = bound.Points.FirstOrDefault();
            IIfcCartesianPoint last = null;

            foreach (var ifcCartesianPoint in bound.Points)
            {
                WritePointCoord(sb, ifcCartesianPoint);
                last = ifcCartesianPoint;
            }
            if (false && last != null)
            {
                if (!last.Equals(first))
                {
                    sb.Append($";open polyloop", Brushes.Black);
                }
            }
            sb.Append($"", Brushes.Black);
            sb.Append($"-HYPERLINK I O l  #{bound.EntityLabel}", Brushes.Black);
            sb.Append($"", Brushes.Black);
            sb.Append($"", Brushes.Black);
        }
Ejemplo n.º 3
0
        public static Dictionary <int, LinearPath> DicLinPathOfProductsGet(List <IIfcProduct> lstProduct)
        {
            Dictionary <int, LinearPath> dicLinPath = new Dictionary <int, LinearPath>();

            for (int i = 0; i < lstProduct.Count; i++)
            {
                IIfcRepresentationItem repItem = lstProduct[i].Representation.Representations.First.Items.First;
                IIfcProfileDef         profile = (repItem as IIfcExtrudedAreaSolid).SweptArea;
                IIfcCurve curve = (profile as IIfcArbitraryClosedProfileDef).OuterCurve;

                IIfcPolyline pLine = curve as IfcPolyline;
                IItemSet <IIfcCartesianPoint> ptSet = pLine.Points;

                List <Point3D> lstPt = new List <Point3D>();

                for (int j = 0; j < ptSet.Count; j++)
                {
                    lstPt.Add(new Point3D(ptSet[j].X, ptSet[j].Y, ptSet[j].Z));
                }
                dicLinPath.Add(lstProduct[i].EntityLabel, new LinearPath(lstPt));
            }
            return(dicLinPath);
        }
Ejemplo n.º 4
0
 public IXbimCurve CreateCurve(IIfcPolyline ifcPolyline)
 {
     return(_engine.CreateCurve(ifcPolyline));
 }
Ejemplo n.º 5
0
 public IXbimFace CreateFace(IIfcPolyline pline)
 {
     return(_engine.CreateFace(pline));
 }