This commit is contained in:
unknown 2017-07-28 03:00:09 +10:00
Родитель 62ababf692
Коммит 3dcae45940
28 изменённых файлов: 1128 добавлений и 178 удалений

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>

Просмотреть файл

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{36C759DD-2355-44C1-8FA9-CE270669334A}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ConsoleConvertToIFCJson</RootNamespace>
<AssemblyName>ConsoleConvertToIFCJson</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GeometryGym.Ifc;
namespace ConsoleConvertToIFCJson
{
class Program
{
static void Main(string[] args)
{
DatabaseIfc db = new DatabaseIfc( Console.In);
Console.Out.Write(db.JSON);
}
}
}

Просмотреть файл

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ConsoleConvertToIFCJson")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ConsoleConvertToIFCJson")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("36c759dd-2355-44c1-8fa9-ce270669334a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Просмотреть файл

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net45" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net45" />
</packages>

Просмотреть файл

@ -34,13 +34,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.11.0\lib\net45\GeometryGymIFC.dll</HintPath>
<Private>True</Private>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

Просмотреть файл

@ -23,9 +23,10 @@ namespace ConsoleCreateWall
IfcMaterialLayer structure = new IfcMaterialLayer(masonry, 110, "Core");
string name = "Double Brick - 270";
IfcMaterialLayerSet materialLayerSet = new IfcMaterialLayerSet(new List<IfcMaterialLayer>() { layerFinish, airInfiltrationBarrier, structure }, name);
IfcMaterialLayerSetUsage materialLayerSetUsage = new IfcMaterialLayerSetUsage(materialLayerSet, IfcLayerSetDirectionEnum.AXIS2, IfcDirectionSenseEnum.POSITIVE, 0);
db.NextObjectRecord = 300;
IfcWallType wallType = new IfcWallType(name, materialLayerSet, IfcWallTypeEnum.NOTDEFINED) { };
// todo implement rhinocommon overload IfcWallStandardCase wallStandardCase = new IfcWallStandardCase(building, wallType, new Line(0, 0, 0, 5000, 0, 0), 2000, 0, true, null) { };
IfcWallStandardCase wallStandardCase = new IfcWallStandardCase(building, materialLayerSetUsage, new IfcAxis2Placement3D(new IfcCartesianPoint(db,0,0,0)), 5000, 2000) { };
}

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.11.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
</packages>

Просмотреть файл

@ -32,13 +32,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.11.0\lib\net45\GeometryGymIFC.dll</HintPath>
<Private>True</Private>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

Просмотреть файл

