MXSIOY (MatrixFloor Interoperabiliteit gegevensprotocol)
Het uitgebreide gegevensinvoerprotocol MXSIOY (MatrixFloor Interoperabiliteit) is gebaseerd op YML/JSON-gegevensformaten. Dit is een alleen-invoer formaat. Het is ontworpen om gegevens op een eenvoudige, leesbare en handige manier te verstrekken. Net als het normale MXS-projectformaat of het XML-projectformaat MXML, kan MXSIOY worden geopend met de MxFloor.exe hoofdtoepassing en met de MxFloorAPI.exe consoletoepassing.
Bestanden
Interoperabiliteit documentatiebestanden, voorbeeldbestanden worden geleverd door de installatie en worden in de map %PROGRAMDATA%\Matrix\MatrixFrame 6.1\Interoperability geïnstalleerd.
Alle bestanden uit deze map kunnen hier als ZIP worden gedownload.
Voorbeeld
Hier ziet u het voorbeeldproject (Interoperability\Documentation\MxFloor\AllFields.yml) met alle mogelijke ondersteunde invoer:
# header input data will be updated to be more user friendly with text project types support, text codes support
# also other header data like project/engineer info will be added
header:
version: 6.0.2 # optional, Major.Minor.ServicePack
codes:
general: NEN-EN
mxfloor:
settings: # required
loadCombGenerator: # required, see load comb generator documentation for options
buildingType: buildingsCC3 # required, value from loadCombGeneratorBuildingType
length: direct # optional, MxFloor.yml -> lengthType. default "direct"
multicore: true # optional, default "true"
phases: # optional, array, only if additional user montage phases are needed
- name: My Phase # required, reserved names: MxFloor.yml -> phaseId
biMaterial: true # optional, this value sets both 'biMaterialCalculations' and 'biMaterialSelfWeight'
biMaterialCalculations: true # optional, true if bimaterial sections should be used in all calculations except self weight for this phase
biMaterialSelfWeight: true # optional, true if bimaterial sections should be used in self weight calculations for this phase
prestress: acting # optional, MxFloor.yml -> phaseType
- name: montage # if 'montage' name is used, then bimaterial options can be changed for default Montage phase
biMaterial: true # optional, this value sets both 'biMaterialCalculations' and 'biMaterialSelfWeight'
biMaterialCalculations: true # optional, true if bimaterial sections should be used in all calculations except self weight for this phase
biMaterialSelfWeight: true # optional, true if bimaterial sections should be used in self weight calculations for this phase
prestressPatterns: # optional, see PrestressPatterns.yml
- name: Pattern 1
section: R100x100
strands:
- name: R7.5S7
h-d: 0.17
positions:
- position: 0.2248
material: Y1860
- position: 0.6
material: Y1860
- position: 0.975
material: Y1860
- name: R7.5S7
h-d: 0.042
positions:
- position: 0.049
material: Y1860
- position: 0.2248
material: Y1860
- position: 0.4124
material: Y1860
reinforcement: # optional, see SettingsReinforcement.yml
deflectionsDesign: none
generateProposals: true
generateBarPlacement: true
steel: B500B
topBottomReinforcementIdentical: false
basicAdditionalEqualDiameters: false
oneAdditionalNetBetweenBasic: false
combinedReinforcementInPhases: true
cutInsertionMargin: 0.05
concrete: # optional, see ConcreteSettings.yml
general:
filterNetsByBiggestDiam: false
beamsAndSlabs:
checkAnchorageForDiffSections: true
checkCrackingIfClassX0XC1: false
checkSymmetricBarCombinations: true
checkAnchorageCantElastFoundation: false
checkAnchorageInternalRelease: false
checkAnchorageForBottomReinfPrefab: false
checkIsDeepBeam: false
keepBasicReinfAfterRecalculation: true
keepAdditionalReinf: true
keepBasicAdditionalReinfAdvanced: true
sideReinfExtension: 0.07
switchOffDroplists: false
designBasicAdditionalEqualDiameters: false
checkXuMax: true
elasticFoundationKLambdaIsOne: true
ignoreAxialForceForReinfCalculation: true
advancedZCalculation: true
advancedAsLeverCalculation: true
checkOnConflicDiameters: true
roundBarCountToIntegerForNets: false
ignoreDeepBeamIfLovIsLessThan: 0.1
skipEN923_34_63As_IfMxLess: 100
crackingCheckEN1992: spacingAndDiameter_733
detectZeroPositionWithToleranceMy: 10
allowStirrupsForThinSlabs: false
thresholdForDetectingCutsMy: 1000
splitCutsIfAxialForceChanges: false
reductionForLatticeGirderAsi: 0
checkAsDbMinForDeepBeams: true
ignoreTopBarForLatticeGirder: true
beta1ForShearInterface: false
useTopBasicForThinSlabsLess251mm: false
applyDeepBeamRule_97_2_ForOridinaryBeams: true
lbdReductionForSlabs_844_2: true
defaults:
stirrupsDiameter: 0.008
reinfDiameter: 0.012
secondaryReinfDiameter: 0.006
designTwoBarsInRib: true
shearDesignInRib: mainReinf
prestressedMembers:
maximumTemperatureTMax: 0
initialTemperatureT0: 0
longitudinalCrackingPrevented: false
pmtTCalculation: brandforsk2016
deformations:
longLessEqualShort: true
steelDiagramInclinedBranch: false
betaFactor_743_3_Equal05: beta_05
checkDeflectionsByCalculation_743_3: Ms_Sr
extraDivisionPointsForMNKappaDiagram: 6
additionalCutsForStructuralMember: 6
parts: # required, array
- name: Part 1 # optional
level: 2 # optional, number
drawingNr: First floor # optional
category: category4a # optional, MxFloor.yml -> partCategory
engineerMain: John Smith # optional
engineerCheck: Ben Williams # optional
strips: # required, array
- name: Strip 1 # optional
generateLoads: true # optional, force to regenerate loads after load
data: # required
general: # required
type: floor # required, MxFloor.yml -> stripType
length: 5 # meters, required if project length is direct
extraBegin: 0.05 # meters, optional
extraEnd: 0.05 # meters, optional
remark: |
This is sample project.
It's purpose is to demonstrate
all possible inputs.
deflections: # optional
construction: floor # optional, MxFloor.yml -> stripConstruction
creepReduction: 1 # optional, valid range (0, 1], 1 - "no reduction"
wMax: 250 # optional
w23: 333 # optional
absolute: 0.015 # m, optional
camber: 0 # m, optional
concrete: # optional
crackCheck: true # optional
crackManage: true # optional
theta: 0 # degrees, optional, default 0 (auto)
fire: # optional
top: false # optional
bottom: true # optional
time: 60 # minutes, optional
trimming: # required only if strip type "trimming", array
reversed: false # optional
strips: # required, array
- name: Strip 1 # required, name of existing strip
shift: 0.2 # meters, optional
offset: 0.3 # meters, optional
reaction: true # false, if you do not want it acting as a reaction
- name: Strip 3
- name: Strip 4
- name: Strip 2
shift: 0.4
offset: 0.5
status: # optional
estimated: 20 # optional, number
spent: 15 # optional, number
type: percentage # optional, MxFloor.yml -> stripStatus
value: 0.5 # optional, only if type "percentage", valid range [0, 1]
date: 2021/05/26 # optional, format YYYY-MM-DD or YYYY/MM/DD
phases: # optional, array
- name: eol # required, name of existing phase. see settings -> phases
enabled: true # optional
time: 50y # optional, number folowed by 'd' (days) or 'y' (years)
humidity: 0.75 # optional, valid range [0, 1]
- name: montage
enabled: true
- name: loading
time: 28d
supports: # required, array
- distanceRelative: 0 # meters, required, any number or 'L'. 'L' supported only if settings->length is 'direct'
type: free # required, MxFloor.yml -> supportType
phases: eol|montage # optional, "all" or any other valid phase names separated by '|' from settings->phases. 'formwork' - not allowed
z: fixed # optional, Genral.yml -> supportStiffness, or any number
yr: free # optional, same as 'z', or percentage of stiffness if supported. i.e. 75%
size: 0 # meters, optional
shear: not topped # optional, MxFloor.yml -> supportShear
moment: not topped # optional, MxFloor.yml -> supportMoment
mpf: true # optional
- distanceRelative: L
type: free
releases: # optional, array
- distanceRelative: L # required, same as supports->distanceRelative
type: free # required, MxFloor.yml -> releaseType
phases: all # optional, same as support->phases. 'formwork' - not allowed
yr: free # optional, same as support->z
sections: # required, array
- distanceRelative: L # optional, same as supports->distanceRelative
#sectionId: 11131 # required this or sectionName, any valid section id. If sectionId is provided, sectionName is ignored.
sectionName: R1000x(50+200) # required this or sectionId, any valid section name
angle: 0 # optional
elementMaterial: C35/45 # required, any valid material name
elementCement: S # optional - "S", "N", "R"
layerMaterial: C20/25 # required if section is bi material
layerCement: S # optional, available if section is bi material, same as 'elementCement'
loadWidth: 1 # meters, optional
prefab: false # optional - true, false
prestress: false # optional - true, false
reinforcement: no proposals # optional, pattern name or one of keywords. MxFloor.yml -> fieldReinfRegular or MxFloor.yml -> fieldReinfPrestress
reinforcementInLayer: true # optional, Allowed if not prestressed and single material.
alignment: top # optional, MxFloor.yml -> fieldAlignment
surface: very smooth # optional, MxFloor.yml -> fieldSurface
stirrupsInPrefab: true # optional - true, false
fckT0: 45e6 # N/m2, optional
coverTop: # optional, see ConcreteCover.yml
exposureClass: XC1
structuralClass: S4
measureAccuracy: normal
castIn: standardFormwork
cover: 0.02
cDev: 0.005
aggregateSize: 0.0315
barDiameter: 0.012
coverSide: # optional, see ConcreteCover.yml
exposureClass: XC1
structuralClass: S4
measureAccuracy: normal
castIn: standardFormwork
cover: 0.02
cDev: 0.005
aggregateSize: 0.0315
barDiameter: 0.012
coverBottom: # optional, see ConcreteCover.yml
exposureClass: XC1
structuralClass: S4
measureAccuracy: normal
castIn: standardFormwork
cover: 0.02
cDev: 0.005
aggregateSize: 0.0315
barDiameter: 0.012
openings: # optional, array
- type: rect # requried, MxFloor.yml -> openingType
depth: h # meters, optional, "h" or any number
x: 0.2 # meters, required
y: 0.3 # meters, required
dx: 0.4 # meters, required
dy: 0.5 # meters, required if type is rect
filled: false # optional
loads: # optional
imposed: # optional, array
- category: category_B_OfficeAreas # requried, General.yml -> loadImposedCategory
qk: 1.5 # kNm, optional
partition: selfWeightLessEqual1 # optional, General.yml -> loadMovablePartitions
distance: 3 # meters, optional
- category: category_E1_Libraries
partition: selfWeightLessEqual1
dead: # optional
enabled: true # optional
factor: 0.5 # optional
finishings: # optional, array
- group: floors # required, General.yml -> loadFinishingCategory
type: finish_100_Sep_100 #required, General.yml -> loadFinishingType
xBegin: 0.5 # meters, optional
xEnd: 3.5 # meters, optional
- group: proppings
type: propping_260_mm
area: # optional, array
- type: dead # required, MatrixFloor.yml -> loadAreaType
subType: area # required, MatrixFloor.yml -> loadAreaSubType
load: 10e3 # N/m2, required
xBegin: 0.5 # meters, required
xEnd: 2.5 # meters, required, exception for subType 'lineY'
yBegin: 0.6 # meters, required
yEnd: 0.9 # meters, required, exception for subType 'lineX'
calculations: # optional, see LoadCalcs.yml
- page: 0
name: Page 1
values:
- i: q
d: permanentMedium
c: 5
- page: 1
name: Page 2
values:
- i: q1
d: permanentLight
c: 3
- i: q2
d: permanentHeavy
c: q1*3
cases: # optional, see LoadCases.yml
- name: test
type: imposedDistributed
category: category_E1_Libraries
psi0: 1
psi1: 0.9
psi2: 0.8
Cprob: 1.2
phases: eol # optional, assign load case to phase
loads: # optional, see Loads.yml
- t: q
v: q1
ve: q2
p: 0
pe: 1
d: z'
- t: qC
v: 3000
ve: 4000
p: 1
pe: 2
d: z'
- t: qG
v: 5000
d: z'
- t: qT
v: 6000
ve: 7000
d: yr'
- t: F
v: 8000
p: 3
- t: u
v: 3
- name: test2
type: permanent
favorite: both