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