@ -3,10 +3,10 @@ HEADER;
FILE_DESCRIPTION(('ViewDefinition [notYetAssigned]'),'2;1');
FILE_NAME(
/* name */ 'C:\\My Work\\Geometry Gym\\source code\\Open Source\\GeometryGymIfcExamples\\ConsoleParametricFooting\\ParametricFooting.ifc',
/* time_stamp */ '2016-10-21T18:00:27',
/* time_stamp */ '2017-05-26T11:47:13',
/* author */ ('jonm'),
/* organization */ ('Unknown'),
/* preprocessor_version */ 'GeometryGymIFC v0.0.10.0 by Geometry Gym Pty Ltd built 2016-10-21T06:59:09',
/* preprocessor_version */ 'GeometryGymIFC v0.0.15.0 by Geometry Gym Pty Ltd built 2017-05-26T01:44:39',
/* originating_system */ 'ConsoleParametricFooting v1.0.0.0',
/* authorization */ 'None');
@ -24,106 +24,86 @@ DATA;
#8= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#9= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#10= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#11= IFCPROJECTLIBRARY('0_IOslnr53wQn0Yf8SyH3i',#17,'ObjectLibrary',$,$,$,$,(#31,#31),#18);
#12= IFCPERSON('jonm','jonm',$,$,$,$,$,$);
#13= IFCORGANIZATION($,'Unknown',$,$,$);
#14= IFCPERSONANDORGANIZATION(#12,#13,$);
#15= IFCAPPLICATION(#16,'0.0.10.0','ConsoleParametricFooting v1.0.0.0','ConsoleParametricFooting v1.0.0.0');
#16= IFCORGANIZATION($,'Geometry Gym Pty Ltd',$,$,$);
#17= IFCOWNERHISTORY(#14,#15,$,.ADDED.,1477033226,$,$,1477033226);
#18= IFCUNITASSIGNMENT((#19,#9,#10,#20,#21));
#19= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#20= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#21= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#22= IFCFOOTINGTYPE('3dEfTP6U99SOeF1p4tPd7G',#17,'PadFootingParametric',$,$,(#36),(#29),$,$,.PAD_FOOTING.);
#24= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFootingParametric',$,800.0,800.0);
#25= IFCCARTESIANPOINT((0.0,0.0,-300.0));
#11= IFCPROJECTLIBRARY('1tAy9Z5K13auyT3YE4aeBM',$,'ObjectLibrary',$,$,$,$,(#24),#12);
#12= IFCUNITASSIGNMENT((#13,#9,#10,#14,#15));
#13= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#14= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#15= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#16= IFCFOOTINGTYPE('3Nlaz12CjCCw_ZR4VWwm$7',$,'PadFootingParametric',$,$,(#30),(#23),$,$,.PAD_FOOTING.);
#18= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFootingParametric',$,800.0,800.0);
#19= IFCCARTESIANPOINT((0.0,0.0,0.0));
#20= IFCAXIS2PLACEMENT3D(#19,$,$);
#21= IFCDIRECTION((0.0,0.0,-1.0));
#22= IFCEXTRUDEDAREASOLID(#18,#20,#21,300.0);
#23= IFCREPRESENTATIONMAP(#5,#29);
#24= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.0001,#26,#27);
#25= IFCCARTESIANPOINT((0.0,0.0,0.0));
#26= IFCAXIS2PLACEMENT3D(#25,$,$);
#27= IFCDIRECTION((0.0,0.0,1.0));
#28= IFCEXTRUDEDAREASOLID(#24,#26,#27,300.0);
#29= IFCREPRESENTATIONMAP(#5,#30);
#30= IFCSHAPEREPRESENTATION(#35,'Body','SolidModel',(#28));
#31= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.0001,#33,#34);
#32= IFCCARTESIANPOINT((0.0,0.0,0.0));
#33= IFCAXIS2PLACEMENT3D(#32,$,$);
#34= IFCDIRECTION((0.0,1.0));
#35= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#31,$,.MODEL_VIEW.,$);
#36= IFCELEMENTQUANTITY('3B0RqAiX19GwREzyJCmqyS',#17,'Qto_FootingBaseQuantities','PadFootingParametric',$,(#37,#38,#39));
#37= IFCQUANTITYLENGTH('Length',$,$,800.0,$);
#38= IFCQUANTITYLENGTH('Width',$,$,800.0,$);
#39= IFCQUANTITYLENGTH('Height',$,$,300.0,$);
#40= IFCMETRIC('Height',$,.HARD.,$,$,$,$,.EQUALTO.,$,$,#44);
#41= IFCREFERENCE('IfcExtrudedAreaSolid','Depth',$,$,$);
#42= IFCREFERENCE($,'Items',$,(1),#41);
#43= IFCREFERENCE($,'MappedRepresentation',$,$,#42);
#44= IFCREFERENCE($,'RepresentationMaps',$,(1),#43);
#45= IFCRESOURCECONSTRAINTRELATIONSHIP($,$,#40,(#37));
#46= IFCRELASSOCIATESCONSTRAINT('3X3sOvPGv6GBMFqlEDLxyE',#17,$,$,(#22),$,#40);
#47= IFCMETRIC('Length',$,.HARD.,$,$,$,$,.EQUALTO.,$,$,#52);
#48= IFCREFERENCE('IfcRectangleProfileDef','XDim',$,$,$);
#49= IFCREFERENCE('IfcExtrudedAreaSolid','SweptArea',$,$,#48);
#50= IFCREFERENCE($,'Items',$,(1),#49);
#51= IFCREFERENCE($,'MappedRepresentation',$,$,#50);
#52= IFCREFERENCE($,'RepresentationMaps',$,(1),#51);
#53= IFCRESOURCECONSTRAINTRELATIONSHIP($,$,#47,(#38));
#54= IFCRELASSOCIATESCONSTRAINT('0Lgr0b0JX8tBFEqa0WWNG8',#17,$,$,(#22),$,#47);
#55= IFCMETRIC('Width',$,.HARD.,$,$,$,$,.EQUALTO.,$,$,#60);
#56= IFCREFERENCE('IfcRectangleProfileDef','YDim',$,$,$);
#57= IFCREFERENCE('IfcExtrudedAreaSolid','SweptArea',$,$,#56);
#58= IFCREFERENCE($,'Items',$,(1),#57);
#59= IFCREFERENCE($,'MappedRepresentation',$,$,#58);
#60= IFCREFERENCE($,'RepresentationMaps',$,(1),#59);
#61= IFCRESOURCECONSTRAINTRELATIONSHIP($,$,#55,(#39));
#62= IFCRELASSOCIATESCONSTRAINT('1kUs_gC3HD5BnIx72vBO6V',#17,$,$,(#22),$,#55);
#63= IFCREFERENCE($,'HasProperties','Height',$,$);
#64= IFCREFERENCE($,'HasPropertySets','Qto_FootingBaseQuantities',$,#63);
#65= IFCAPPLIEDVALUE($,$,#64,$,$,$,$,$,$,$);
#66= IFCAPPLIEDVALUE($,$,IFCREAL(-1.0),$,$,$,$,$,$,$);
#67= IFCAPPLIEDVALUE($,$,$,$,$,$,$,$,.MULTIPLY.,(#65,#66));
#68= IFCMETRIC('Offset',$,.HARD.,$,$,$,$,.EQUALTO.,$,$,#71);
#69= IFCREFERENCE($,'CoordinateZ',$,$,$);
#70= IFCREFERENCE($,'Location',$,$,#69);
#71= IFCREFERENCE($,'Position',$,$,#70);
#72= IFCRESOURCECONSTRAINTRELATIONSHIP($,$,#68,(#67));
#73= IFCRELASSOCIATESCONSTRAINT('1N1L5a0Df4O9WZcEfWv9QC',#17,$,$,(#22),$,#68);
#74= IFCFOOTINGTYPE('0IZob631574ArxvHXlAYRT',#17,'PadFooting800x800x300',$,$,(#83),(#81),$,$,.PAD_FOOTING.);
#76= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFooting800x800x300',$,800.0,800.0);
#77= IFCCARTESIANPOINT((0.0,0.0,-300.0));
#78= IFCAXIS2PLACEMENT3D(#77,$,$);
#79= IFCDIRECTION((0.0,0.0,1.0));
#80= IFCEXTRUDEDAREASOLID(#76,#78,#79,300.0);
#81= IFCREPRESENTATIONMAP(#5,#82);
#82= IFCSHAPEREPRESENTATION(#35,'Body','SolidModel',(#80));
#83= IFCELEMENTQUANTITY('1e7eLr2RT9N9Rfoshl$42n',#17,'Qto_FootingBaseQuantities','PadFooting800x800x300',$,(#84,#85,#86));
#84= IFCQUANTITYLENGTH('Length',$,$,800.0,$);
#85= IFCQUANTITYLENGTH('Width',$,$,800.0,$);
#86= IFCQUANTITYLENGTH('Height',$,$,300.0,$);
#87= IFCFOOTINGTYPE('1ojo$PkmX3H9HQi$Fpu5qO',#17,'PadFooting600x600x250',$,$,(#96),(#94),$,$,.PAD_FOOTING.);
#89= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFooting600x600x250',$,600.0,600.0);
#90= IFCCARTESIANPOINT((0.0,0.0,-250.0));
#91= IFCAXIS2PLACEMENT3D(#90,$,$);
#92= IFCDIRECTION((0.0,0.0,1.0));
#93= IFCEXTRUDEDAREASOLID(#89,#91,#92,250.0);
#94= IFCREPRESENTATIONMAP(#5,#95);
#95= IFCSHAPEREPRESENTATION(#35,'Body','SolidModel',(#93));
#96= IFCELEMENTQUANTITY('3VxgzdtcH118$e4qfIj0x2',#17,'Qto_FootingBaseQuantities','PadFooting600x600x250',$,(#97,#98,#99));
#97= IFCQUANTITYLENGTH('Length',$,$,600.0,$);
#98= IFCQUANTITYLENGTH('Width',$,$,600.0,$);
#99= IFCQUANTITYLENGTH('Height',$,$,250.0,$);
#100= IFCFOOTINGTYPE('0Lr1AHZZv9DO88DewuSRw6',#17,'PadFooting400x400x200',$,$,(#109),(#107),$,$,.PAD_FOOTING.);
#102= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFooting400x400x200',$,400.0,400.0);
#103= IFCCARTESIANPOINT((0.0,0.0,-200.0));
#104= IFCAXIS2PLACEMENT3D(#103,$,$);
#105= IFCDIRECTION((0.0,0.0,1.0));
#106= IFCEXTRUDEDAREASOLID(#102,#104,#105,200.0);
#107= IFCREPRESENTATIONMAP(#5,#108);
#108= IFCSHAPEREPRESENTATION(#35,'Body','SolidModel',(#106));
#109= IFCELEMENTQUANTITY('1EExJ66LD4bvlyHIdLfDlL',#17,'Qto_FootingBaseQuantities','PadFooting400x400x200',$,(#110,#111,#112));
#110= IFCQUANTITYLENGTH('Length',$,$,400.0,$);
#111= IFCQUANTITYLENGTH('Width',$,$,400.0,$);
#112= IFCQUANTITYLENGTH('Height',$,$,200.0,$);
#113= IFCRELASSIGNSTOPRODUCT('16u1kMLa50vwzkeFYzLwW7',#17,$,$,(#74,#87,#100),$,#22);
#114= IFCRELDECLARES('0p2RBSkHrDrvxQ4o2Xk62U',#17,$,$,#11,(#74,#87,#100));
#27= IFCDIRECTION((0.0,1.0));
#28= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#24,$,.MODEL_VIEW.,$);
#29= IFCSHAPEREPRESENTATION(#28,'Body','SolidModel',(#22));
#30= IFCELEMENTQUANTITY('3ug$MP9bvCTB3m9jJaEZJL',$,'Qto_FootingBaseQuantities','PadFootingParametric',$,(#31,#32,#33));
#31= IFCQUANTITYLENGTH('Length',$,$,800.0,$);
#32= IFCQUANTITYLENGTH('Width',$,$,800.0,$);
#33= IFCQUANTITYLENGTH('Height',$,$,300.0,$);
#34= IFCMETRIC('Length',$,.HARD.,$,$,$,$,.EQUALTO.,$,$,#39);
#35= IFCREFERENCE('IfcRectangleProfileDef','XDim',$,$,$);
#36= IFCREFERENCE('IfcExtrudedAreaSolid','SweptArea',$,$,#35);
#37= IFCREFERENCE($,'Items',$,(1),#36);
#38= IFCREFERENCE($,'MappedRepresentation',$,$,#37);
#39= IFCREFERENCE($,'RepresentationMaps',$,(1),#38);
#40= IFCRESOURCECONSTRAINTRELATIONSHIP($,$,#34,(#31));
#41= IFCRELASSOCIATESCONSTRAINT('0oPUp5p4bDGQ4g$CCJD2Qz',$,$,$,(#16),$,#34);
#42= IFCMETRIC('Width',$,.HARD.,$,$,$,$,.EQUALTO.,$,$,#47);
#43= IFCREFERENCE('IfcRectangleProfileDef','YDim',$,$,$);
#44= IFCREFERENCE('IfcExtrudedAreaSolid','SweptArea',$,$,#43);
#45= IFCREFERENCE($,'Items',$,(1),#44);
#46= IFCREFERENCE($,'MappedRepresentation',$,$,#45);
#47= IFCREFERENCE($,'RepresentationMaps',$,(1),#46);
#48= IFCRESOURCECONSTRAINTRELATIONSHIP($,$,#42,(#32));
#49= IFCRELASSOCIATESCONSTRAINT('3hr6dDhTfAWgVvmNIfNN3B',$,$,$,(#16),$,#42);
#50= IFCMETRIC('Height',$,.HARD.,$,$,$,$,.EQUALTO.,$,$,#54);
#51= IFCREFERENCE('IfcExtrudedAreaSolid','Depth',$,$,$);
#52= IFCREFERENCE($,'Items',$,(1),#51);
#53= IFCREFERENCE($,'MappedRepresentation',$,$,#52);
#54= IFCREFERENCE($,'RepresentationMaps',$,(1),#53);
#55= IFCRESOURCECONSTRAINTRELATIONSHIP($,$,#50,(#33));
#56= IFCRELASSOCIATESCONSTRAINT('0y1ddoImD7U9LxCKTBm4DL',$,$,$,(#16),$,#50);
#57= IFCFOOTINGTYPE('05LFc3yRX2SAW8wvz5h7FY',$,'PadFooting800x800x300',$,$,(#65),(#63),$,$,.PAD_FOOTING.);
#59= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFooting800x800x300',$,800.0,800.0);
#60= IFCCARTESIANPOINT((0.0,0.0,0.0));
#61= IFCAXIS2PLACEMENT3D(#60,$,$);
#62= IFCEXTRUDEDAREASOLID(#59,#61,#21,300.0);
#63= IFCREPRESENTATIONMAP(#5,#64);
#64= IFCSHAPEREPRESENTATION(#28,'Body','SolidModel',(#62));
#65= IFCELEMENTQUANTITY('3M99rnZzfCCvLv_OSqvVPS',$,'Qto_FootingBaseQuantities','PadFooting800x800x300',$,(#66,#67,#68));
#66= IFCQUANTITYLENGTH('Length',$,$,800.0,$);
#67= IFCQUANTITYLENGTH('Width',$,$,800.0,$);
#68= IFCQUANTITYLENGTH('Height',$,$,300.0,$);
#69= IFCFOOTINGTYPE('2zf57xMcHEzAuH79Z_Fj4o',$,'PadFooting600x600x250',$,$,(#77),(#75),$,$,.PAD_FOOTING.);
#71= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFooting600x600x250',$,600.0,600.0);
#72= IFCCARTESIANPOINT((0.0,0.0,0.0));
#73= IFCAXIS2PLACEMENT3D(#72,$,$);
#74= IFCEXTRUDEDAREASOLID(#71,#73,#21,250.0);
#75= IFCREPRESENTATIONMAP(#5,#76);
#76= IFCSHAPEREPRESENTATION(#28,'Body','SolidModel',(#74));
#77= IFCELEMENTQUANTITY('3iAOn3wdP6xge3w1aHfox8',$,'Qto_FootingBaseQuantities','PadFooting600x600x250',$,(#78,#79,#80));
#78= IFCQUANTITYLENGTH('Length',$,$,600.0,$);
#79= IFCQUANTITYLENGTH('Width',$,$,600.0,$);
#80= IFCQUANTITYLENGTH('Height',$,$,250.0,$);
#81= IFCFOOTINGTYPE('2RnrmxTRrB5PAEa0z5YEW9',$,'PadFooting400x400x200',$,$,(#89),(#87),$,$,.PAD_FOOTING.);
#83= IFCRECTANGLEPROFILEDEF(.AREA.,'PadFooting400x400x200',$,400.0,400.0);
#84= IFCCARTESIANPOINT((0.0,0.0,0.0));
#85= IFCAXIS2PLACEMENT3D(#84,$,$);
#86= IFCEXTRUDEDAREASOLID(#83,#85,#21,200.0);
#87= IFCREPRESENTATIONMAP(#5,#88);
#88= IFCSHAPEREPRESENTATION(#28,'Body','SolidModel',(#86));
#89= IFCELEMENTQUANTITY('0czRD1EHDCmvUskzwCvjLk',$,'Qto_FootingBaseQuantities','PadFooting400x400x200',$,(#90,#91,#92));
#90= IFCQUANTITYLENGTH('Length',$,$,400.0,$);
#91= IFCQUANTITYLENGTH('Width',$,$,400.0,$);
#92= IFCQUANTITYLENGTH('Height',$,$,200.0,$);
#93= IFCRELASSIGNSTOPRODUCT('0M33Wvw_v8D8VUJ7XbBpGP',$,$,$,(#57,#69,#81),$,#16);
#94= IFCRELDECLARES('1Ivg_Hz5rFvwYZPlIApyiI',$,$,$,#11,(#57,#69,#81));
ENDSEC;
END-ISO-10303-21;

