Example #1
0
        public static void Main(string[] args)
        {
            string inputFile = "../../../IfcDotNet_UnitTests/sampleData/NIST_TrainingStructure_param.ifc";

            if (!File.Exists(inputFile))
            {
                Console.WriteLine(String.Format(CultureInfo.InvariantCulture,
                                                "File does not exist at : {0}", inputFile));
            }
            else
            {
                Console.WriteLine("Running...");
                StreamReader      sr         = new StreamReader(inputFile);
                IStepReader       reader     = new StepReader(sr);
                IfcStepSerializer serializer = new IfcStepSerializer();

                iso_10303 iso10303 = serializer.Deserialize(reader);
                uos1      uos1     = iso10303.uos as uos1;
                Entity[]  entities = uos1.Items;

                Console.WriteLine(String.Format(CultureInfo.InvariantCulture,
                                                "Have deserialized {0} entities", entities.Length));
            }
            Console.WriteLine("Press any key to quit");
            Console.ReadKey();
            Console.WriteLine("Exiting");
        }
        private Entity[] DeserializeAssertISO10303AndExtractItems(StringReader stringReaderToDeserialize)
        {
            StepReader reader   = new StepReader(stringReaderToDeserialize);
            iso_10303  iso10303 = Deserialize(reader);

            AssertIso10303(iso10303);
            return(extractItems(iso10303));
        }
Example #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public iso_10303 Deserialize(TextReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }
            StepReader sr = new StepReader(reader);

            return(this.Deserialize(sr));
        }
        public void CanParseObjectNamesBeginningWithE()
        {
            StepReader sr     = createStepReader(ExampleData.ObjectNameBeginningWithE());
            StepFile   result = SUT.Deserialize(sr);

            List <StepDataObject> values  = new List <StepDataObject>(result.Data.Values);
            StepDataObject        entity0 = values[0];

            Assert.AreEqual("EXAMPLE", entity0.ObjectName);
        }
        public void CanCorrectlyDeserializeAmbiguousNumber()
        {
            StepReader            sr      = createStepReader(ExampleData.AmbiguousNumberString());
            StepFile              result  = SUT.Deserialize(sr);
            List <StepDataObject> values  = new List <StepDataObject>(result.Data.Values);
            StepDataObject        entity0 = values[0];

            Assert.IsNotNull(entity0);
            Assert.IsNotNull(entity0.Properties);
            Assert.AreEqual(1, entity0.Properties.Count);
            AssertFloat(1E-5, entity0.Properties[0]);
        }
        private void AssertCanSerialize(String itemToEqual)
        {
            IStepReader itemToDeserialize = new StepReader(new StringReader(itemToEqual));
            iso_10303   iso10303          = serializer.Deserialize(itemToDeserialize);

            StringBuilder sb         = new StringBuilder();
            StepWriter    stepwriter = new StepWriter(new StringWriter(sb));

            serializer.Serialize(stepwriter, iso10303);

            logger.Debug(sb.ToString());

            Assert.AreEqual(itemToEqual, sb.ToString());
        }
        public override bool Run(FeatureContext context)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "Step File (*.stp;*.step)|*.stp;*.step||";
            if (DialogResult.OK != dlg.ShowDialog())
            {
                return(true);
            }

            ShowShapeReaderContext renderContext = new ShowShapeReaderContext(context.RenderView.SceneManager);
            StepReader             reader        = new StepReader();

            reader.Read(dlg.FileName, renderContext);

            return(true);
        }
        public void CanDeserializeSimpleStep()
        {
            StepReader sr = createStepReader(ExampleData.simpleStepWithCommentString());

            StepFile result = SUT.Deserialize(sr);

            Assert.IsNotNull(result);

            Assert.IsNotNull(result.Header);
            Assert.AreEqual(3, result.Header.Count);

            StepDataObject header0 = result.Header[0];

            AssertObject("FILE_DESCRIPTION", 2, header0);
            AssertArray(1, header0.Properties[0]);
            AssertString("ViewDefinition [CoordinationView, QuantityTakeOffAddOnView]", getArray(header0.Properties[0])[0]);
            AssertString("2;1", header0.Properties[1]);

            StepDataObject header1 = result.Header[1];

            AssertObject("FILE_NAME", 3, header1);
            AssertString("example.ifc", header1.Properties[0]);
            AssertDate("2008-08-01T21:53:56", header1.Properties[1]);
            AssertArray(1, header1.Properties[2]);
            AssertString("Architect", getArray(header1.Properties[2])[0]);

            StepDataObject header2 = result.Header[2];

            AssertObject("FILE_SCHEMA", 1, header2);
            AssertArray(1, header2.Properties[0]);
            AssertString("IFC2X3", getArray(header2.Properties[0])[0]);

            AssertKeysAreInOrder(2, result.Data);
            ICollection <StepDataObject> valuesCollection = result.Data.Values;
            IList <StepDataObject>       values           = new List <StepDataObject>(valuesCollection);

            StepDataObject entity0 = values[0];

            AssertObject("IFCPROJECT", 9, entity0);
            AssertString("3MD_HkJ6X2EwpfIbCFm0g_", entity0.Properties[0]);
            AssertLineReference(2, entity0.Properties[1]);
            AssertString("Default Project", entity0.Properties[2]);
            AssertString("Description of Default Project", entity0.Properties[3]);
            AssertNull(entity0.Properties[4]);
            AssertFloat(-22.4, entity0.Properties[5]);
            AssertNull(entity0.Properties[6]);
            AssertArray(1, entity0.Properties[7]);
            AssertLineReference(20, getArray(entity0.Properties[7])[0]);
            AssertLineReference(7, entity0.Properties[8]);

            StepDataObject entity1 = values[1];

            AssertObject("IFCOWNERHISTORY", 8, entity1);
            AssertLineReference(3, entity1.Properties[0]);
            AssertNestedObject("IFCTEXT", 1, entity1.Properties[1]);
            //AssertLineReference(6, entity1.Properties[1]);
            AssertNull(entity1.Properties[2]);
            AssertEnum("ADDED", entity1.Properties[3]);
            AssertNull(entity1.Properties[4]);
            AssertBoolean(false, entity1.Properties[5]);
            AssertOverridden(entity1.Properties[6]);
            AssertInteger(1217620436, entity1.Properties[7]);
        }