feat(file imports): adds an experimental IFC parser (#3525)
* first pass of CLI ifc converter * some updates * closer * yarn works * can execute ifc? * change exe * remove extra venv needs * invocation works * fixed dockerfile and url * refactor(fileimport): temp results path should not be hardcoded in parsers * update importer to output stuff * fix up argments * remove dead code * adjust dockerfile to have tini and workdir better * fix node to a specific version * Add shell statement and pin yarn version * add ifc converter c# to ignore * merge fix * move ifc c# * fix the api usage * update the importer to new SDK * Adds a feature flag `FF_FILEIMPORT_IFC_DOTNET_ENABLED` for enabling .Net IFC parser * move directories * put back ifc js * use FF and reversions * needs token too * fix docker? * one last copy fix * adjust prettier ignore * change to enable * fix helm chart nesting * Amend healthcheck node binary path * Add FF_FILEIMPORT_IFC_DOTNET_ENABLED to feature flag parser * Allow app to write to /.config directory * fix: volume name has to be lower case * update ifc importing --------- Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com> Co-authored-by: root <root@Clynelish>
This commit is contained in:
@@ -72,6 +72,9 @@ postgres-data/
|
||||
redis-data/
|
||||
|
||||
.tshy-build
|
||||
obj/
|
||||
bin/
|
||||
|
||||
|
||||
# Server
|
||||
multiregion.json
|
||||
|
||||
+5
-1
@@ -38,4 +38,8 @@ venv
|
||||
|
||||
storybook-static
|
||||
.tshy
|
||||
.tshy-build
|
||||
.tshy-build
|
||||
|
||||
packages/fileimport-service/ifc-dotnet/
|
||||
packages/fileimport-service/stl/
|
||||
packages/fileimport-service/obj/
|
||||
@@ -1,97 +1,75 @@
|
||||
ARG NODE_ENV=production
|
||||
|
||||
FROM node:18-bookworm-slim@sha256:408f8cbbb7b33a5bb94bdb8862795a94d2b64c2d516856824fd86c4a5594a443 as build-stage
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0-noble AS dotnet-build-stage
|
||||
WORKDIR /app
|
||||
COPY packages/fileimport-service/ifc-dotnet .
|
||||
RUN dotnet publish ifc-converter.csproj -c Release -o output/
|
||||
|
||||
ARG NODE_ENV
|
||||
ENV NODE_ENV=${NODE_ENV}
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/runtime:8.0-noble AS runtime
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
WORKDIR /speckle-server
|
||||
|
||||
# install tini
|
||||
ARG TINI_VERSION=v0.19.0
|
||||
ENV TINI_VERSION=${TINI_VERSION}
|
||||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini ./tini
|
||||
RUN chmod +x ./tini
|
||||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
|
||||
RUN chmod +x /usr/bin/tini
|
||||
|
||||
# install wait
|
||||
ARG WAIT_VERSION=2.8.0
|
||||
ENV WAIT_VERSION=${WAIT_VERSION}
|
||||
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/${WAIT_VERSION}/wait ./wait
|
||||
RUN chmod +x ./wait
|
||||
RUN apt-get update -y \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
--no-install-recommends \
|
||||
curl=8.5.0-2ubuntu10.5 \
|
||||
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
--no-install-recommends \
|
||||
nodejs=18.20.5-1nodesource1 \
|
||||
&& npm install -g corepack@0.30.0 \
|
||||
&& corepack enable \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get remove curl -y \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# download yarn dependencies for building shared libraries
|
||||
COPY .yarnrc.yml .
|
||||
COPY .yarn ./.yarn
|
||||
COPY package.json yarn.lock ./
|
||||
|
||||
COPY packages/frontend-2/type-augmentations/stubs ./packages/frontend-2/type-augmentations/stubs/
|
||||
COPY packages/shared/package.json ./packages/shared/
|
||||
COPY packages/fileimport-service/package.json ./packages/fileimport-service/
|
||||
COPY packages/frontend-2/type-augmentations/stubs packages/frontend-2/type-augmentations/stubs/
|
||||
COPY packages/shared/package.json packages/shared/
|
||||
COPY packages/fileimport-service/package.json packages/fileimport-service/
|
||||
|
||||
RUN yarn workspaces focus --all
|
||||
|
||||
# build shared libraries
|
||||
COPY packages/shared ./packages/shared/
|
||||
COPY packages/fileimport-service ./packages/fileimport-service/
|
||||
COPY packages/shared packages/shared/
|
||||
COPY packages/fileimport-service packages/fileimport-service/
|
||||
RUN yarn workspaces foreach -W run build
|
||||
|
||||
# Install python virtual env and python dependencies
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
--no-install-recommends \
|
||||
python3-venv=3.11.2-1+b1 \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& python3 -m venv /venv
|
||||
RUN apt-get update -y \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
--no-install-recommends \
|
||||
python3.12=3.12.3-1ubuntu0.3 \
|
||||
python3-pip=24.0+dfsg-1ubuntu1.1 \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY packages/fileimport-service/requirements.txt /speckle-server/
|
||||
RUN /venv/bin/pip install --disable-pip-version-check --no-cache-dir --requirement /speckle-server/requirements.txt
|
||||
|
||||
FROM node:18-bookworm-slim@sha256:408f8cbbb7b33a5bb94bdb8862795a94d2b64c2d516856824fd86c4a5594a443 as dependency-stage
|
||||
# installing just the production dependencies
|
||||
# separate stage to avoid including development dependencies
|
||||
ARG NODE_ENV
|
||||
ENV NODE_ENV=${NODE_ENV}
|
||||
|
||||
WORKDIR /speckle-server
|
||||
COPY .yarnrc.yml .
|
||||
COPY .yarn ./.yarn
|
||||
COPY package.json yarn.lock ./
|
||||
|
||||
COPY packages/frontend-2/type-augmentations/stubs ./packages/frontend-2/type-augmentations/stubs/
|
||||
COPY packages/shared/package.json ./packages/shared/
|
||||
COPY packages/fileimport-service/package.json ./packages/fileimport-service/
|
||||
|
||||
WORKDIR /speckle-server/packages/fileimport-service
|
||||
RUN yarn workspaces focus --production
|
||||
|
||||
FROM gcr.io/distroless/python3-debian12:nonroot@sha256:14c62b8925d3bb30319de2f346bde203fe18103a68898284a62db9d4aa54c794 as python-image
|
||||
|
||||
FROM gcr.io/distroless/nodejs18-debian12:nonroot@sha256:afdea027580f7afcaf1f316b2b3806690c297cb3ce6ddc5cf6a15804dc1c790f as distributable-stage
|
||||
RUN pip install --break-system-packages --disable-pip-version-check --no-cache-dir --requirement /speckle-server/requirements.txt
|
||||
|
||||
ARG NODE_ENV
|
||||
ENV NODE_ENV=${NODE_ENV}
|
||||
ARG NODE_BINARY_PATH=/nodejs/bin/node
|
||||
ARG NODE_BINARY_PATH=/usr/bin/node
|
||||
ENV NODE_BINARY_PATH=${NODE_BINARY_PATH}
|
||||
ARG PYTHON_BINARY_PATH=/venv/bin/python3
|
||||
ARG PYTHON_BINARY_PATH=/usr/bin/python3
|
||||
ENV PYTHON_BINARY_PATH=${PYTHON_BINARY_PATH}
|
||||
ARG DOTNET_BINARY_PATH=/usr/bin/dotnet
|
||||
ENV DOTNET_BINARY_PATH=${DOTNET_BINARY_PATH}
|
||||
|
||||
WORKDIR /speckle-server
|
||||
|
||||
COPY --from=python-image / /
|
||||
COPY --from=build-stage /speckle-server/tini /usr/bin/tini
|
||||
COPY --from=build-stage /speckle-server/wait /usr/bin/wait
|
||||
COPY --from=build-stage /speckle-server/packages/shared ./packages/shared
|
||||
COPY --from=build-stage /speckle-server/packages/fileimport-service ./packages/fileimport-service
|
||||
COPY --from=build-stage /venv /venv
|
||||
COPY --from=dependency-stage /speckle-server/node_modules ./node_modules
|
||||
COPY --from=dotnet-build-stage /app/output packages/fileimport-service/ifc-dotnet
|
||||
|
||||
WORKDIR /speckle-server/packages/fileimport-service
|
||||
|
||||
# Prefixing PATH with our virtual environment should seek required binaries
|
||||
# from virtual environment first.
|
||||
# Unsetting python home
|
||||
ENV PATH=/venv/bin:${PATH} \
|
||||
PYTHONHOME=
|
||||
|
||||
ENTRYPOINT [ "tini", "--", "/nodejs/bin/node", "--no-experimental-fetch", "src/daemon.js"]
|
||||
ENTRYPOINT [ "tini", "--", "node", "--no-experimental-fetch", "src/daemon.js"]
|
||||
|
||||
@@ -5,6 +5,9 @@ import { baseConfigs, globals } from '../../eslint.config.mjs'
|
||||
*/
|
||||
const configs = [
|
||||
...baseConfigs,
|
||||
{
|
||||
ignores: ['**/ifc/**', '**/obj/**', '**/stl/**']
|
||||
},
|
||||
{
|
||||
languageOptions: {
|
||||
globals: {
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"csharpier": {
|
||||
"version": "0.30.1",
|
||||
"commands": [
|
||||
"dotnet-csharpier"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using Speckle.Sdk.Transports;
|
||||
|
||||
namespace Speckle.Converter;
|
||||
|
||||
public class ConsoleProgress : IProgress<ProgressArgs>
|
||||
{
|
||||
private readonly TimeSpan DEBOUNCE = TimeSpan.FromSeconds(1);
|
||||
private DateTime _lastTime = DateTime.UtcNow;
|
||||
|
||||
private long _totalBytes;
|
||||
|
||||
public void Report(ProgressArgs value)
|
||||
{
|
||||
if (value.ProgressEvent == ProgressEvent.DownloadBytes)
|
||||
{
|
||||
Interlocked.Add(ref _totalBytes, value.Count);
|
||||
}
|
||||
var now = DateTime.UtcNow;
|
||||
if (now - _lastTime >= DEBOUNCE)
|
||||
{
|
||||
if (value.ProgressEvent == ProgressEvent.DownloadBytes)
|
||||
{
|
||||
Console.WriteLine(value.ProgressEvent + " t " + _totalBytes);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine(value.ProgressEvent + " c " + value.Count + " t " + value.Total);
|
||||
}
|
||||
|
||||
_lastTime = now;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using System.CommandLine;
|
||||
using System.Text.Json;
|
||||
using Speckle.Sdk.Common;
|
||||
using Speckle.WebIfc.Importer;
|
||||
|
||||
var filePathArgument = new Argument<string>(name: "filePath");
|
||||
var outputPathArgument = new Argument<string>("outputPath");
|
||||
var streamIdArgument = new Argument<string>("streamId");
|
||||
var commitMessageArgument = new Argument<string>("commitMessage");
|
||||
var modelIdArgument = new Argument<string>("modelId");
|
||||
var regionNameArgument = new Argument<string>("regionName");
|
||||
|
||||
var rootCommand = new RootCommand
|
||||
{
|
||||
filePathArgument,
|
||||
outputPathArgument,
|
||||
streamIdArgument,
|
||||
commitMessageArgument,
|
||||
modelIdArgument,
|
||||
regionNameArgument,
|
||||
};
|
||||
rootCommand.SetHandler(
|
||||
async (filePath, outputPath, streamId, commitMessage, modelId, _) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
var token = Environment.GetEnvironmentVariable("USER_TOKEN").NotNull("USER_TOKEN is missing");
|
||||
var url = Environment.GetEnvironmentVariable("SPECKLE_SERVER_URL") ?? "http://127.0.0.1:3000";
|
||||
var commitId = await Import.Ifc(url, filePath, streamId, modelId, commitMessage, token);
|
||||
File.WriteAllText(outputPath, JsonSerializer.Serialize(new { success = true, commitId }));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
File.WriteAllText(
|
||||
outputPath,
|
||||
JsonSerializer.Serialize(new { success = false, error = e.ToString() })
|
||||
);
|
||||
}
|
||||
},
|
||||
filePathArgument,
|
||||
outputPathArgument,
|
||||
streamIdArgument,
|
||||
commitMessageArgument,
|
||||
modelIdArgument,
|
||||
regionNameArgument
|
||||
);
|
||||
await rootCommand.InvokeAsync(args);
|
||||
@@ -0,0 +1,17 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RootNamespace>Speckle.Converter</RootNamespace>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
|
||||
<PackageReference Include="Speckle.WebIfc.Importer" Version="0.0.5" />
|
||||
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ifc-converter", "ifc-converter.csproj", "{4D63FBD3-8ABF-4F51-A08F-740B17BDCA28}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4D63FBD3-8ABF-4F51-A08F-740B17BDCA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4D63FBD3-8ABF-4F51-A08F-740B17BDCA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4D63FBD3-8ABF-4F51-A08F-740B17BDCA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4D63FBD3-8ABF-4F51-A08F-740B17BDCA28}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
+10475
-10475
File diff suppressed because it is too large
Load Diff
+2890
-2890
File diff suppressed because it is too large
Load Diff
+49675
-49675
File diff suppressed because it is too large
Load Diff
+52264
-52264
File diff suppressed because it is too large
Load Diff
+52264
-52264
File diff suppressed because it is too large
Load Diff
+647
-647
File diff suppressed because it is too large
Load Diff
+2890
-2890
File diff suppressed because it is too large
Load Diff
+421
-421
@@ -1,421 +1,421 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('IFC2X3.exp'),'2;1');
|
||||
FILE_NAME('C:\\TeklaStructuresModels\\Acis_Sat\\plate_steel_example-tek_1fix.ifc','2006-05-12T10:07:38',('Steel2 macro version:12.0 Build:179423,2.5.2006'),('Structural Designer'),'EXPRESS Data Manager version:20040806','Tekla Structures 12.0','');
|
||||
FILE_SCHEMA(('IFC2X3'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#1= IFCPERSON('TEKLAAD/lli','Undefined',$,$,$,$,$,$);
|
||||
#3= IFCORGANIZATION($,'Tekla Corporation',$,$,$);
|
||||
#7= IFCPERSONANDORGANIZATION(#1,#3,$);
|
||||
#8= IFCAPPLICATION(#3,'12.0','Tekla Structures','Multi material modeling');
|
||||
#9= IFCOWNERHISTORY(#7,#8,$,.ADDED.,$,$,$,1147417657);
|
||||
#10= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
|
||||
#11= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
|
||||
#12= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
|
||||
#13= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
|
||||
#14= IFCSIUNIT(*,.SOLIDANGLEUNIT.,$,.STERADIAN.);
|
||||
#15= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
|
||||
#16= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
|
||||
#17= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
|
||||
#18= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.LUMEN.);
|
||||
#19= IFCUNITASSIGNMENT((#10,#11,#12,#13,#14,#15,#16,#17,#18));
|
||||
#21= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#25= IFCDIRECTION((1.,0.,0.));
|
||||
#29= IFCDIRECTION((0.,1.,0.));
|
||||
#33= IFCDIRECTION((0.,0.,1.));
|
||||
#37= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#40= IFCGEOMETRICREPRESENTATIONCONTEXT('Plan','Design',3,1.0000000E-5,#37,$);
|
||||
#43= IFCGEOMETRICREPRESENTATIONCONTEXT('Plan','Sketch',3,1.0000000E-5,#37,$);
|
||||
#46= IFCPROJECT('2gPUQOiNz2FR1H6lWQ8j0k',#9,'PROJ: NAME','Description','Object type','LongName','Phase',(#40,#43),#19);
|
||||
#53= IFCMATERIAL('A36');
|
||||
#56= IFCMATERIAL('A992');
|
||||
#59= IFCMATERIAL('A500-GR.B');
|
||||
#62= IFCPERSON('TEKLAAD/chke','Undefined',$,$,$,$,$,$);
|
||||
#64= IFCPERSONANDORGANIZATION(#62,#3,$);
|
||||
#65= IFCOWNERHISTORY(#64,#8,$,.ADDED.,$,$,$,1147417657);
|
||||
#66= IFCSITE('1_WapmNXfFdOqQ3garaDJn',#65,'Undefined',$,$,$,$,$,.ELEMENT.,$,$,$,$,$);
|
||||
#76= IFCRELAGGREGATES('36yaCMhuT2DxfpF3ieGira',#65,$,$,#46,(#66));
|
||||
#78= IFCBUILDING('2iHnVT4$n9JQE18R_2cJEI',#65,'Undefined',$,$,$,$,$,.ELEMENT.,$,$,$);
|
||||
#88= IFCRELAGGREGATES('0A543zcq1Fdv_lsrHHX8Kv',#65,$,$,#66,(#78));
|
||||
#90= IFCBUILDINGSTOREY('0UguZM0$L8L9OUA114_ZEd',#65,'Undefined',$,$,$,$,$,.ELEMENT.,$);
|
||||
#100= IFCRELAGGREGATES('09$Ux3Y999qBeEKV8wCsfA',#65,$,$,#78,(#90));
|
||||
#102= IFCPOLYLINE((#106,#111,#115,#119,#123,#127,#131));
|
||||
#106= IFCCARTESIANPOINT((0.,318.8494));
|
||||
#111= IFCCARTESIANPOINT((95.250002,318.8494));
|
||||
#115= IFCCARTESIANPOINT((120.65,293.4494));
|
||||
#119= IFCCARTESIANPOINT((120.65,25.4));
|
||||
#123= IFCCARTESIANPOINT((95.250002,0.));
|
||||
#127= IFCCARTESIANPOINT((0.,0.));
|
||||
#131= IFCCARTESIANPOINT((0.,318.8494));
|
||||
#135= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL19.1',#102);
|
||||
#136= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#139= IFCEXTRUDEDAREASOLID(#135,#136,#33,19.1);
|
||||
#142= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#146= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#139));
|
||||
#152= IFCPRODUCTDEFINITIONSHAPE($,$,(#146));
|
||||
#156= IFCCARTESIANPOINT((5240.3064,7493.,-337.7327));
|
||||
#160= IFCDIRECTION((1.,0.,0.));
|
||||
#164= IFCDIRECTION((0.,1.,0.));
|
||||
#168= IFCAXIS2PLACEMENT3D(#156,#160,#164);
|
||||
#171= IFCLOCALPLACEMENT($,#168);
|
||||
#174= IFCPLATE('13c6Dt0003iJ4nCpGmDZ4q',#65,'PLATE','PL19.1',$,#171,#152,$);
|
||||
#193= IFCRELCONTAINEDINSPATIALSTRUCTURE('0119IaMyb8cxCzo7l7Qnbw',#65,$,$,(#174,#268,#350,#434,#521,#633,#720,#808,#895,#982,#1078,#1193,#1385,#1473),#90);
|
||||
#195= IFCSTRUCTURALPROFILEPROPERTIES('PL19.1',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#196= IFCPOLYLINE((#200,#204,#208,#212,#216,#220,#224));
|
||||
#200= IFCCARTESIANPOINT((0.,293.4494));
|
||||
#204= IFCCARTESIANPOINT((25.4,318.8494));
|
||||
#208= IFCCARTESIANPOINT((120.65,318.8494));
|
||||
#212= IFCCARTESIANPOINT((120.65,0.));
|
||||
#216= IFCCARTESIANPOINT((25.4,0.));
|
||||
#220= IFCCARTESIANPOINT((0.,25.4));
|
||||
#224= IFCCARTESIANPOINT((0.,293.4494));
|
||||
#228= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL19.1',#196);
|
||||
#229= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#232= IFCEXTRUDEDAREASOLID(#228,#229,#33,19.1);
|
||||
#235= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#240= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#232));
|
||||
#246= IFCPRODUCTDEFINITIONSHAPE($,$,(#240));
|
||||
#250= IFCCARTESIANPOINT((5240.3064,7626.35,-337.7327));
|
||||
#254= IFCDIRECTION((1.,0.,0.));
|
||||
#258= IFCDIRECTION((0.,1.,0.));
|
||||
#262= IFCAXIS2PLACEMENT3D(#250,#254,#258);
|
||||
#265= IFCLOCALPLACEMENT($,#262);
|
||||
#268= IFCPLATE('13c6Dt0003gZ4nCpGmDZ4q',#65,'PLATE','PL19.1',$,#265,#246,$);
|
||||
#287= IFCPOLYLINE((#291,#295,#299,#303,#307));
|
||||
#291= IFCCARTESIANPOINT((0.,0.));
|
||||
#295= IFCCARTESIANPOINT((0.,318.45248));
|
||||
#299= IFCCARTESIANPOINT((99.695007,318.45248));
|
||||
#303= IFCCARTESIANPOINT((99.695007,0.));
|
||||
#307= IFCCARTESIANPOINT((0.,0.));
|
||||
#311= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL9.5',#287);
|
||||
#312= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#315= IFCEXTRUDEDAREASOLID(#311,#312,#33,9.5);
|
||||
#318= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#322= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#315));
|
||||
#328= IFCPRODUCTDEFINITIONSHAPE($,$,(#322));
|
||||
#332= IFCCARTESIANPOINT((4411.98,7492.5555,-342.9125));
|
||||
#336= IFCDIRECTION((0.,0.,-1.));
|
||||
#340= IFCDIRECTION((0.,1.,0.));
|
||||
#344= IFCAXIS2PLACEMENT3D(#332,#336,#340);
|
||||
#347= IFCLOCALPLACEMENT($,#344);
|
||||
#350= IFCPLATE('13c6Dt0002ip4nCpGmDZ4o',#65,'PLATE','PL9.5',$,#347,#328,$);
|
||||
#370= IFCSTRUCTURALPROFILEPROPERTIES('PL9.5',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#371= IFCPOLYLINE((#375,#379,#383,#387,#391));
|
||||
#375= IFCCARTESIANPOINT((0.,0.));
|
||||
#379= IFCCARTESIANPOINT((0.,318.45248));
|
||||
#383= IFCCARTESIANPOINT((99.695007,318.45248));
|
||||
#387= IFCCARTESIANPOINT((99.695007,0.));
|
||||
#391= IFCCARTESIANPOINT((0.,0.));
|
||||
#395= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL9.5',#371);
|
||||
#396= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#399= IFCEXTRUDEDAREASOLID(#395,#396,#33,9.5);
|
||||
#402= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#406= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#399));
|
||||
#412= IFCPRODUCTDEFINITIONSHAPE($,$,(#406));
|
||||
#416= IFCCARTESIANPOINT((4411.98,7492.5555,-28.5875));
|
||||
#420= IFCDIRECTION((0.,0.,-1.));
|
||||
#424= IFCDIRECTION((0.,1.,0.));
|
||||
#428= IFCAXIS2PLACEMENT3D(#416,#420,#424);
|
||||
#431= IFCLOCALPLACEMENT($,#428);
|
||||
#434= IFCPLATE('13c6Dt0002hp4nCpGmDZ4o',#65,'PLATE','PL9.5',$,#431,#412,$);
|
||||
#453= IFCCARTESIANPOINT((0.,0.));
|
||||
#457= IFCDIRECTION((1.,0.));
|
||||
#461= IFCAXIS2PLACEMENT2D(#453,#457);
|
||||
#464= IFCRECTANGLEPROFILEDEF(.AREA.,$,#461,9.5,234.9);
|
||||
#465= IFCDIRECTION((0.,0.,-1.));
|
||||
#469= IFCDIRECTION((-1.,0.,0.));
|
||||
#473= IFCAXIS2PLACEMENT3D(#21,#469,#33);
|
||||
#476= IFCEXTRUDEDAREASOLID(#464,#473,#465,304.8);
|
||||
#479= IFCCARTESIANPOINT((0.,-117.45,-4.75));
|
||||
#483= IFCBOUNDINGBOX(#479,304.8,234.9,9.5);
|
||||
#486= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#476));
|
||||
#492= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#483));
|
||||
#499= IFCPRODUCTDEFINITIONSHAPE($,$,(#486,#492));
|
||||
#503= IFCCARTESIANPOINT((4581.8225,7496.2,-342.9));
|
||||
#507= IFCDIRECTION((-1.,0.,0.));
|
||||
#511= IFCDIRECTION((0.,0.,1.));
|
||||
#515= IFCAXIS2PLACEMENT3D(#503,#507,#511);
|
||||
#518= IFCLOCALPLACEMENT($,#515);
|
||||
#521= IFCCOLUMN('13c6Dt0002c34nCpGmDZ4o',#65,'PLATE','PL9.5X234.9',$,#518,#499,$);
|
||||
#540= IFCSTRUCTURALPROFILEPROPERTIES('PL9.5X234.9',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#541= IFCCARTESIANPOINT((0.,0.));
|
||||
#545= IFCDIRECTION((1.,0.));
|
||||
#549= IFCAXIS2PLACEMENT2D(#541,#545);
|
||||
#552= IFCISHAPEPROFILEDEF(.AREA.,$,#549,177.41901,402.84399,9.5249996,10.922,17.653);
|
||||
#553= IFCDIRECTION((0.,0.,-1.));
|
||||
#557= IFCDIRECTION((-1.,0.,0.));
|
||||
#561= IFCAXIS2PLACEMENT3D(#21,#557,#33);
|
||||
#564= IFCEXTRUDEDAREASOLID(#552,#561,#553,2278.7992);
|
||||
#567= IFCCARTESIANPOINT((0.,-201.422,-88.709503));
|
||||
#571= IFCBOUNDINGBOX(#567,778.79918,402.84399,177.41901);
|
||||
#574= IFCCARTESIANPOINT((778.79918,301.422,0.));
|
||||
#578= IFCDIRECTION((1.,0.,0.));
|
||||
#582= IFCDIRECTION((0.,0.,-1.));
|
||||
#586= IFCAXIS2PLACEMENT3D(#574,#578,#582);
|
||||
#589= IFCPLANE(#586);
|
||||
#592= IFCHALFSPACESOLID(#589,.F.);
|
||||
#595= IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#564,#592);
|
||||
#598= IFCSHAPEREPRESENTATION(#40,'Body','Clipping',(#595));
|
||||
#604= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#571));
|
||||
#610= IFCPRODUCTDEFINITIONSHAPE($,$,(#598,#604));
|
||||
#614= IFCCARTESIANPOINT((4572.,6688.3563,-201.422));
|
||||
#618= IFCDIRECTION((1.,0.,0.));
|
||||
#623= IFCDIRECTION((0.,1.,0.));
|
||||
#627= IFCAXIS2PLACEMENT3D(#614,#618,#623);
|
||||
#630= IFCLOCALPLACEMENT($,#627);
|
||||
#633= IFCBEAM('13c6Dt0001iZ4nCpGmDZ0v',#65,'BEAM','W16X36',$,#630,#610,$);
|
||||
#652= IFCSTRUCTURALPROFILEPROPERTIES('W16X36',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#653= IFCCARTESIANPOINT((0.,0.));
|
||||
#657= IFCDIRECTION((1.,0.));
|
||||
#661= IFCAXIS2PLACEMENT2D(#653,#657);
|
||||
#664= IFCLSHAPEPROFILEDEF(.AREA.,$,#661,101.6,88.900002,9.5249996,9.525,$,$,$,$);
|
||||
#665= IFCDIRECTION((0.,0.,-1.));
|
||||
#669= IFCDIRECTION((-1.,0.,0.));
|
||||
#673= IFCAXIS2PLACEMENT3D(#21,#669,#33);
|
||||
#676= IFCEXTRUDEDAREASOLID(#664,#673,#665,254.);
|
||||
#679= IFCCARTESIANPOINT((0.,-50.799999,-44.450001));
|
||||
#683= IFCBOUNDINGBOX(#679,254.,101.6,88.900002);
|
||||
#686= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#676));
|
||||
#692= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#683));
|
||||
#698= IFCPRODUCTDEFINITIONSHAPE($,$,(#686,#692));
|
||||
#702= IFCCARTESIANPOINT((4794.758,7562.85,-298.45));
|
||||
#706= IFCDIRECTION((1.,0.,0.));
|
||||
#710= IFCDIRECTION((0.,0.,1.));
|
||||
#714= IFCAXIS2PLACEMENT3D(#702,#706,#710);
|
||||
#717= IFCLOCALPLACEMENT($,#714);
|
||||
#720= IFCCOLUMN('13c6Dt0001GZ4nCpGmDZ0u',#65,'ANGLE','L4X3-1/2X3/8',$,#717,#698,$);
|
||||
#739= IFCSTRUCTURALPROFILEPROPERTIES('L4X3-1/2X3/8',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#740= IFCCARTESIANPOINT((0.,0.));
|
||||
#744= IFCDIRECTION((1.,0.));
|
||||
#748= IFCAXIS2PLACEMENT2D(#740,#744);
|
||||
#752= IFCLSHAPEPROFILEDEF(.AREA.,$,#748,101.6,88.900002,9.5249996,9.525,$,$,$,$);
|
||||
#753= IFCDIRECTION((0.,0.,-1.));
|
||||
#757= IFCDIRECTION((-1.,0.,0.));
|
||||
#761= IFCAXIS2PLACEMENT3D(#21,#757,#33);
|
||||
#764= IFCEXTRUDEDAREASOLID(#752,#761,#753,254.);
|
||||
#767= IFCCARTESIANPOINT((0.,-50.799999,-44.450001));
|
||||
#771= IFCBOUNDINGBOX(#767,254.,101.6,88.900002);
|
||||
#774= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#764));
|
||||
#780= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#771));
|
||||
#786= IFCPRODUCTDEFINITIONSHAPE($,$,(#774,#780));
|
||||
#790= IFCCARTESIANPOINT((4794.758,7677.15,-44.45));
|
||||
#794= IFCDIRECTION((1.,0.,0.));
|
||||
#798= IFCDIRECTION((0.,0.,-1.));
|
||||
#802= IFCAXIS2PLACEMENT3D(#790,#794,#798);
|
||||
#805= IFCLOCALPLACEMENT($,#802);
|
||||
#808= IFCBEAM('13c6Dt0001FZ4nCpGmDZ0u',#65,'ANGLE','L4X3-1/2X3/8',$,#805,#786,$);
|
||||
#827= IFCCARTESIANPOINT((0.,0.));
|
||||
#831= IFCDIRECTION((1.,0.));
|
||||
#835= IFCAXIS2PLACEMENT2D(#827,#831);
|
||||
#838= IFCLSHAPEPROFILEDEF(.AREA.,$,#835,101.6,101.60025,9.5249996,9.525,$,$,$,$);
|
||||
#839= IFCDIRECTION((0.,0.,-1.));
|
||||
#843= IFCDIRECTION((-1.,0.,0.));
|
||||
#847= IFCAXIS2PLACEMENT3D(#21,#843,#33);
|
||||
#850= IFCEXTRUDEDAREASOLID(#838,#847,#839,292.1);
|
||||
#853= IFCCARTESIANPOINT((0.,-50.799999,-50.800125));
|
||||
#857= IFCBOUNDINGBOX(#853,292.1,101.6,101.60025);
|
||||
#860= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#850));
|
||||
#866= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#857));
|
||||
#872= IFCPRODUCTDEFINITIONSHAPE($,$,(#860,#866));
|
||||
#876= IFCCARTESIANPOINT((4915.409,7564.4494,50.799999));
|
||||
#881= IFCDIRECTION((0.,-1.,0.));
|
||||
#885= IFCDIRECTION((1.,0.,0.));
|
||||
#889= IFCAXIS2PLACEMENT3D(#876,#881,#885);
|
||||
#892= IFCLOCALPLACEMENT($,#889);
|
||||
#895= IFCBEAM('13c6Dt0000F34nCpGmDZ0s',#65,'BEAM','L4X4X3/8',$,#892,#872,$);
|
||||
#914= IFCSTRUCTURALPROFILEPROPERTIES('L4X4X3/8',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#915= IFCCARTESIANPOINT((0.,0.));
|
||||
#919= IFCDIRECTION((1.,0.));
|
||||
#923= IFCAXIS2PLACEMENT2D(#915,#919);
|
||||
#926= IFCLSHAPEPROFILEDEF(.AREA.,$,#923,101.6,101.60025,9.5249996,9.525,$,$,$,$);
|
||||
#927= IFCDIRECTION((0.,0.,-1.));
|
||||
#931= IFCDIRECTION((-1.,0.,0.));
|
||||
#935= IFCAXIS2PLACEMENT3D(#21,#931,#33);
|
||||
#938= IFCEXTRUDEDAREASOLID(#926,#935,#927,330.2);
|
||||
#941= IFCCARTESIANPOINT((0.,-50.799999,-50.800125));
|
||||
#945= IFCBOUNDINGBOX(#941,330.2,101.6,101.60025);
|
||||
#948= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#938));
|
||||
#954= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#945));
|
||||
#960= IFCPRODUCTDEFINITIONSHAPE($,$,(#948,#954));
|
||||
#964= IFCCARTESIANPOINT((4801.108,7564.4494,495.301));
|
||||
#968= IFCDIRECTION((0.,-1.,0.));
|
||||
#972= IFCDIRECTION((0.,0.,-1.));
|
||||
#976= IFCAXIS2PLACEMENT3D(#964,#968,#972);
|
||||
#979= IFCLOCALPLACEMENT($,#976);
|
||||
#982= IFCBEAM('13c6Dt00006J4nCpGmDZ0s',#65,'BEAM','L4X4X3/8',$,#979,#960,$);
|
||||
#1001= IFCPOLYLINE((#1006,#1010,#1014,#1018,#1022,#1026));
|
||||
#1006= IFCCARTESIANPOINT((0.,0.));
|
||||
#1010= IFCCARTESIANPOINT((-0.001,486.84845));
|
||||
#1014= IFCCARTESIANPOINT((369.07135,486.84845));
|
||||
#1018= IFCCARTESIANPOINT((512.75543,343.16437));
|
||||
#1022= IFCCARTESIANPOINT((512.75543,0.));
|
||||
#1026= IFCCARTESIANPOINT((0.,0.));
|
||||
#1030= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL9.5',#1001);
|
||||
#1031= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#1034= IFCEXTRUDEDAREASOLID(#1030,#1031,#33,9.5);
|
||||
#1037= IFCCARTESIANPOINT((-0.0010532137,0.,-4.75));
|
||||
#1041= IFCBOUNDINGBOX(#1037,486.8495,512.75614,9.5);
|
||||
#1044= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1034));
|
||||
#1050= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1041));
|
||||
#1056= IFCPRODUCTDEFINITIONSHAPE($,$,(#1044,#1050));
|
||||
#1060= IFCCARTESIANPOINT((4763.008,7615.262,12.701));
|
||||
#1064= IFCDIRECTION((0.,1.,0.));
|
||||
#1068= IFCDIRECTION((0.,0.,1.));
|
||||
#1072= IFCAXIS2PLACEMENT3D(#1060,#1064,#1068);
|
||||
#1075= IFCLOCALPLACEMENT($,#1072);
|
||||
#1078= IFCPLATE('13c6Dt00005J4nCpGmDZ0s',#65,'PLATE','PL9.5',$,#1075,#1056,$);
|
||||
#1097= IFCCARTESIANPOINT((0.,0.));
|
||||
#1101= IFCDIRECTION((1.,0.));
|
||||
#1105= IFCAXIS2PLACEMENT2D(#1097,#1101);
|
||||
#1108= IFCRECTANGLEHOLLOWPROFILEDEF(.AREA.,$,#1105,152.39999,152.39999,9.5249996,9.5250004,19.05);
|
||||
#1109= IFCDIRECTION((0.,0.,-1.));
|
||||
#1113= IFCDIRECTION((-1.,0.,0.));
|
||||
#1117= IFCAXIS2PLACEMENT3D(#1130,#1113,#33);
|
||||
#1120= IFCEXTRUDEDAREASOLID(#1108,#1117,#1109,2177.4228);
|
||||
#1123= IFCCARTESIANPOINT((-1.2141754E-10,-76.199997,-76.199997));
|
||||
#1127= IFCBOUNDINGBOX(#1123,677.4228,152.39999,152.39999);
|
||||
#1130= IFCCARTESIANPOINT((-1500.,0.,0.));
|
||||
#1135= IFCCARTESIANPOINT((-1.0913936E-10,-9.0949470E-12,4.7379999));
|
||||
#1139= IFCDIRECTION((-1.,-1.6052583E-13,0.));
|
||||
#1143= IFCDIRECTION((-1.6052583E-13,1.,0.));
|
||||
#1147= IFCAXIS2PLACEMENT3D(#1135,#1139,#1143);
|
||||
#1150= IFCPLANE(#1147);
|
||||
#1153= IFCHALFSPACESOLID(#1150,.F.);
|
||||
#1156= IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#1120,#1153);
|
||||
#1159= IFCSHAPEREPRESENTATION(#40,'Body','Clipping',(#1156));
|
||||
#1165= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1127));
|
||||
#1171= IFCPRODUCTDEFINITIONSHAPE($,$,(#1159,#1165));
|
||||
#1175= IFCCARTESIANPOINT((5007.3895,7620.,282.98953));
|
||||
#1179= IFCDIRECTION((0.,-1.,0.));
|
||||
#1183= IFCDIRECTION((0.70710678,0.,0.70710678));
|
||||
#1187= IFCAXIS2PLACEMENT3D(#1175,#1179,#1183);
|
||||
#1190= IFCLOCALPLACEMENT($,#1187);
|
||||
#1193= IFCBEAM('13c6Dt00003p4nCpGmDZ0r',#65,'BRACE','TS6X6X3/8',$,#1190,#1171,$);
|
||||
#1212= IFCCARTESIANPOINT((5153.6546,7620.012,307.34937));
|
||||
#1216= IFCDIRECTION((0.,-1.,0.));
|
||||
#1220= IFCDIRECTION((-0.70710678,0.,0.70710678));
|
||||
#1224= IFCAXIS2PLACEMENT3D(#1212,#1216,#1220);
|
||||
#1227= IFCLOCALPLACEMENT($,#1224);
|
||||
#1230= IFCCARTESIANPOINT((0.,0.));
|
||||
#1234= IFCDIRECTION((1.,0.));
|
||||
#1238= IFCAXIS2PLACEMENT2D(#1230,#1234);
|
||||
#1241= IFCRECTANGLEPROFILEDEF(.AREA.,$,#1238,9.5,266.7);
|
||||
#1242= IFCDIRECTION((0.,0.,-1.));
|
||||
#1246= IFCDIRECTION((-1.,0.,0.));
|
||||
#1250= IFCAXIS2PLACEMENT3D(#21,#1246,#33);
|
||||
#1253= IFCEXTRUDEDAREASOLID(#1241,#1250,#1242,172.39997);
|
||||
#1256= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1253));
|
||||
#1263= IFCPRODUCTDEFINITIONSHAPE($,$,(#1256));
|
||||
#1267= IFCOPENINGELEMENT('13c6Dt0000Ip4nCpGmDZ0s',#65,$,$,$,#1227,#1263,$);
|
||||
#1288= IFCRELVOIDSELEMENT('3gz_1FcMHExhEMJzH8zl$M',#65,$,$,#1193,#1267);
|
||||
#1289= IFCSTRUCTURALPROFILEPROPERTIES('TS6X6X3/8',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#1290= IFCCARTESIANPOINT((0.,0.));
|
||||
#1294= IFCDIRECTION((1.,0.));
|
||||
#1298= IFCAXIS2PLACEMENT2D(#1290,#1294);
|
||||
#1301= IFCISHAPEPROFILEDEF(.AREA.,$,#1298,254.88901,356.616,12.7,18.288,21.3995);
|
||||
#1302= IFCDIRECTION((0.,0.,-1.));
|
||||
#1306= IFCDIRECTION((-1.,0.,0.));
|
||||
#1310= IFCAXIS2PLACEMENT3D(#1323,#1306,#33);
|
||||
#1313= IFCEXTRUDEDAREASOLID(#1301,#1310,#1302,2768.2595);
|
||||
#1316= IFCCARTESIANPOINT((0.,-178.308,-127.4445));
|
||||
#1320= IFCBOUNDINGBOX(#1316,1268.2595,356.616,254.88901);
|
||||
#1323= IFCCARTESIANPOINT((-1500.,0.,0.));
|
||||
#1327= IFCCARTESIANPOINT((0.,278.308,0.));
|
||||
#1331= IFCDIRECTION((-1.,0.,0.));
|
||||
#1335= IFCDIRECTION((0.,0.,1.));
|
||||
#1339= IFCAXIS2PLACEMENT3D(#1327,#1331,#1335);
|
||||
#1342= IFCPLANE(#1339);
|
||||
#1345= IFCHALFSPACESOLID(#1342,.F.);
|
||||
#1348= IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#1313,#1345);
|
||||
#1351= IFCSHAPEREPRESENTATION(#40,'Body','Clipping',(#1348));
|
||||
#1357= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1320));
|
||||
#1363= IFCPRODUCTDEFINITIONSHAPE($,$,(#1351,#1357));
|
||||
#1367= IFCCARTESIANPOINT((4763.008,7620.,-178.308));
|
||||
#1371= IFCDIRECTION((0.,-1.,0.));
|
||||
#1375= IFCDIRECTION((1.,0.,-7.2832534E-15));
|
||||
#1379= IFCAXIS2PLACEMENT3D(#1367,#1371,#1375);
|
||||
#1382= IFCLOCALPLACEMENT($,#1379);
|
||||
#1385= IFCBEAM('13c6Dt00002p4nCpGmDZ0r',#65,'BEAM','W14X68',$,#1382,#1363,$);
|
||||
#1405= IFCSTRUCTURALPROFILEPROPERTIES('W14X68',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#1406= IFCCARTESIANPOINT((0.,0.));
|
||||
#1410= IFCDIRECTION((1.,0.));
|
||||
#1414= IFCAXIS2PLACEMENT2D(#1406,#1410);
|
||||
#1417= IFCISHAPEPROFILEDEF(.AREA.,$,#1414,254.88901,356.616,12.7,18.288,21.3995);
|
||||
#1418= IFCDIRECTION((0.,0.,-1.));
|
||||
#1422= IFCDIRECTION((-1.,0.,0.));
|
||||
#1426= IFCAXIS2PLACEMENT3D(#21,#1422,#33);
|
||||
#1429= IFCEXTRUDEDAREASOLID(#1417,#1426,#1418,1524.);
|
||||
#1432= IFCCARTESIANPOINT((0.,-178.308,-127.4445));
|
||||
#1436= IFCBOUNDINGBOX(#1432,1524.,356.616,254.88901);
|
||||
#1439= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1429));
|
||||
#1445= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1436));
|
||||
#1451= IFCPRODUCTDEFINITIONSHAPE($,$,(#1439,#1445));
|
||||
#1455= IFCCARTESIANPOINT((4572.,7620.,-609.6));
|
||||
#1459= IFCDIRECTION((0.,-1.,0.));
|
||||
#1463= IFCDIRECTION((7.1613756E-15,0.,1.));
|
||||
#1467= IFCAXIS2PLACEMENT3D(#1455,#1459,#1463);
|
||||
#1470= IFCLOCALPLACEMENT($,#1467);
|
||||
#1473= IFCCOLUMN('13c6Dt00001p4nCpGmDZ0q',#65,'COLUMN','W14X68',$,#1470,#1451,$);
|
||||
#1492= IFCCARTESIANPOINT((4661.154,7490.05,308.83104));
|
||||
#1496= IFCDIRECTION((0.,1.,0.));
|
||||
#1500= IFCDIRECTION((-1.,0.,7.0134555E-15));
|
||||
#1504= IFCAXIS2PLACEMENT3D(#1492,#1496,#1500);
|
||||
#1507= IFCLOCALPLACEMENT($,#1504);
|
||||
#1510= IFCPOLYLINE((#1514,#1519,#1523,#1527,#1531,#1535,#1539,#1543,#1547,#1551,#1555,#1559,#1563,#1567,#1571,#1575,#1579,#1583,#1587,#1591,#1595,#1599,#1603,#1607,#1611,#1615,#1619,#1623,#1627,#1631,#1635,#1639,#1643,#1648,#1652,#1656,#1660));
|
||||
#1514= IFCCARTESIANPOINT((0.38429439,16.098194));
|
||||
#1519= IFCCARTESIANPOINT((0.,20.));
|
||||
#1523= IFCCARTESIANPOINT((0.,336.616));
|
||||
#1527= IFCCARTESIANPOINT((0.38429439,340.5178));
|
||||
#1531= IFCCARTESIANPOINT((1.5224093,344.26967));
|
||||
#1535= IFCCARTESIANPOINT((3.3706078,347.7274));
|
||||
#1539= IFCCARTESIANPOINT((5.8578644,350.75813));
|
||||
#1543= IFCCARTESIANPOINT((8.8885953,353.24539));
|
||||
#1547= IFCCARTESIANPOINT((12.346331,355.09359));
|
||||
#1551= IFCCARTESIANPOINT((16.098194,356.2317));
|
||||
#1555= IFCCARTESIANPOINT((20.,356.616));
|
||||
#1559= IFCCARTESIANPOINT((158.308,356.616));
|
||||
#1563= IFCCARTESIANPOINT((162.20981,356.2317));
|
||||
#1567= IFCCARTESIANPOINT((165.96167,355.09359));
|
||||
#1571= IFCCARTESIANPOINT((169.4194,353.24539));
|
||||
#1575= IFCCARTESIANPOINT((172.45013,350.75813));
|
||||
#1579= IFCCARTESIANPOINT((174.93739,347.7274));
|
||||
#1583= IFCCARTESIANPOINT((176.78559,344.26967));
|
||||
#1587= IFCCARTESIANPOINT((177.9237,340.5178));
|
||||
#1591= IFCCARTESIANPOINT((178.308,336.616));
|
||||
#1595= IFCCARTESIANPOINT((178.308,20.));
|
||||
#1599= IFCCARTESIANPOINT((177.9237,16.098194));
|
||||
#1603= IFCCARTESIANPOINT((176.78559,12.346331));
|
||||
#1607= IFCCARTESIANPOINT((174.93739,8.8885953));
|
||||
#1611= IFCCARTESIANPOINT((172.45013,5.8578644));
|
||||
#1615= IFCCARTESIANPOINT((169.4194,3.3706078));
|
||||
#1619= IFCCARTESIANPOINT((165.96167,1.5224093));
|
||||
#1623= IFCCARTESIANPOINT((162.20981,0.38429439));
|
||||
#1627= IFCCARTESIANPOINT((158.308,0.));
|
||||
#1631= IFCCARTESIANPOINT((20.,0.));
|
||||
#1635= IFCCARTESIANPOINT((16.098194,0.38429439));
|
||||
#1639= IFCCARTESIANPOINT((12.346331,1.5224093));
|
||||
#1643= IFCCARTESIANPOINT((8.8885953,3.3706078));
|
||||
#1648= IFCCARTESIANPOINT((5.8578644,5.8578644));
|
||||
#1652= IFCCARTESIANPOINT((3.3706078,8.8885953));
|
||||
#1656= IFCCARTESIANPOINT((1.5224093,12.346331));
|
||||
#1660= IFCCARTESIANPOINT((0.38429439,16.098194));
|
||||
#1664= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL259.9',#1510);
|
||||
#1665= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#1668= IFCEXTRUDEDAREASOLID(#1664,#1665,#33,259.9);
|
||||
#1671= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1668));
|
||||
#1677= IFCPRODUCTDEFINITIONSHAPE($,$,(#1671));
|
||||
#1681= IFCOPENINGELEMENT('13c6Dt0002m34nCpGmDZ4o',#65,$,$,$,#1507,#1677,$);
|
||||
#1702= IFCRELVOIDSELEMENT('2WI1gpRhj1dwB5Pft5vGvO',#65,$,$,#1473,#1681);
|
||||
#1703= IFCRELASSOCIATESMATERIAL('1GOaWfy957kRCtp2R28$a9',#9,$,$,(#1193),#59);
|
||||
#1705= IFCRELASSOCIATESMATERIAL('3Vqwp2DmT3TeKWHZyFzO7N',#9,$,$,(#1473,#1385,#633),#56);
|
||||
#1707= IFCRELASSOCIATESMATERIAL('0SMrmHf_5BRAYDVih2VNTN',#9,$,$,(#1078,#982,#895,#808,#720,#521,#434,#350,#268,#174),#53);
|
||||
#1709= IFCRELASSOCIATESPROFILEPROPERTIES('2mzP0x3pj2GwUm7Wy7Xfs0',#9,$,$,(#633),#652,$,$);
|
||||
#1711= IFCRELASSOCIATESPROFILEPROPERTIES('1iUJLoCsfD6ug6keUDRGVW',#9,$,$,(#808),#739,$,$);
|
||||
#1713= IFCRELASSOCIATESPROFILEPROPERTIES('1LidMEK_vEQuG8Js1MD1ND',#9,$,$,(#895,#982),#914,$,$);
|
||||
#1715= IFCRELASSOCIATESPROFILEPROPERTIES('22dp9maVb0sAxZG8F2xTIR',#9,$,$,(#1193),#1289,$,$);
|
||||
#1717= IFCRELASSOCIATESPROFILEPROPERTIES('36LPEeuXn6VgX3frK_urjy',#9,$,$,(#1385),#1405,$,$);
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('IFC2X3.exp'),'2;1');
|
||||
FILE_NAME('C:\\TeklaStructuresModels\\Acis_Sat\\plate_steel_example-tek_1fix.ifc','2006-05-12T10:07:38',('Steel2 macro version:12.0 Build:179423,2.5.2006'),('Structural Designer'),'EXPRESS Data Manager version:20040806','Tekla Structures 12.0','');
|
||||
FILE_SCHEMA(('IFC2X3'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#1= IFCPERSON('TEKLAAD/lli','Undefined',$,$,$,$,$,$);
|
||||
#3= IFCORGANIZATION($,'Tekla Corporation',$,$,$);
|
||||
#7= IFCPERSONANDORGANIZATION(#1,#3,$);
|
||||
#8= IFCAPPLICATION(#3,'12.0','Tekla Structures','Multi material modeling');
|
||||
#9= IFCOWNERHISTORY(#7,#8,$,.ADDED.,$,$,$,1147417657);
|
||||
#10= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
|
||||
#11= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
|
||||
#12= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
|
||||
#13= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
|
||||
#14= IFCSIUNIT(*,.SOLIDANGLEUNIT.,$,.STERADIAN.);
|
||||
#15= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
|
||||
#16= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
|
||||
#17= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
|
||||
#18= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.LUMEN.);
|
||||
#19= IFCUNITASSIGNMENT((#10,#11,#12,#13,#14,#15,#16,#17,#18));
|
||||
#21= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#25= IFCDIRECTION((1.,0.,0.));
|
||||
#29= IFCDIRECTION((0.,1.,0.));
|
||||
#33= IFCDIRECTION((0.,0.,1.));
|
||||
#37= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#40= IFCGEOMETRICREPRESENTATIONCONTEXT('Plan','Design',3,1.0000000E-5,#37,$);
|
||||
#43= IFCGEOMETRICREPRESENTATIONCONTEXT('Plan','Sketch',3,1.0000000E-5,#37,$);
|
||||
#46= IFCPROJECT('2gPUQOiNz2FR1H6lWQ8j0k',#9,'PROJ: NAME','Description','Object type','LongName','Phase',(#40,#43),#19);
|
||||
#53= IFCMATERIAL('A36');
|
||||
#56= IFCMATERIAL('A992');
|
||||
#59= IFCMATERIAL('A500-GR.B');
|
||||
#62= IFCPERSON('TEKLAAD/chke','Undefined',$,$,$,$,$,$);
|
||||
#64= IFCPERSONANDORGANIZATION(#62,#3,$);
|
||||
#65= IFCOWNERHISTORY(#64,#8,$,.ADDED.,$,$,$,1147417657);
|
||||
#66= IFCSITE('1_WapmNXfFdOqQ3garaDJn',#65,'Undefined',$,$,$,$,$,.ELEMENT.,$,$,$,$,$);
|
||||
#76= IFCRELAGGREGATES('36yaCMhuT2DxfpF3ieGira',#65,$,$,#46,(#66));
|
||||
#78= IFCBUILDING('2iHnVT4$n9JQE18R_2cJEI',#65,'Undefined',$,$,$,$,$,.ELEMENT.,$,$,$);
|
||||
#88= IFCRELAGGREGATES('0A543zcq1Fdv_lsrHHX8Kv',#65,$,$,#66,(#78));
|
||||
#90= IFCBUILDINGSTOREY('0UguZM0$L8L9OUA114_ZEd',#65,'Undefined',$,$,$,$,$,.ELEMENT.,$);
|
||||
#100= IFCRELAGGREGATES('09$Ux3Y999qBeEKV8wCsfA',#65,$,$,#78,(#90));
|
||||
#102= IFCPOLYLINE((#106,#111,#115,#119,#123,#127,#131));
|
||||
#106= IFCCARTESIANPOINT((0.,318.8494));
|
||||
#111= IFCCARTESIANPOINT((95.250002,318.8494));
|
||||
#115= IFCCARTESIANPOINT((120.65,293.4494));
|
||||
#119= IFCCARTESIANPOINT((120.65,25.4));
|
||||
#123= IFCCARTESIANPOINT((95.250002,0.));
|
||||
#127= IFCCARTESIANPOINT((0.,0.));
|
||||
#131= IFCCARTESIANPOINT((0.,318.8494));
|
||||
#135= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL19.1',#102);
|
||||
#136= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#139= IFCEXTRUDEDAREASOLID(#135,#136,#33,19.1);
|
||||
#142= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#146= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#139));
|
||||
#152= IFCPRODUCTDEFINITIONSHAPE($,$,(#146));
|
||||
#156= IFCCARTESIANPOINT((5240.3064,7493.,-337.7327));
|
||||
#160= IFCDIRECTION((1.,0.,0.));
|
||||
#164= IFCDIRECTION((0.,1.,0.));
|
||||
#168= IFCAXIS2PLACEMENT3D(#156,#160,#164);
|
||||
#171= IFCLOCALPLACEMENT($,#168);
|
||||
#174= IFCPLATE('13c6Dt0003iJ4nCpGmDZ4q',#65,'PLATE','PL19.1',$,#171,#152,$);
|
||||
#193= IFCRELCONTAINEDINSPATIALSTRUCTURE('0119IaMyb8cxCzo7l7Qnbw',#65,$,$,(#174,#268,#350,#434,#521,#633,#720,#808,#895,#982,#1078,#1193,#1385,#1473),#90);
|
||||
#195= IFCSTRUCTURALPROFILEPROPERTIES('PL19.1',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#196= IFCPOLYLINE((#200,#204,#208,#212,#216,#220,#224));
|
||||
#200= IFCCARTESIANPOINT((0.,293.4494));
|
||||
#204= IFCCARTESIANPOINT((25.4,318.8494));
|
||||
#208= IFCCARTESIANPOINT((120.65,318.8494));
|
||||
#212= IFCCARTESIANPOINT((120.65,0.));
|
||||
#216= IFCCARTESIANPOINT((25.4,0.));
|
||||
#220= IFCCARTESIANPOINT((0.,25.4));
|
||||
#224= IFCCARTESIANPOINT((0.,293.4494));
|
||||
#228= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL19.1',#196);
|
||||
#229= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#232= IFCEXTRUDEDAREASOLID(#228,#229,#33,19.1);
|
||||
#235= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#240= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#232));
|
||||
#246= IFCPRODUCTDEFINITIONSHAPE($,$,(#240));
|
||||
#250= IFCCARTESIANPOINT((5240.3064,7626.35,-337.7327));
|
||||
#254= IFCDIRECTION((1.,0.,0.));
|
||||
#258= IFCDIRECTION((0.,1.,0.));
|
||||
#262= IFCAXIS2PLACEMENT3D(#250,#254,#258);
|
||||
#265= IFCLOCALPLACEMENT($,#262);
|
||||
#268= IFCPLATE('13c6Dt0003gZ4nCpGmDZ4q',#65,'PLATE','PL19.1',$,#265,#246,$);
|
||||
#287= IFCPOLYLINE((#291,#295,#299,#303,#307));
|
||||
#291= IFCCARTESIANPOINT((0.,0.));
|
||||
#295= IFCCARTESIANPOINT((0.,318.45248));
|
||||
#299= IFCCARTESIANPOINT((99.695007,318.45248));
|
||||
#303= IFCCARTESIANPOINT((99.695007,0.));
|
||||
#307= IFCCARTESIANPOINT((0.,0.));
|
||||
#311= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL9.5',#287);
|
||||
#312= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#315= IFCEXTRUDEDAREASOLID(#311,#312,#33,9.5);
|
||||
#318= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#322= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#315));
|
||||
#328= IFCPRODUCTDEFINITIONSHAPE($,$,(#322));
|
||||
#332= IFCCARTESIANPOINT((4411.98,7492.5555,-342.9125));
|
||||
#336= IFCDIRECTION((0.,0.,-1.));
|
||||
#340= IFCDIRECTION((0.,1.,0.));
|
||||
#344= IFCAXIS2PLACEMENT3D(#332,#336,#340);
|
||||
#347= IFCLOCALPLACEMENT($,#344);
|
||||
#350= IFCPLATE('13c6Dt0002ip4nCpGmDZ4o',#65,'PLATE','PL9.5',$,#347,#328,$);
|
||||
#370= IFCSTRUCTURALPROFILEPROPERTIES('PL9.5',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#371= IFCPOLYLINE((#375,#379,#383,#387,#391));
|
||||
#375= IFCCARTESIANPOINT((0.,0.));
|
||||
#379= IFCCARTESIANPOINT((0.,318.45248));
|
||||
#383= IFCCARTESIANPOINT((99.695007,318.45248));
|
||||
#387= IFCCARTESIANPOINT((99.695007,0.));
|
||||
#391= IFCCARTESIANPOINT((0.,0.));
|
||||
#395= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL9.5',#371);
|
||||
#396= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#399= IFCEXTRUDEDAREASOLID(#395,#396,#33,9.5);
|
||||
#402= IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#406= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#399));
|
||||
#412= IFCPRODUCTDEFINITIONSHAPE($,$,(#406));
|
||||
#416= IFCCARTESIANPOINT((4411.98,7492.5555,-28.5875));
|
||||
#420= IFCDIRECTION((0.,0.,-1.));
|
||||
#424= IFCDIRECTION((0.,1.,0.));
|
||||
#428= IFCAXIS2PLACEMENT3D(#416,#420,#424);
|
||||
#431= IFCLOCALPLACEMENT($,#428);
|
||||
#434= IFCPLATE('13c6Dt0002hp4nCpGmDZ4o',#65,'PLATE','PL9.5',$,#431,#412,$);
|
||||
#453= IFCCARTESIANPOINT((0.,0.));
|
||||
#457= IFCDIRECTION((1.,0.));
|
||||
#461= IFCAXIS2PLACEMENT2D(#453,#457);
|
||||
#464= IFCRECTANGLEPROFILEDEF(.AREA.,$,#461,9.5,234.9);
|
||||
#465= IFCDIRECTION((0.,0.,-1.));
|
||||
#469= IFCDIRECTION((-1.,0.,0.));
|
||||
#473= IFCAXIS2PLACEMENT3D(#21,#469,#33);
|
||||
#476= IFCEXTRUDEDAREASOLID(#464,#473,#465,304.8);
|
||||
#479= IFCCARTESIANPOINT((0.,-117.45,-4.75));
|
||||
#483= IFCBOUNDINGBOX(#479,304.8,234.9,9.5);
|
||||
#486= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#476));
|
||||
#492= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#483));
|
||||
#499= IFCPRODUCTDEFINITIONSHAPE($,$,(#486,#492));
|
||||
#503= IFCCARTESIANPOINT((4581.8225,7496.2,-342.9));
|
||||
#507= IFCDIRECTION((-1.,0.,0.));
|
||||
#511= IFCDIRECTION((0.,0.,1.));
|
||||
#515= IFCAXIS2PLACEMENT3D(#503,#507,#511);
|
||||
#518= IFCLOCALPLACEMENT($,#515);
|
||||
#521= IFCCOLUMN('13c6Dt0002c34nCpGmDZ4o',#65,'PLATE','PL9.5X234.9',$,#518,#499,$);
|
||||
#540= IFCSTRUCTURALPROFILEPROPERTIES('PL9.5X234.9',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#541= IFCCARTESIANPOINT((0.,0.));
|
||||
#545= IFCDIRECTION((1.,0.));
|
||||
#549= IFCAXIS2PLACEMENT2D(#541,#545);
|
||||
#552= IFCISHAPEPROFILEDEF(.AREA.,$,#549,177.41901,402.84399,9.5249996,10.922,17.653);
|
||||
#553= IFCDIRECTION((0.,0.,-1.));
|
||||
#557= IFCDIRECTION((-1.,0.,0.));
|
||||
#561= IFCAXIS2PLACEMENT3D(#21,#557,#33);
|
||||
#564= IFCEXTRUDEDAREASOLID(#552,#561,#553,2278.7992);
|
||||
#567= IFCCARTESIANPOINT((0.,-201.422,-88.709503));
|
||||
#571= IFCBOUNDINGBOX(#567,778.79918,402.84399,177.41901);
|
||||
#574= IFCCARTESIANPOINT((778.79918,301.422,0.));
|
||||
#578= IFCDIRECTION((1.,0.,0.));
|
||||
#582= IFCDIRECTION((0.,0.,-1.));
|
||||
#586= IFCAXIS2PLACEMENT3D(#574,#578,#582);
|
||||
#589= IFCPLANE(#586);
|
||||
#592= IFCHALFSPACESOLID(#589,.F.);
|
||||
#595= IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#564,#592);
|
||||
#598= IFCSHAPEREPRESENTATION(#40,'Body','Clipping',(#595));
|
||||
#604= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#571));
|
||||
#610= IFCPRODUCTDEFINITIONSHAPE($,$,(#598,#604));
|
||||
#614= IFCCARTESIANPOINT((4572.,6688.3563,-201.422));
|
||||
#618= IFCDIRECTION((1.,0.,0.));
|
||||
#623= IFCDIRECTION((0.,1.,0.));
|
||||
#627= IFCAXIS2PLACEMENT3D(#614,#618,#623);
|
||||
#630= IFCLOCALPLACEMENT($,#627);
|
||||
#633= IFCBEAM('13c6Dt0001iZ4nCpGmDZ0v',#65,'BEAM','W16X36',$,#630,#610,$);
|
||||
#652= IFCSTRUCTURALPROFILEPROPERTIES('W16X36',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#653= IFCCARTESIANPOINT((0.,0.));
|
||||
#657= IFCDIRECTION((1.,0.));
|
||||
#661= IFCAXIS2PLACEMENT2D(#653,#657);
|
||||
#664= IFCLSHAPEPROFILEDEF(.AREA.,$,#661,101.6,88.900002,9.5249996,9.525,$,$,$,$);
|
||||
#665= IFCDIRECTION((0.,0.,-1.));
|
||||
#669= IFCDIRECTION((-1.,0.,0.));
|
||||
#673= IFCAXIS2PLACEMENT3D(#21,#669,#33);
|
||||
#676= IFCEXTRUDEDAREASOLID(#664,#673,#665,254.);
|
||||
#679= IFCCARTESIANPOINT((0.,-50.799999,-44.450001));
|
||||
#683= IFCBOUNDINGBOX(#679,254.,101.6,88.900002);
|
||||
#686= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#676));
|
||||
#692= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#683));
|
||||
#698= IFCPRODUCTDEFINITIONSHAPE($,$,(#686,#692));
|
||||
#702= IFCCARTESIANPOINT((4794.758,7562.85,-298.45));
|
||||
#706= IFCDIRECTION((1.,0.,0.));
|
||||
#710= IFCDIRECTION((0.,0.,1.));
|
||||
#714= IFCAXIS2PLACEMENT3D(#702,#706,#710);
|
||||
#717= IFCLOCALPLACEMENT($,#714);
|
||||
#720= IFCCOLUMN('13c6Dt0001GZ4nCpGmDZ0u',#65,'ANGLE','L4X3-1/2X3/8',$,#717,#698,$);
|
||||
#739= IFCSTRUCTURALPROFILEPROPERTIES('L4X3-1/2X3/8',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#740= IFCCARTESIANPOINT((0.,0.));
|
||||
#744= IFCDIRECTION((1.,0.));
|
||||
#748= IFCAXIS2PLACEMENT2D(#740,#744);
|
||||
#752= IFCLSHAPEPROFILEDEF(.AREA.,$,#748,101.6,88.900002,9.5249996,9.525,$,$,$,$);
|
||||
#753= IFCDIRECTION((0.,0.,-1.));
|
||||
#757= IFCDIRECTION((-1.,0.,0.));
|
||||
#761= IFCAXIS2PLACEMENT3D(#21,#757,#33);
|
||||
#764= IFCEXTRUDEDAREASOLID(#752,#761,#753,254.);
|
||||
#767= IFCCARTESIANPOINT((0.,-50.799999,-44.450001));
|
||||
#771= IFCBOUNDINGBOX(#767,254.,101.6,88.900002);
|
||||
#774= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#764));
|
||||
#780= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#771));
|
||||
#786= IFCPRODUCTDEFINITIONSHAPE($,$,(#774,#780));
|
||||
#790= IFCCARTESIANPOINT((4794.758,7677.15,-44.45));
|
||||
#794= IFCDIRECTION((1.,0.,0.));
|
||||
#798= IFCDIRECTION((0.,0.,-1.));
|
||||
#802= IFCAXIS2PLACEMENT3D(#790,#794,#798);
|
||||
#805= IFCLOCALPLACEMENT($,#802);
|
||||
#808= IFCBEAM('13c6Dt0001FZ4nCpGmDZ0u',#65,'ANGLE','L4X3-1/2X3/8',$,#805,#786,$);
|
||||
#827= IFCCARTESIANPOINT((0.,0.));
|
||||
#831= IFCDIRECTION((1.,0.));
|
||||
#835= IFCAXIS2PLACEMENT2D(#827,#831);
|
||||
#838= IFCLSHAPEPROFILEDEF(.AREA.,$,#835,101.6,101.60025,9.5249996,9.525,$,$,$,$);
|
||||
#839= IFCDIRECTION((0.,0.,-1.));
|
||||
#843= IFCDIRECTION((-1.,0.,0.));
|
||||
#847= IFCAXIS2PLACEMENT3D(#21,#843,#33);
|
||||
#850= IFCEXTRUDEDAREASOLID(#838,#847,#839,292.1);
|
||||
#853= IFCCARTESIANPOINT((0.,-50.799999,-50.800125));
|
||||
#857= IFCBOUNDINGBOX(#853,292.1,101.6,101.60025);
|
||||
#860= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#850));
|
||||
#866= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#857));
|
||||
#872= IFCPRODUCTDEFINITIONSHAPE($,$,(#860,#866));
|
||||
#876= IFCCARTESIANPOINT((4915.409,7564.4494,50.799999));
|
||||
#881= IFCDIRECTION((0.,-1.,0.));
|
||||
#885= IFCDIRECTION((1.,0.,0.));
|
||||
#889= IFCAXIS2PLACEMENT3D(#876,#881,#885);
|
||||
#892= IFCLOCALPLACEMENT($,#889);
|
||||
#895= IFCBEAM('13c6Dt0000F34nCpGmDZ0s',#65,'BEAM','L4X4X3/8',$,#892,#872,$);
|
||||
#914= IFCSTRUCTURALPROFILEPROPERTIES('L4X4X3/8',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#915= IFCCARTESIANPOINT((0.,0.));
|
||||
#919= IFCDIRECTION((1.,0.));
|
||||
#923= IFCAXIS2PLACEMENT2D(#915,#919);
|
||||
#926= IFCLSHAPEPROFILEDEF(.AREA.,$,#923,101.6,101.60025,9.5249996,9.525,$,$,$,$);
|
||||
#927= IFCDIRECTION((0.,0.,-1.));
|
||||
#931= IFCDIRECTION((-1.,0.,0.));
|
||||
#935= IFCAXIS2PLACEMENT3D(#21,#931,#33);
|
||||
#938= IFCEXTRUDEDAREASOLID(#926,#935,#927,330.2);
|
||||
#941= IFCCARTESIANPOINT((0.,-50.799999,-50.800125));
|
||||
#945= IFCBOUNDINGBOX(#941,330.2,101.6,101.60025);
|
||||
#948= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#938));
|
||||
#954= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#945));
|
||||
#960= IFCPRODUCTDEFINITIONSHAPE($,$,(#948,#954));
|
||||
#964= IFCCARTESIANPOINT((4801.108,7564.4494,495.301));
|
||||
#968= IFCDIRECTION((0.,-1.,0.));
|
||||
#972= IFCDIRECTION((0.,0.,-1.));
|
||||
#976= IFCAXIS2PLACEMENT3D(#964,#968,#972);
|
||||
#979= IFCLOCALPLACEMENT($,#976);
|
||||
#982= IFCBEAM('13c6Dt00006J4nCpGmDZ0s',#65,'BEAM','L4X4X3/8',$,#979,#960,$);
|
||||
#1001= IFCPOLYLINE((#1006,#1010,#1014,#1018,#1022,#1026));
|
||||
#1006= IFCCARTESIANPOINT((0.,0.));
|
||||
#1010= IFCCARTESIANPOINT((-0.001,486.84845));
|
||||
#1014= IFCCARTESIANPOINT((369.07135,486.84845));
|
||||
#1018= IFCCARTESIANPOINT((512.75543,343.16437));
|
||||
#1022= IFCCARTESIANPOINT((512.75543,0.));
|
||||
#1026= IFCCARTESIANPOINT((0.,0.));
|
||||
#1030= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL9.5',#1001);
|
||||
#1031= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#1034= IFCEXTRUDEDAREASOLID(#1030,#1031,#33,9.5);
|
||||
#1037= IFCCARTESIANPOINT((-0.0010532137,0.,-4.75));
|
||||
#1041= IFCBOUNDINGBOX(#1037,486.8495,512.75614,9.5);
|
||||
#1044= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1034));
|
||||
#1050= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1041));
|
||||
#1056= IFCPRODUCTDEFINITIONSHAPE($,$,(#1044,#1050));
|
||||
#1060= IFCCARTESIANPOINT((4763.008,7615.262,12.701));
|
||||
#1064= IFCDIRECTION((0.,1.,0.));
|
||||
#1068= IFCDIRECTION((0.,0.,1.));
|
||||
#1072= IFCAXIS2PLACEMENT3D(#1060,#1064,#1068);
|
||||
#1075= IFCLOCALPLACEMENT($,#1072);
|
||||
#1078= IFCPLATE('13c6Dt00005J4nCpGmDZ0s',#65,'PLATE','PL9.5',$,#1075,#1056,$);
|
||||
#1097= IFCCARTESIANPOINT((0.,0.));
|
||||
#1101= IFCDIRECTION((1.,0.));
|
||||
#1105= IFCAXIS2PLACEMENT2D(#1097,#1101);
|
||||
#1108= IFCRECTANGLEHOLLOWPROFILEDEF(.AREA.,$,#1105,152.39999,152.39999,9.5249996,9.5250004,19.05);
|
||||
#1109= IFCDIRECTION((0.,0.,-1.));
|
||||
#1113= IFCDIRECTION((-1.,0.,0.));
|
||||
#1117= IFCAXIS2PLACEMENT3D(#1130,#1113,#33);
|
||||
#1120= IFCEXTRUDEDAREASOLID(#1108,#1117,#1109,2177.4228);
|
||||
#1123= IFCCARTESIANPOINT((-1.2141754E-10,-76.199997,-76.199997));
|
||||
#1127= IFCBOUNDINGBOX(#1123,677.4228,152.39999,152.39999);
|
||||
#1130= IFCCARTESIANPOINT((-1500.,0.,0.));
|
||||
#1135= IFCCARTESIANPOINT((-1.0913936E-10,-9.0949470E-12,4.7379999));
|
||||
#1139= IFCDIRECTION((-1.,-1.6052583E-13,0.));
|
||||
#1143= IFCDIRECTION((-1.6052583E-13,1.,0.));
|
||||
#1147= IFCAXIS2PLACEMENT3D(#1135,#1139,#1143);
|
||||
#1150= IFCPLANE(#1147);
|
||||
#1153= IFCHALFSPACESOLID(#1150,.F.);
|
||||
#1156= IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#1120,#1153);
|
||||
#1159= IFCSHAPEREPRESENTATION(#40,'Body','Clipping',(#1156));
|
||||
#1165= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1127));
|
||||
#1171= IFCPRODUCTDEFINITIONSHAPE($,$,(#1159,#1165));
|
||||
#1175= IFCCARTESIANPOINT((5007.3895,7620.,282.98953));
|
||||
#1179= IFCDIRECTION((0.,-1.,0.));
|
||||
#1183= IFCDIRECTION((0.70710678,0.,0.70710678));
|
||||
#1187= IFCAXIS2PLACEMENT3D(#1175,#1179,#1183);
|
||||
#1190= IFCLOCALPLACEMENT($,#1187);
|
||||
#1193= IFCBEAM('13c6Dt00003p4nCpGmDZ0r',#65,'BRACE','TS6X6X3/8',$,#1190,#1171,$);
|
||||
#1212= IFCCARTESIANPOINT((5153.6546,7620.012,307.34937));
|
||||
#1216= IFCDIRECTION((0.,-1.,0.));
|
||||
#1220= IFCDIRECTION((-0.70710678,0.,0.70710678));
|
||||
#1224= IFCAXIS2PLACEMENT3D(#1212,#1216,#1220);
|
||||
#1227= IFCLOCALPLACEMENT($,#1224);
|
||||
#1230= IFCCARTESIANPOINT((0.,0.));
|
||||
#1234= IFCDIRECTION((1.,0.));
|
||||
#1238= IFCAXIS2PLACEMENT2D(#1230,#1234);
|
||||
#1241= IFCRECTANGLEPROFILEDEF(.AREA.,$,#1238,9.5,266.7);
|
||||
#1242= IFCDIRECTION((0.,0.,-1.));
|
||||
#1246= IFCDIRECTION((-1.,0.,0.));
|
||||
#1250= IFCAXIS2PLACEMENT3D(#21,#1246,#33);
|
||||
#1253= IFCEXTRUDEDAREASOLID(#1241,#1250,#1242,172.39997);
|
||||
#1256= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1253));
|
||||
#1263= IFCPRODUCTDEFINITIONSHAPE($,$,(#1256));
|
||||
#1267= IFCOPENINGELEMENT('13c6Dt0000Ip4nCpGmDZ0s',#65,$,$,$,#1227,#1263,$);
|
||||
#1288= IFCRELVOIDSELEMENT('3gz_1FcMHExhEMJzH8zl$M',#65,$,$,#1193,#1267);
|
||||
#1289= IFCSTRUCTURALPROFILEPROPERTIES('TS6X6X3/8',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#1290= IFCCARTESIANPOINT((0.,0.));
|
||||
#1294= IFCDIRECTION((1.,0.));
|
||||
#1298= IFCAXIS2PLACEMENT2D(#1290,#1294);
|
||||
#1301= IFCISHAPEPROFILEDEF(.AREA.,$,#1298,254.88901,356.616,12.7,18.288,21.3995);
|
||||
#1302= IFCDIRECTION((0.,0.,-1.));
|
||||
#1306= IFCDIRECTION((-1.,0.,0.));
|
||||
#1310= IFCAXIS2PLACEMENT3D(#1323,#1306,#33);
|
||||
#1313= IFCEXTRUDEDAREASOLID(#1301,#1310,#1302,2768.2595);
|
||||
#1316= IFCCARTESIANPOINT((0.,-178.308,-127.4445));
|
||||
#1320= IFCBOUNDINGBOX(#1316,1268.2595,356.616,254.88901);
|
||||
#1323= IFCCARTESIANPOINT((-1500.,0.,0.));
|
||||
#1327= IFCCARTESIANPOINT((0.,278.308,0.));
|
||||
#1331= IFCDIRECTION((-1.,0.,0.));
|
||||
#1335= IFCDIRECTION((0.,0.,1.));
|
||||
#1339= IFCAXIS2PLACEMENT3D(#1327,#1331,#1335);
|
||||
#1342= IFCPLANE(#1339);
|
||||
#1345= IFCHALFSPACESOLID(#1342,.F.);
|
||||
#1348= IFCBOOLEANCLIPPINGRESULT(.DIFFERENCE.,#1313,#1345);
|
||||
#1351= IFCSHAPEREPRESENTATION(#40,'Body','Clipping',(#1348));
|
||||
#1357= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1320));
|
||||
#1363= IFCPRODUCTDEFINITIONSHAPE($,$,(#1351,#1357));
|
||||
#1367= IFCCARTESIANPOINT((4763.008,7620.,-178.308));
|
||||
#1371= IFCDIRECTION((0.,-1.,0.));
|
||||
#1375= IFCDIRECTION((1.,0.,-7.2832534E-15));
|
||||
#1379= IFCAXIS2PLACEMENT3D(#1367,#1371,#1375);
|
||||
#1382= IFCLOCALPLACEMENT($,#1379);
|
||||
#1385= IFCBEAM('13c6Dt00002p4nCpGmDZ0r',#65,'BEAM','W14X68',$,#1382,#1363,$);
|
||||
#1405= IFCSTRUCTURALPROFILEPROPERTIES('W14X68',$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$);
|
||||
#1406= IFCCARTESIANPOINT((0.,0.));
|
||||
#1410= IFCDIRECTION((1.,0.));
|
||||
#1414= IFCAXIS2PLACEMENT2D(#1406,#1410);
|
||||
#1417= IFCISHAPEPROFILEDEF(.AREA.,$,#1414,254.88901,356.616,12.7,18.288,21.3995);
|
||||
#1418= IFCDIRECTION((0.,0.,-1.));
|
||||
#1422= IFCDIRECTION((-1.,0.,0.));
|
||||
#1426= IFCAXIS2PLACEMENT3D(#21,#1422,#33);
|
||||
#1429= IFCEXTRUDEDAREASOLID(#1417,#1426,#1418,1524.);
|
||||
#1432= IFCCARTESIANPOINT((0.,-178.308,-127.4445));
|
||||
#1436= IFCBOUNDINGBOX(#1432,1524.,356.616,254.88901);
|
||||
#1439= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1429));
|
||||
#1445= IFCSHAPEREPRESENTATION(#43,$,'BoundingBox',(#1436));
|
||||
#1451= IFCPRODUCTDEFINITIONSHAPE($,$,(#1439,#1445));
|
||||
#1455= IFCCARTESIANPOINT((4572.,7620.,-609.6));
|
||||
#1459= IFCDIRECTION((0.,-1.,0.));
|
||||
#1463= IFCDIRECTION((7.1613756E-15,0.,1.));
|
||||
#1467= IFCAXIS2PLACEMENT3D(#1455,#1459,#1463);
|
||||
#1470= IFCLOCALPLACEMENT($,#1467);
|
||||
#1473= IFCCOLUMN('13c6Dt00001p4nCpGmDZ0q',#65,'COLUMN','W14X68',$,#1470,#1451,$);
|
||||
#1492= IFCCARTESIANPOINT((4661.154,7490.05,308.83104));
|
||||
#1496= IFCDIRECTION((0.,1.,0.));
|
||||
#1500= IFCDIRECTION((-1.,0.,7.0134555E-15));
|
||||
#1504= IFCAXIS2PLACEMENT3D(#1492,#1496,#1500);
|
||||
#1507= IFCLOCALPLACEMENT($,#1504);
|
||||
#1510= IFCPOLYLINE((#1514,#1519,#1523,#1527,#1531,#1535,#1539,#1543,#1547,#1551,#1555,#1559,#1563,#1567,#1571,#1575,#1579,#1583,#1587,#1591,#1595,#1599,#1603,#1607,#1611,#1615,#1619,#1623,#1627,#1631,#1635,#1639,#1643,#1648,#1652,#1656,#1660));
|
||||
#1514= IFCCARTESIANPOINT((0.38429439,16.098194));
|
||||
#1519= IFCCARTESIANPOINT((0.,20.));
|
||||
#1523= IFCCARTESIANPOINT((0.,336.616));
|
||||
#1527= IFCCARTESIANPOINT((0.38429439,340.5178));
|
||||
#1531= IFCCARTESIANPOINT((1.5224093,344.26967));
|
||||
#1535= IFCCARTESIANPOINT((3.3706078,347.7274));
|
||||
#1539= IFCCARTESIANPOINT((5.8578644,350.75813));
|
||||
#1543= IFCCARTESIANPOINT((8.8885953,353.24539));
|
||||
#1547= IFCCARTESIANPOINT((12.346331,355.09359));
|
||||
#1551= IFCCARTESIANPOINT((16.098194,356.2317));
|
||||
#1555= IFCCARTESIANPOINT((20.,356.616));
|
||||
#1559= IFCCARTESIANPOINT((158.308,356.616));
|
||||
#1563= IFCCARTESIANPOINT((162.20981,356.2317));
|
||||
#1567= IFCCARTESIANPOINT((165.96167,355.09359));
|
||||
#1571= IFCCARTESIANPOINT((169.4194,353.24539));
|
||||
#1575= IFCCARTESIANPOINT((172.45013,350.75813));
|
||||
#1579= IFCCARTESIANPOINT((174.93739,347.7274));
|
||||
#1583= IFCCARTESIANPOINT((176.78559,344.26967));
|
||||
#1587= IFCCARTESIANPOINT((177.9237,340.5178));
|
||||
#1591= IFCCARTESIANPOINT((178.308,336.616));
|
||||
#1595= IFCCARTESIANPOINT((178.308,20.));
|
||||
#1599= IFCCARTESIANPOINT((177.9237,16.098194));
|
||||
#1603= IFCCARTESIANPOINT((176.78559,12.346331));
|
||||
#1607= IFCCARTESIANPOINT((174.93739,8.8885953));
|
||||
#1611= IFCCARTESIANPOINT((172.45013,5.8578644));
|
||||
#1615= IFCCARTESIANPOINT((169.4194,3.3706078));
|
||||
#1619= IFCCARTESIANPOINT((165.96167,1.5224093));
|
||||
#1623= IFCCARTESIANPOINT((162.20981,0.38429439));
|
||||
#1627= IFCCARTESIANPOINT((158.308,0.));
|
||||
#1631= IFCCARTESIANPOINT((20.,0.));
|
||||
#1635= IFCCARTESIANPOINT((16.098194,0.38429439));
|
||||
#1639= IFCCARTESIANPOINT((12.346331,1.5224093));
|
||||
#1643= IFCCARTESIANPOINT((8.8885953,3.3706078));
|
||||
#1648= IFCCARTESIANPOINT((5.8578644,5.8578644));
|
||||
#1652= IFCCARTESIANPOINT((3.3706078,8.8885953));
|
||||
#1656= IFCCARTESIANPOINT((1.5224093,12.346331));
|
||||
#1660= IFCCARTESIANPOINT((0.38429439,16.098194));
|
||||
#1664= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PL259.9',#1510);
|
||||
#1665= IFCAXIS2PLACEMENT3D(#21,#33,#25);
|
||||
#1668= IFCEXTRUDEDAREASOLID(#1664,#1665,#33,259.9);
|
||||
#1671= IFCSHAPEREPRESENTATION(#40,'Body','SweptSolid',(#1668));
|
||||
#1677= IFCPRODUCTDEFINITIONSHAPE($,$,(#1671));
|
||||
#1681= IFCOPENINGELEMENT('13c6Dt0002m34nCpGmDZ4o',#65,$,$,$,#1507,#1677,$);
|
||||
#1702= IFCRELVOIDSELEMENT('2WI1gpRhj1dwB5Pft5vGvO',#65,$,$,#1473,#1681);
|
||||
#1703= IFCRELASSOCIATESMATERIAL('1GOaWfy957kRCtp2R28$a9',#9,$,$,(#1193),#59);
|
||||
#1705= IFCRELASSOCIATESMATERIAL('3Vqwp2DmT3TeKWHZyFzO7N',#9,$,$,(#1473,#1385,#633),#56);
|
||||
#1707= IFCRELASSOCIATESMATERIAL('0SMrmHf_5BRAYDVih2VNTN',#9,$,$,(#1078,#982,#895,#808,#720,#521,#434,#350,#268,#174),#53);
|
||||
#1709= IFCRELASSOCIATESPROFILEPROPERTIES('2mzP0x3pj2GwUm7Wy7Xfs0',#9,$,$,(#633),#652,$,$);
|
||||
#1711= IFCRELASSOCIATESPROFILEPROPERTIES('1iUJLoCsfD6ug6keUDRGVW',#9,$,$,(#808),#739,$,$);
|
||||
#1713= IFCRELASSOCIATESPROFILEPROPERTIES('1LidMEK_vEQuG8Js1MD1ND',#9,$,$,(#895,#982),#914,$,$);
|
||||
#1715= IFCRELASSOCIATESPROFILEPROPERTIES('22dp9maVb0sAxZG8F2xTIR',#9,$,$,(#1193),#1289,$,$);
|
||||
#1717= IFCRELASSOCIATESPROFILEPROPERTIES('36LPEeuXn6VgX3frK_urjy',#9,$,$,(#1385),#1405,$,$);
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
@@ -1,7 +1,7 @@
|
||||
const { performance } = require('perf_hooks')
|
||||
const { fetch } = require('undici')
|
||||
const Parser = require('./parser')
|
||||
const ServerAPI = require('./api.js')
|
||||
const ServerAPI = require('../src/api.js')
|
||||
const Observability = require('@speckle/shared/dist/commonjs/observability/index.js')
|
||||
const { logger: parentLogger } = require('../observability/logging')
|
||||
|
||||
|
||||
Executable → Regular
@@ -1,5 +1,6 @@
|
||||
'use strict'
|
||||
|
||||
const Environment = require('@speckle/shared/dist/commonjs/environment/index.js')
|
||||
const {
|
||||
initPrometheusMetrics,
|
||||
metricDuration,
|
||||
@@ -12,10 +13,11 @@ const { downloadFile } = require('./filesApi')
|
||||
const fs = require('fs')
|
||||
const { spawn } = require('child_process')
|
||||
|
||||
const ServerAPI = require('../ifc/api')
|
||||
const ServerAPI = require('./api')
|
||||
const objDependencies = require('./objDependencies')
|
||||
const { logger } = require('../observability/logging')
|
||||
const { Scopes, wait } = require('@speckle/shared')
|
||||
const { FF_FILEIMPORT_IFC_DOTNET_ENABLED } = Environment.getFeatureFlags()
|
||||
|
||||
const HEALTHCHECK_FILE_PATH = '/tmp/last_successful_query'
|
||||
|
||||
@@ -127,27 +129,47 @@ async function doTask(mainDb, regionName, taskDb, task) {
|
||||
})
|
||||
|
||||
if (info.fileType.toLowerCase() === 'ifc') {
|
||||
await runProcessWithTimeout(
|
||||
taskLogger,
|
||||
process.env['NODE_BINARY_PATH'] || 'node',
|
||||
[
|
||||
'--no-experimental-fetch',
|
||||
'./ifc/import_file.js',
|
||||
TMP_FILE_PATH,
|
||||
TMP_RESULTS_PATH,
|
||||
info.userId,
|
||||
info.streamId,
|
||||
info.branchName,
|
||||
`File upload: ${info.fileName}`,
|
||||
info.id,
|
||||
existingBranch?.id || '',
|
||||
regionName
|
||||
],
|
||||
{
|
||||
USER_TOKEN: tempUserToken
|
||||
},
|
||||
TIME_LIMIT
|
||||
)
|
||||
if (FF_FILEIMPORT_IFC_DOTNET_ENABLED) {
|
||||
await runProcessWithTimeout(
|
||||
taskLogger,
|
||||
process.env['DOTNET_BINARY_PATH'] || 'dotnet',
|
||||
[
|
||||
'/speckle-server/packages/fileimport-service/ifc-dotnet/ifc-converter.dll',
|
||||
TMP_FILE_PATH,
|
||||
TMP_RESULTS_PATH,
|
||||
info.streamId,
|
||||
`File upload: ${info.fileName}`,
|
||||
existingBranch?.id || '',
|
||||
regionName
|
||||
],
|
||||
{
|
||||
USER_TOKEN: tempUserToken
|
||||
},
|
||||
TIME_LIMIT
|
||||
)
|
||||
} else {
|
||||
await runProcessWithTimeout(
|
||||
taskLogger,
|
||||
process.env['NODE_BINARY_PATH'] || 'node',
|
||||
[
|
||||
'--no-experimental-fetch',
|
||||
'./ifc/import_file.js',
|
||||
TMP_FILE_PATH,
|
||||
TMP_RESULTS_PATH,
|
||||
info.userId,
|
||||
info.streamId,
|
||||
info.branchName,
|
||||
`File upload: ${info.fileName}`,
|
||||
info.id,
|
||||
existingBranch?.id || '',
|
||||
regionName
|
||||
],
|
||||
{
|
||||
USER_TOKEN: tempUserToken
|
||||
},
|
||||
TIME_LIMIT
|
||||
)
|
||||
}
|
||||
} else if (info.fileType.toLowerCase() === 'stl') {
|
||||
await runProcessWithTimeout(
|
||||
taskLogger,
|
||||
|
||||
@@ -50,6 +50,11 @@ const parseFeatureFlags = () => {
|
||||
FF_WORKSPACES_MULTI_REGION_ENABLED: {
|
||||
schema: z.boolean(),
|
||||
defaults: { production: false, _: false }
|
||||
},
|
||||
// Toggles IFC parsing with experimental .Net parser
|
||||
FF_FILEIMPORT_IFC_DOTNET_ENABLED: {
|
||||
schema: z.boolean(),
|
||||
defaults: { production: false, _: false }
|
||||
}
|
||||
})
|
||||
|
||||
@@ -74,6 +79,7 @@ export function getFeatureFlags(): {
|
||||
FF_GATEKEEPER_MODULE_ENABLED: boolean
|
||||
FF_BILLING_INTEGRATION_ENABLED: boolean
|
||||
FF_WORKSPACES_MULTI_REGION_ENABLED: boolean
|
||||
FF_FILEIMPORT_IFC_DOTNET_ENABLED: boolean
|
||||
} {
|
||||
if (!parsedFlags) parsedFlags = parseFeatureFlags()
|
||||
return parsedFlags
|
||||
|
||||
@@ -34,7 +34,7 @@ spec:
|
||||
periodSeconds: 60
|
||||
exec:
|
||||
command:
|
||||
- /nodejs/bin/node
|
||||
- /usr/bin/node
|
||||
- -e
|
||||
- process.exit(Date.now() - require('fs').readFileSync('/tmp/last_successful_query', 'utf8') > 25 * 60 * 1000)
|
||||
|
||||
@@ -59,6 +59,8 @@ spec:
|
||||
volumeMounts:
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
- mountPath: /.config
|
||||
name: dotconfig
|
||||
{{- if .Values.db.useCertificate }}
|
||||
- name: postgres-certificate
|
||||
mountPath: /postgres-certificate
|
||||
@@ -100,6 +102,10 @@ spec:
|
||||
- name: MULTI_REGION_CONFIG_PATH
|
||||
value: "/multi-region-config/multi-region-config.json"
|
||||
{{- end }}
|
||||
{{- if .Values.featureFlags.fileImportIFCDotNetEnabled }}
|
||||
- name: FF_FILEIMPORT_IFC_DOTNET_ENABLED
|
||||
value: {{ .Values.featureFlags.fileImportIFCDotNetEnabled | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.fileimport_service.affinity }}
|
||||
affinity: {{- include "speckle.renderTpl" (dict "value" .Values.fileimport_service.affinity "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
@@ -130,6 +136,8 @@ spec:
|
||||
volumes:
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
- name: dotconfig
|
||||
emptyDir: {}
|
||||
{{- if .Values.db.useCertificate }}
|
||||
- name: postgres-certificate
|
||||
configMap:
|
||||
|
||||
@@ -79,6 +79,11 @@
|
||||
"type": "boolean",
|
||||
"description": "Toggles whether multi-region is available within workspaces. workspacesModuleEnabled must also be enabled.",
|
||||
"default": false
|
||||
},
|
||||
"fileImportIFCDotNetEnabled": {
|
||||
"type": "boolean",
|
||||
"description": "Toggles whether the experimental .Net IFC importer is used for importing IFC files.",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -53,6 +53,8 @@ featureFlags:
|
||||
billingIntegrationEnabled: false
|
||||
## @param featureFlags.workspacesMultiRegionEnabled Toggles whether multi-region is available within workspaces. workspacesModuleEnabled must also be enabled.
|
||||
workspacesMultiRegionEnabled: false
|
||||
## @param featureFlags.fileImportIFCDotNetEnabled Toggles whether the experimental .Net IFC importer is used for importing IFC files.
|
||||
fileImportIFCDotNetEnabled: false
|
||||
|
||||
analytics:
|
||||
## @param analytics.enabled Enable or disable analytics
|
||||
|
||||
Reference in New Issue
Block a user