Просмотреть файл

@ -0,0 +1,615 @@
{
"HEADER": {
"FILE_DESCRIPTION": {
"description": "ViewDefinition[notYetAssigned]",
"implementation_level": "2;1"
},
"FILE_NAME": {
"name": "C:\\My Work\\Geometry Gym\\source code\\Open Source\\GeometryGymIfcExamples\\ConsoleParametricFooting\\ParametricFooting.ifcjson",
"time_stamp": "2017-05-26T11:47:13",
"author": "jonm",
"organization": "Unknown",
"preprocessor_version": "GeometryGymIFC v0.0.15.0 by Geometry Gym Pty Ltd built 2017-05-26T01:44:39",
"originating_system": "ConsoleParametricFooting v1.0.0.0",
"authorization": "None"
},
"FILE_SCHEMA": {
"schema_identifiers": "IFC4"
}
},
"DATA": [
{
"type": "IfcProjectLibrary",
"id": 11,
"GlobalId": "1tAy9Z5K13auyT3YE4aeBM",
"Name": "ObjectLibrary",
"RepresentationContexts": [
{
"type": "IfcGeometricRepresentationContext",
"id": 24,
"ContextType": "Model",
"CoordinateSpaceDimension": 3,
"Precision": 0.0001,
"WorldCoordinateSystem": {
"type": "IfcAxis2Placement3D",
"id": 26,
"Location": {
"type": "IfcCartesianPoint",
"id": 25,
"Coordinates": "0 0 0"
}
},
"TrueNorth": {
"type": "IfcDirection",
"id": 27,
"DirectionRatios": "0 1"
},
"HasSubContexts": [
{
"type": "IfcGeometricRepresentationSubContext",
"id": 28,
"ContextIdentifier": "Body",
"ContextType": "Model",
"TargetView": "MODEL_VIEW"
}
]
}
],
"UnitsInContext": {
"type": "IfcUnitAssignment",
"id": 12,
"Units": [
{
"type": "IfcSIUnit",
"id": 13,
"UnitType": "LENGTHUNIT",
"Prefix": "MILLI",
"Name": "METRE"
},
{
"type": "IfcSIUnit",
"id": 9,
"UnitType": "AREAUNIT",
"Name": "SQUARE_METRE"
},
{
"type": "IfcSIUnit",
"id": 10,
"UnitType": "VOLUMEUNIT",
"Name": "CUBIC_METRE"
},
{
"type": "IfcSIUnit",
"id": 14,
"UnitType": "PLANEANGLEUNIT",
"Name": "RADIAN"
},
{
"type": "IfcSIUnit",
"id": 15,
"UnitType": "TIMEUNIT",
"Name": "SECOND"
}
]
},
"Declares": [
{
"type": "IfcRelDeclares",
"id": 94,
"GlobalId": "1Ivg_Hz5rFvwYZPlIApyiI",
"RelatedDefinitions": [
{
"type": "IfcFootingType",
"id": 57,
"GlobalId": "05LFc3yRX2SAW8wvz5h7FY",
"Name": "PadFooting800x800x300",
"HasAssignments": [
{
"type": "IfcRelAssignsToProduct",
"id": 93,
"GlobalId": "0M33Wvw_v8D8VUJ7XbBpGP",
"RelatingProduct": {
"type": "IfcFootingType",
"id": 16,
"GlobalId": "3Nlaz12CjCCw_ZR4VWwm$7",
"Name": "PadFootingParametric",
"HasAssociations": [
{
"type": "IfcRelAssociatesConstraint",
"id": 41,
"GlobalId": "0oPUp5p4bDGQ4g$CCJD2Qz",
"RelatingConstraint": {
"type": "IfcMetric",
"id": 34,
"Name": "Length",
"ConstraintGrade": "HARD",
"PropertiesForConstraint": [
{
"type": "IfcResourceConstraintRelationship",
"id": 40,
"RelatedResourceObjects": [
{
"type": "IfcQuantityLength",
"id": 31,
"Name": "Length",
"LengthValue": 800.0
}
]
}
],
"BenchMark": "EQUALTO",
"ReferencePath": {
"type": "IfcReference",
"id": 39,
"AttributeIdentifier": "RepresentationMaps",
"ListPositions": [
1
],
"InnerReference": {
"type": "IfcReference",
"id": 38,
"AttributeIdentifier": "MappedRepresentation",
"InnerReference": {
"type": "IfcReference",
"id": 37,
"AttributeIdentifier": "Items",
"ListPositions": [
1
],
"InnerReference": {
"type": "IfcReference",
"id": 36,
"TypeIdentifier": "IfcExtrudedAreaSolid",
"AttributeIdentifier": "SweptArea",
"InnerReference": {
"type": "IfcReference",
"id": 35,
"TypeIdentifier": "IfcRectangleProfileDef",
"AttributeIdentifier": "XDim"
}
}
}
}
}
}
},
{
"type": "IfcRelAssociatesConstraint",
"id": 49,
"GlobalId": "3hr6dDhTfAWgVvmNIfNN3B",
"RelatingConstraint": {
"type": "IfcMetric",
"id": 42,
"Name": "Width",
"ConstraintGrade": "HARD",
"PropertiesForConstraint": [
{
"type": "IfcResourceConstraintRelationship",
"id": 48,
"RelatedResourceObjects": [
{
"type": "IfcQuantityLength",
"id": 32,
"Name": "Width",
"LengthValue": 800.0
}
]
}
],
"BenchMark": "EQUALTO",
"ReferencePath": {
"type": "IfcReference",
"id": 47,
"AttributeIdentifier": "RepresentationMaps",
"ListPositions": [
1
],
"InnerReference": {
"type": "IfcReference",
"id": 46,
"AttributeIdentifier": "MappedRepresentation",
"InnerReference": {
"type": "IfcReference",
"id": 45,
"AttributeIdentifier": "Items",
"ListPositions": [
1
],
"InnerReference": {
"type": "IfcReference",
"id": 44,
"TypeIdentifier": "IfcExtrudedAreaSolid",
"AttributeIdentifier": "SweptArea",
"InnerReference": {
"type": "IfcReference",
"id": 43,
"TypeIdentifier": "IfcRectangleProfileDef",
"AttributeIdentifier": "YDim"
}
}
}
}
}
}
},
{
"type": "IfcRelAssociatesConstraint",
"id": 56,
"GlobalId": "0y1ddoImD7U9LxCKTBm4DL",
"RelatingConstraint": {
"type": "IfcMetric",
"id": 50,
"Name": "Height",
"ConstraintGrade": "HARD",
"PropertiesForConstraint": [
{
"type": "IfcResourceConstraintRelationship",
"id": 55,
"RelatedResourceObjects": [
{
"type": "IfcQuantityLength",
"id": 33,
"Name": "Height",
"LengthValue": 300.0
}
]
}
],
"BenchMark": "EQUALTO",
"ReferencePath": {
"type": "IfcReference",
"id": 54,
"AttributeIdentifier": "RepresentationMaps",
"ListPositions": [
1
],
"InnerReference": {
"type": "IfcReference",
"id": 53,
"AttributeIdentifier": "MappedRepresentation",
"InnerReference": {
"type": "IfcReference",
"id": 52,
"AttributeIdentifier": "Items",
"ListPositions": [
1
],
"InnerReference": {
"type": "IfcReference",
"id": 51,
"TypeIdentifier": "IfcExtrudedAreaSolid",
"AttributeIdentifier": "Depth"
}
}
}
}
}
}
],
"HasPropertySets": [
{
"type": "IfcElementQuantity",
"id": 30,
"GlobalId": "3ug$MP9bvCTB3m9jJaEZJL",
"Name": "Qto_FootingBaseQuantities",
"Description": "PadFootingParametric",
"Quantities": [
{
"href": 31
},
{
"href": 32
},
{
"href": 33
}
]
}
],
"RepresentationMaps": [
{
"type": "IfcRepresentationMap",
"id": 23,
"MappingOrigin": {
"type": "IfcAxis2Placement3D",
"id": 5,
"Location": {
"type": "IfcCartesianPoint",
"id": 1,
"Coordinates": "0 0 0"
}
},
"MappedRepresentation": {
"type": "IfcShapeRepresentation",
"id": 29,
"ContextOfItems": {
"href": 28
},
"RepresentationIdentifier": "Body",
"RepresentationType": "SolidModel",
"Items": [
{
"type": "IfcExtrudedAreaSolid",
"id": 22,
"SweptArea": {
"type": "IfcRectangleProfileDef",
"id": 18,
"ProfileType": "AREA",
"ProfileName": "PadFootingParametric",
"XDim": 800.0,
"YDim": 800.0
},
"Position": {
"type": "IfcAxis2Placement3D",
"id": 20,
"Location": {
"type": "IfcCartesianPoint",
"id": 19,
"Coordinates": "0 0 0"
}
},
"ExtrudedDirection": {
"type": "IfcDirection",
"id": 21,
"DirectionRatios": "0 0 -1"
},
"Depth": 300.0
}
]
}
}
]
}
}
],
"HasPropertySets": [
{
"type": "IfcElementQuantity",
"id": 65,
"GlobalId": "3M99rnZzfCCvLv_OSqvVPS",
"Name": "Qto_FootingBaseQuantities",
"Description": "PadFooting800x800x300",
"Quantities": [
{
"type": "IfcQuantityLength",
"id": 66,
"Name": "Length",
"LengthValue": 800.0
},
{
"type": "IfcQuantityLength",
"id": 67,
"Name": "Width",
"LengthValue": 800.0
},
{
"type": "IfcQuantityLength",
"id": 68,
"Name": "Height",
"LengthValue": 300.0
}
]
}
],
"RepresentationMaps": [
{
"type": "IfcRepresentationMap",
"id": 63,
"MappingOrigin": {
"href": 5
},
"MappedRepresentation": {
"type": "IfcShapeRepresentation",
"id": 64,
"ContextOfItems": {
"href": 28
},
"RepresentationIdentifier": "Body",
"RepresentationType": "SolidModel",
"Items": [
{
"type": "IfcExtrudedAreaSolid",
"id": 62,
"SweptArea": {
"type": "IfcRectangleProfileDef",
"id": 59,
"ProfileType": "AREA",
"ProfileName": "PadFooting800x800x300",
"XDim": 800.0,
"YDim": 800.0
},
"Position": {
"type": "IfcAxis2Placement3D",
"id": 61,
"Location": {
"type": "IfcCartesianPoint",
"id": 60,
"Coordinates": "0 0 0"
}
},
"ExtrudedDirection": {
"href": 21
},
"Depth": 300.0
}
]
}
}
]
},
{
"type": "IfcFootingType",
"id": 69,
"GlobalId": "2zf57xMcHEzAuH79Z_Fj4o",
"Name": "PadFooting600x600x250",
"HasAssignments": [
{
"href": 93
}
],
"HasPropertySets": [
{
"type": "IfcElementQuantity",
"id": 77,
"GlobalId": "3iAOn3wdP6xge3w1aHfox8",
"Name": "Qto_FootingBaseQuantities",
"Description": "PadFooting600x600x250",
"Quantities": [
{
"type": "IfcQuantityLength",
"id": 78,
"Name": "Length",
"LengthValue": 600.0
},
{
"type": "IfcQuantityLength",
"id": 79,
"Name": "Width",
"LengthValue": 600.0
},
{
"type": "IfcQuantityLength",
"id": 80,
"Name": "Height",
"LengthValue": 250.0
}
]
}
],
"RepresentationMaps": [
{
"type": "IfcRepresentationMap",
"id": 75,
"MappingOrigin": {
"href": 5
},
"MappedRepresentation": {
"type": "IfcShapeRepresentation",
"id": 76,
"ContextOfItems": {
"href": 28
},
"RepresentationIdentifier": "Body",
"RepresentationType": "SolidModel",
"Items": [
{
"type": "IfcExtrudedAreaSolid",
"id": 74,
"SweptArea": {
"type": "IfcRectangleProfileDef",
"id": 71,
"ProfileType": "AREA",
"ProfileName": "PadFooting600x600x250",
"XDim": 600.0,
"YDim": 600.0
},
"Position": {
"type": "IfcAxis2Placement3D",
"id": 73,
"Location": {
"type": "IfcCartesianPoint",
"id": 72,
"Coordinates": "0 0 0"
}
},
"ExtrudedDirection": {
"href": 21
},
"Depth": 250.0
}
]
}
}
]
},
{
"type": "IfcFootingType",
"id": 81,
"GlobalId": "2RnrmxTRrB5PAEa0z5YEW9",
"Name": "PadFooting400x400x200",
"HasAssignments": [
{
"href": 93
}
],
"HasPropertySets": [
{
"type": "IfcElementQuantity",
"id": 89,
"GlobalId": "0czRD1EHDCmvUskzwCvjLk",
"Name": "Qto_FootingBaseQuantities",
"Description": "PadFooting400x400x200",
"Quantities": [
{
"type": "IfcQuantityLength",
"id": 90,
"Name": "Length",
"LengthValue": 400.0
},
{
"type": "IfcQuantityLength",
"id": 91,
"Name": "Width",
"LengthValue": 400.0
},
{
"type": "IfcQuantityLength",
"id": 92,
"Name": "Height",
"LengthValue": 200.0
}
]
}
],
"RepresentationMaps": [
{
"type": "IfcRepresentationMap",
"id": 87,
"MappingOrigin": {
"href": 5
},
"MappedRepresentation": {
"type": "IfcShapeRepresentation",
"id": 88,
"ContextOfItems": {
"href": 28
},
"RepresentationIdentifier": "Body",
"RepresentationType": "SolidModel",
"Items": [
{
"type": "IfcExtrudedAreaSolid",
"id": 86,
"SweptArea": {
"type": "IfcRectangleProfileDef",
"id": 83,
"ProfileType": "AREA",
"ProfileName": "PadFooting400x400x200",
"XDim": 400.0,
"YDim": 400.0
},
"Position": {
"type": "IfcAxis2Placement3D",
"id": 85,
"Location": {
"type": "IfcCartesianPoint",
"id": 84,
"Coordinates": "0 0 0"
}
},
"ExtrudedDirection": {
"href": 21
},
"Depth": 200.0
}
]
}
}
]
}
]
}
]
}
]
}

