MatrixFloor MXSIOY protocol

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