1. Syntax#

cabl_precont = DEFI_CABLE_BP (
    ◆ MODELE = model,
    ◆ CHAM_MATER = cham_master,
    ◆ CARA_ELEM = cara_elem,
    ◆ GROUP_MA_BETON = GRMA,
    ◆ TYPE_ANCRAGE =/"ACTIF ",
                     /"PASSIF ",
    ◇ ADHERENT =/"OUI" (by default),
                 /"NON ",
    # If: (equal_to (" ADHERENT ", 'OUI'))
        ◆/DEFI_CABLE = _F (
               ◇/GROUP_MA = grma,
                 /| TABL_CABLE = table,
                   | GROUP_NO_ANCHOR = grno,
            ),
          /MODI_CABLE_RUPT = _F (
               ◆ GROUP_MA = GRMA,
               ◆ GROUP_NO_ANCRAGE = grno,
               ◆ TENSION = table,
            ),
        ◇ TYPE_RELAX =/"SANS" (by default),
                       /"BPEL ",
                       /"ETCC_DIRECT ",
                       /"ETCC_REPRISE ",
        # If: equal_to (" TYPE_RELAX ", 'BPEL')
            ◆ R_J = float,
        # If: equal_to (" TYPE_RELAX ", 'ETCC_DIRECT')
            ◆ NBH_RELAX = float,
        # If: equal_to (" TYPE_RELAX ", 'ETCC_REPRISE')
            ◇ MODI_CABLE_ETCC = _F (
                 ◆ GROUP_MA = GRMA,
                 ◆ GROUP_NO_ANCRAGE = grno,
                 ◆ TENSION = table,
              ),
            ◆ NBH_RELAX = float,
        ◇ CONE = _F (
             ◆ RAYON = float,
             ◆ LONGUEUR = float,
             ◆ PRESENT =/"OUI ",
                         /"NON ",
          ),
    # If: (not exists (" MODI_CABLE_RUPT "))
        ◆ TENSION_INIT = float,
        ◆ RECUL_ANCRAGE = float,
    # If: (equal_to (" ADHERENT ", 'NON'))
        ◆ DEFI_CABLE = _F (
             ◆ GROUP_MA = GRMA,
             ◆ GROUP_NO_ANCRAGE = grno,
          ),
    ◇ TITRE = text,
    ◇ INFO =/1 (by default),
             /2,
)

◆: mandatory
◇: optional
: present by default
&: together
/: only one among
|: several possible choices