Просмотреть файл

@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ifc:ifcXML xsi:schemaLocation="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1/IFC4_ADD1.xsd" xlmns="http://www.buildingsmart-tech.org/ifcXML/IFC4_ADD1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4_ADD1">
<IfcProjectLibrary GlobalId="1tAy9Z5K13auyT3YE4aeBM" Name="ObjectLibrary">
<RepresentationContexts>
<IfcGeometricRepresentationContext ContextType="Model" CoordinateSpaceDimension="3" Precision="0.0001">
<WorldCoordinateSystem xsi:type="IfcAxis2Placement3D">
<Location Coordinates="0 0 0" xsi:type="IfcCartesianPoint" />
</WorldCoordinateSystem>
<TrueNorth DirectionRatios="0 1" xsi:type="IfcDirection" />
<HasSubContexts>
<IfcGeometricRepresentationSubContext ContextIdentifier="Body" ContextType="Model" TargetView="model_view" id="i28" />
</HasSubContexts>
</IfcGeometricRepresentationContext>
</RepresentationContexts>
<UnitsInContext xsi:type="IfcUnitAssignment">
<Units>
<IfcSIUnit UnitType="lengthunit" Prefix="milli" Name="metre" />
<IfcSIUnit UnitType="areaunit" Name="square_metre" />
<IfcSIUnit UnitType="volumeunit" Name="cubic_metre" />
<IfcSIUnit UnitType="planeangleunit" Name="radian" />
<IfcSIUnit UnitType="timeunit" Name="second" />
</Units>
</UnitsInContext>
<Declares>
<IfcRelDeclares GlobalId="1Ivg_Hz5rFvwYZPlIApyiI">
<RelatedDefinitions>
<IfcFootingType GlobalId="05LFc3yRX2SAW8wvz5h7FY" Name="PadFooting800x800x300">
<HasAssignments>
<IfcRelAssignsToProduct GlobalId="0M33Wvw_v8D8VUJ7XbBpGP" id="i93">
<RelatingProduct GlobalId="3Nlaz12CjCCw_ZR4VWwm$7" Name="PadFootingParametric" xsi:type="IfcFootingType">
<HasAssociations>
<IfcRelAssociatesConstraint GlobalId="0oPUp5p4bDGQ4g$CCJD2Qz">
<RelatingConstraint Name="Length" ConstraintGrade="hard" BenchMark="equalto" xsi:type="IfcMetric">
<PropertiesForConstraint>
<IfcResourceConstraintRelationship>
<RelatedResourceObjects>
<IfcQuantityLength xsi:nil="true" href="i31" />
</RelatedResourceObjects>
</IfcResourceConstraintRelationship>
</PropertiesForConstraint>
<ReferencePath AttributeIdentifier="RepresentationMaps" ListPositions="1" xsi:type="IfcReference">
<InnerReference AttributeIdentifier="MappedRepresentation" xsi:type="IfcReference">
<InnerReference AttributeIdentifier="Items" ListPositions="1" xsi:type="IfcReference">
<InnerReference TypeIdentifier="IfcExtrudedAreaSolid" AttributeIdentifier="SweptArea" xsi:type="IfcReference">
<InnerReference TypeIdentifier="IfcRectangleProfileDef" AttributeIdentifier="XDim" xsi:type="IfcReference" />
</InnerReference>
</InnerReference>
</InnerReference>
</ReferencePath>
</RelatingConstraint>
</IfcRelAssociatesConstraint>
<IfcRelAssociatesConstraint GlobalId="3hr6dDhTfAWgVvmNIfNN3B">
<RelatingConstraint Name="Width" ConstraintGrade="hard" BenchMark="equalto" xsi:type="IfcMetric">
<PropertiesForConstraint>
<IfcResourceConstraintRelationship>
<RelatedResourceObjects>
<IfcQuantityLength xsi:nil="true" href="i32" />
</RelatedResourceObjects>
</IfcResourceConstraintRelationship>
</PropertiesForConstraint>
<ReferencePath AttributeIdentifier="RepresentationMaps" ListPositions="1" xsi:type="IfcReference">
<InnerReference AttributeIdentifier="MappedRepresentation" xsi:type="IfcReference">
<InnerReference AttributeIdentifier="Items" ListPositions="1" xsi:type="IfcReference">
<InnerReference TypeIdentifier="IfcExtrudedAreaSolid" AttributeIdentifier="SweptArea" xsi:type="IfcReference">
<InnerReference TypeIdentifier="IfcRectangleProfileDef" AttributeIdentifier="YDim" xsi:type="IfcReference" />
</InnerReference>
</InnerReference>
</InnerReference>
</ReferencePath>
</RelatingConstraint>
</IfcRelAssociatesConstraint>
<IfcRelAssociatesConstraint GlobalId="0y1ddoImD7U9LxCKTBm4DL">
<RelatingConstraint Name="Height" ConstraintGrade="hard" BenchMark="equalto" xsi:type="IfcMetric">
<PropertiesForConstraint>
<IfcResourceConstraintRelationship>
<RelatedResourceObjects>
<IfcQuantityLength xsi:nil="true" href="i33" />
</RelatedResourceObjects>
</IfcResourceConstraintRelationship>
</PropertiesForConstraint>
<ReferencePath AttributeIdentifier="RepresentationMaps" ListPositions="1" xsi:type="IfcReference">
<InnerReference AttributeIdentifier="MappedRepresentation" xsi:type="IfcReference">
<InnerReference AttributeIdentifier="Items" ListPositions="1" xsi:type="IfcReference">
<InnerReference TypeIdentifier="IfcExtrudedAreaSolid" AttributeIdentifier="Depth" xsi:type="IfcReference" />
</InnerReference>
</InnerReference>
</ReferencePath>
</RelatingConstraint>
</IfcRelAssociatesConstraint>
</HasAssociations>
<HasPropertySets>
<IfcElementQuantity GlobalId="3ug$MP9bvCTB3m9jJaEZJL" Name="Qto_FootingBaseQuantities" Description="PadFootingParametric">
<Quantities>
<IfcQuantityLength Name="Length" LengthValue="800" id="i31" />
<IfcQuantityLength Name="Width" LengthValue="800" id="i32" />
<IfcQuantityLength Name="Height" LengthValue="300" id="i33" />
</Quantities>
</IfcElementQuantity>
</HasPropertySets>
<RepresentationMaps>
<IfcRepresentationMap>
<MappingOrigin xsi:type="IfcAxis2Placement3D" id="i5">
<Location Coordinates="0 0 0" xsi:type="IfcCartesianPoint" />
</MappingOrigin>
<MappedRepresentation RepresentationIdentifier="Body" RepresentationType="SolidModel" xsi:type="IfcShapeRepresentation">
<ContextOfItems xsi:nil="true" href="i28" />
<Items>
<IfcExtrudedAreaSolid Depth="300">
<SweptArea ProfileType="area" ProfileName="PadFootingParametric" XDim="800" YDim="800" xsi:type="IfcRectangleProfileDef" />
<Position xsi:type="IfcAxis2Placement3D">
<Location Coordinates="0 0 0" xsi:type="IfcCartesianPoint" />
</Position>
<ExtrudedDirection DirectionRatios="0 0 -1" xsi:type="IfcDirection" id="i21" />
</IfcExtrudedAreaSolid>
</Items>
</MappedRepresentation>
</IfcRepresentationMap>
</RepresentationMaps>
</RelatingProduct>
</IfcRelAssignsToProduct>
</HasAssignments>
<HasPropertySets>
<IfcElementQuantity GlobalId="3M99rnZzfCCvLv_OSqvVPS" Name="Qto_FootingBaseQuantities" Description="PadFooting800x800x300">
<Quantities>
<IfcQuantityLength Name="Length" LengthValue="800" />
<IfcQuantityLength Name="Width" LengthValue="800" />
<IfcQuantityLength Name="Height" LengthValue="300" />
</Quantities>
</IfcElementQuantity>
</HasPropertySets>
<RepresentationMaps>
<IfcRepresentationMap>
<MappingOrigin xsi:nil="true" href="i5" />
<MappedRepresentation RepresentationIdentifier="Body" RepresentationType="SolidModel" xsi:type="IfcShapeRepresentation">
<ContextOfItems xsi:nil="true" href="i28" />
<Items>
<IfcExtrudedAreaSolid Depth="300">
<SweptArea ProfileType="area" ProfileName="PadFooting800x800x300" XDim="800" YDim="800" xsi:type="IfcRectangleProfileDef" />
<Position xsi:type="IfcAxis2Placement3D">
<Location Coordinates="0 0 0" xsi:type="IfcCartesianPoint" />
</Position>
<ExtrudedDirection xsi:nil="true" href="i21" />
</IfcExtrudedAreaSolid>
</Items>
</MappedRepresentation>
</IfcRepresentationMap>
</RepresentationMaps>
</IfcFootingType>
<IfcFootingType GlobalId="2zf57xMcHEzAuH79Z_Fj4o" Name="PadFooting600x600x250">
<HasAssignments>
<IfcRelAssignsToProduct xsi:nil="true" href="i93" />
</HasAssignments>
<HasPropertySets>
<IfcElementQuantity GlobalId="3iAOn3wdP6xge3w1aHfox8" Name="Qto_FootingBaseQuantities" Description="PadFooting600x600x250">
<Quantities>
<IfcQuantityLength Name="Length" LengthValue="600" />
<IfcQuantityLength Name="Width" LengthValue="600" />
<IfcQuantityLength Name="Height" LengthValue="250" />
</Quantities>
</IfcElementQuantity>
</HasPropertySets>
<RepresentationMaps>
<IfcRepresentationMap>
<MappingOrigin xsi:nil="true" href="i5" />
<MappedRepresentation RepresentationIdentifier="Body" RepresentationType="SolidModel" xsi:type="IfcShapeRepresentation">
<ContextOfItems xsi:nil="true" href="i28" />
<Items>
<IfcExtrudedAreaSolid Depth="250">
<SweptArea ProfileType="area" ProfileName="PadFooting600x600x250" XDim="600" YDim="600" xsi:type="IfcRectangleProfileDef" />
<Position xsi:type="IfcAxis2Placement3D">
<Location Coordinates="0 0 0" xsi:type="IfcCartesianPoint" />
</Position>
<ExtrudedDirection xsi:nil="true" href="i21" />
</IfcExtrudedAreaSolid>
</Items>
</MappedRepresentation>
</IfcRepresentationMap>
</RepresentationMaps>
</IfcFootingType>
<IfcFootingType GlobalId="2RnrmxTRrB5PAEa0z5YEW9" Name="PadFooting400x400x200">
<HasAssignments>
<IfcRelAssignsToProduct xsi:nil="true" href="i93" />
</HasAssignments>
<HasPropertySets>
<IfcElementQuantity GlobalId="0czRD1EHDCmvUskzwCvjLk" Name="Qto_FootingBaseQuantities" Description="PadFooting400x400x200">
<Quantities>
<IfcQuantityLength Name="Length" LengthValue="400" />
<IfcQuantityLength Name="Width" LengthValue="400" />
<IfcQuantityLength Name="Height" LengthValue="200" />
</Quantities>
</IfcElementQuantity>
</HasPropertySets>
<RepresentationMaps>
<IfcRepresentationMap>
<MappingOrigin xsi:nil="true" href="i5" />
<MappedRepresentation RepresentationIdentifier="Body" RepresentationType="SolidModel" xsi:type="IfcShapeRepresentation">
<ContextOfItems xsi:nil="true" href="i28" />
<Items>
<IfcExtrudedAreaSolid Depth="200">
<SweptArea ProfileType="area" ProfileName="PadFooting400x400x200" XDim="400" YDim="400" xsi:type="IfcRectangleProfileDef" />
<Position xsi:type="IfcAxis2Placement3D">
<Location Coordinates="0 0 0" xsi:type="IfcCartesianPoint" />
</Position>
<ExtrudedDirection xsi:nil="true" href="i21" />
</IfcExtrudedAreaSolid>
</Items>
</MappedRepresentation>
</IfcRepresentationMap>
</RepresentationMaps>
</IfcFootingType>
</RelatedDefinitions>
</IfcRelDeclares>
</Declares>
</IfcProjectLibrary>
</ifc:ifcXML>

Просмотреть файл

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Reflection;
@ -14,6 +15,7 @@ namespace ConsoleParametricFooting
static void Main(string[] args)
{
DatabaseIfc db = new DatabaseIfc(ModelView.Ifc4NotAssigned);
db.Factory.Options.GenerateOwnerHistory = false;
IfcProjectLibrary context = new IfcProjectLibrary(db, "ObjectLibrary", IfcUnitAssignment.Length.Millimetre);
IfcFootingType parametricType = generate(db, true, 800, 800, 300);
@ -27,29 +29,32 @@ namespace ConsoleParametricFooting
DirectoryInfo di = Directory.GetParent(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
di = Directory.GetParent(di.FullName);
db.WriteFile(Path.Combine(di.FullName,"ParametricFooting.ifc"));
db.WriteFile(Path.Combine(di.FullName,"ParametricFooting.ifcxml"));
db.WriteFile(Path.Combine(di.FullName, "ParametricFooting.ifcjson"));
}
internal static IfcFootingType generate(DatabaseIfc db, bool parametric, double length, double width, double height)
{
string name = parametric ? "PadFootingParametric" : "PadFooting" + length + "x" + width + "x" + height;
IfcFootingType footingType = new IfcFootingType(db, name, IfcFootingTypeEnum.PAD_FOOTING);
IfcRectangleProfileDef rpd = new IfcRectangleProfileDef(db, name, length,width);
footingType.RepresentationMaps = new List<IfcRepresentationMap>() { new IfcRepresentationMap(new IfcExtrudedAreaSolid(rpd, new IfcAxis2Placement3D(new IfcCartesianPoint(db, 0, 0, -height)), new IfcDirection(db, 0, 0, 1), height)) };
footingType.AddRepresentationMap(new IfcRepresentationMap(new IfcExtrudedAreaSolid(rpd, new IfcAxis2Placement3D(new IfcCartesianPoint(db, 0, 0, 0)), db.Factory.ZAxisNegative, height)));
Qto_FootingBaseQuantities baseQuantities = new Qto_FootingBaseQuantities(footingType);
baseQuantities.Length = length;
baseQuantities.Width = width;
baseQuantities.Height = height;
List<IfcPhysicalQuantity> quantities = baseQuantities.Quantities;
ReadOnlyCollection<IfcPhysicalQuantity> quantities = baseQuantities.Quantities;
if (parametric)
{
string prefix = @"RepresentationMaps[1].MappedRepresentation.Items[1]\IfcExtrudedAreaSolid.";
CreateConstraint("Length", footingType, quantities[0], prefix + @"SweptArea\IfcRectangleProfileDef.XDim");
CreateConstraint("Width", footingType, quantities[1], prefix + @"SweptArea\IfcRectangleProfileDef.YDim");
CreateConstraint("Height", footingType, quantities[2], prefix + @"Depth");
IfcAppliedValue appv = new IfcAppliedValue(new IfcAppliedValue( IfcReference.ParseDescription(db, "HasPropertySets['" + baseQuantities.Name + "'].HasProperties['" +quantities[2].Name + "']")), IfcArithmeticOperatorEnum.MULTIPLY, new IfcAppliedValue(db, new IfcReal(-1)));
CreateConstraint("Offset",footingType,appv, @"Position.Location.CoordinateZ");
//IfcAppliedValue appv = new IfcAppliedValue(new IfcAppliedValue( IfcReference.ParseDescription(db, "HasPropertySets['" + baseQuantities.Name + "'].HasProperties['" +quantities[2].Name + "']")), IfcArithmeticOperatorEnum.MULTIPLY, new IfcAppliedValue(db, new IfcReal(-1)));
//CreateConstraint("Offset",footingType,appv, @"Position.Location.Coordinates[3]");
}
return footingType;
}
internal static IfcMetric CreateConstraint(string name, IfcElementType elementType, IfcResourceObjectSelect related, string referenceDesc)
{
IfcMetric metric = new IfcMetric(elementType.Database, name, IfcConstraintEnum.HARD) { ReferencePath = IfcReference.ParseDescription(elementType.Database, referenceDesc), BenchMark = IfcBenchmarkEnum.EQUALTO };

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.11.0" targetFramework="net45" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net45" />
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net45" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net45" />
</packages>

Просмотреть файл

@ -33,13 +33,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.11.0\lib\net45\GeometryGymIFC.dll</HintPath>
<Private>True</Private>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.11.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
</packages>

Просмотреть файл

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleCountStories", "consoleCountStories\ConsoleCountStories.csproj", "{84E0D08C-7B02-46AE-AF40-0DD949B2B4A1}"
EndProject
@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestModelViewDefinition", "
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleParametricFooting", "ConsoleParametricFooting\ConsoleParametricFooting.csproj", "{0819DF6D-49F7-44B4-9AB8-6C5D118230AD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleConvertToIFCJson", "ConsoleConvertToIFCJson\ConsoleConvertToIFCJson.csproj", "{36C759DD-2355-44C1-8FA9-CE270669334A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -107,6 +109,18 @@ Global
{0819DF6D-49F7-44B4-9AB8-6C5D118230AD}.Release|x64.Build.0 = Release|Any CPU
{0819DF6D-49F7-44B4-9AB8-6C5D118230AD}.Release|x86.ActiveCfg = Release|Any CPU
{0819DF6D-49F7-44B4-9AB8-6C5D118230AD}.Release|x86.Build.0 = Release|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Debug|x64.ActiveCfg = Debug|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Debug|x64.Build.0 = Debug|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Debug|x86.ActiveCfg = Debug|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Debug|x86.Build.0 = Debug|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Release|Any CPU.Build.0 = Release|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Release|x64.ActiveCfg = Release|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Release|x64.Build.0 = Release|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Release|x86.ActiveCfg = Release|Any CPU
{36C759DD-2355-44C1-8FA9-CE270669334A}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -53,10 +53,11 @@ namespace TestModelViewDefinition
IfcLocalPlacement localPlacement = buildingStorey.Placement as IfcLocalPlacement;
IfcMaterial material = new IfcMaterial(db, "TestMaterial") { Description = "TestDescription", Category = "TestCategory" };
IfcMaterialProperties materialProperties = new IfcMaterialProperties("TestMaterialProperties", material) { Properties = new List<IfcProperty>() { new IfcPropertySingleValue(db, "MassDensity", new IfcMassDensityMeasure(1)) } };
IfcSurfaceStyleShading surfaceStyleShading = new IfcSurfaceStyleShading(new IfcColourRgb(db, "Red", 1, 0, 0));
IfcMaterialProperties materialProperties = new IfcMaterialProperties("TestMaterialProperties", material);
materialProperties.AddProperty(new IfcPropertySingleValue(db, "MassDensity", new IfcMassDensityMeasure(1)));
IfcSurfaceStyleShading surfaceStyleShading = new IfcSurfaceStyleShading(new IfcColourRgb(db, 1, 0, 0) { Name = "Red" });
IfcSurfaceStyle surfaceStyle = new IfcSurfaceStyle(surfaceStyleShading,null,null,null,null);
IfcMaterialDefinitionRepresentation materialDefinitionRepresentation = new IfcMaterialDefinitionRepresentation(new List<IfcStyledRepresentation>() { new IfcStyledRepresentation(new IfcStyledItem(surfaceStyle, "TestStyledItem")) }, material);
IfcMaterialDefinitionRepresentation materialDefinitionRepresentation = new IfcMaterialDefinitionRepresentation(new IfcStyledRepresentation(new IfcStyledItem(surfaceStyle) { Name = "TestStyledItem" }), material);
IfcIndexedPolyCurve indexedPolyCurve = IPE200Curve(db);
IfcArbitraryClosedProfileDef arbitraryClosedProfileDef = new IfcArbitraryClosedProfileDef("IPE200", indexedPolyCurve);

Просмотреть файл

@ -33,13 +33,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.11.0\lib\net45\GeometryGymIFC.dll</HintPath>
<Private>True</Private>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.11.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
</packages>

Просмотреть файл

@ -33,13 +33,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.11.0\lib\net45\GeometryGymIFC.dll</HintPath>
<Private>True</Private>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.11.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
</packages>

Просмотреть файл

@ -33,13 +33,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.11.0\lib\net45\GeometryGymIFC.dll</HintPath>
<Private>True</Private>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

Просмотреть файл

@ -18,20 +18,22 @@ namespace testConsole
List<IfcFacetedBrep> breps = new List<IfcFacetedBrep>();
foreach(IfcBuildingElement element in elements)
{
List<IfcRepresentation> reps = element.Representation.Representations;
foreach (IfcRepresentation rep in reps)
IfcProductRepresentation representation = element.Representation;
if (representation != null)
{
IfcShapeRepresentation sr = rep as IfcShapeRepresentation;
if (sr != null)
foreach (IfcRepresentation rep in representation.Representations)
{
List<IfcRepresentationItem> items = sr.Items;
foreach (IfcRepresentationItem item in items)
IfcShapeRepresentation sr = rep as IfcShapeRepresentation;
if (sr != null)
{
IfcFacetedBrep fb = item as IfcFacetedBrep;
if (fb != null)
breps.Add(fb);
}
foreach (IfcRepresentationItem item in sr.Items)
{
IfcFacetedBrep fb = item as IfcFacetedBrep;
if (fb != null)
breps.Add(fb);
}
}
}
}
}

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.11.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
</packages>

Просмотреть файл

@ -33,13 +33,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="GeometryGymIFC, Version=0.0.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.11.0\lib\net45\GeometryGymIFC.dll</HintPath>
<Private>True</Private>
<Reference Include="GeometryGymIFC, Version=0.0.15.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GeometryGymIFC.0.0.15\lib\net45\GeometryGymIFC.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

Просмотреть файл

@ -53,9 +53,9 @@ namespace testConsole
IfcPropertySet pset = rdp.RelatingPropertyDefinition as IfcPropertySet;
if (pset == null)
continue;
foreach (IfcProperty property in pset.HasProperties)
foreach (System.Collections.Generic.KeyValuePair<string, IfcProperty> pair in pset.HasProperties)
{
IfcPropertySingleValue psv = property as IfcPropertySingleValue;
IfcPropertySingleValue psv = pair.Value as IfcPropertySingleValue;
if (psv == null)
continue;
if (string.Compare("Grade", psv.Name) == 0)

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="GeometryGymIFC" version="0.0.11.0" targetFramework="net46" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46" />
<package id="GeometryGymIFC" version="0.0.15" targetFramework="net46" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
</packages>