Skip to main content
Skip table of contents

Gestions des Formules


Les formules manuelles permettent de référencer un calcul ou une recherche dans le but d’être utilisé et réutilisé dans divers outils des moteurs GC et DT.

Les formules manuelles se décomposent en deux grandes classes identifiées par la notion de cadre d’utilisation :

  • Recherche d’une valeur liée à une matrice de valeur ou de VAS ou SAS (uniquement les champs caractéristiques de la fiche article) ou bien encore des ITS, ITD, ITN ainsi que des informations sur les modèles de la librairie dessin.

  • Calcul : la formule est de type calcul et renvoie un calcul numérique, alphanumérique ou booléen.

  • Fonction : Formules mathématiques de base (ARRONDI, …)

  • Métier : Formules dédiées aux calculs spécifiques Métier

Le résultat d’une formule peut être de 3 types :

  • Caractère

  • Numérique

  • Logique

Formules de calcul

Les formules de type calcul se définissent directement sous forme d’une expression du L4G Progress, dont les variables de calcul peuvent être des :

  • VBA qui doivent être identifiées de la façon suivante : VBA.La_référence_de_la_VBA

  • VBP qui doivent être identifiées de la façon suivante : VBP.La_référence_de_la_VBP

  • VSD qui doivent être identifiées de la façon suivante : VSD.La_référence_de_la_VSD

  • Formules qui doivent être identifiées de la façon suivante :

FOR.La_Reference_de_la_Formule.

  • Constante globale : CGL. La_référence_de_la_constante.

Les formules FONCTION

Les formules Fonctions permettent de gérer les diverses fonctions trigonométriques (COS, SIN, ARCCOS…) ainsi que la gestion de la fonction arrondi.

Les formules CALCUL DIMENSIONNEL

Les Formules de Calcul Dimensionnel sont liées à la définition des objets du calcul dimensionnel. La Documentation CALCUL DIMENSIONNEL détaille les différents paramètres de ces formules.

Les formules de recherche

Les formules de recherches permettent de récupérer une donnée caractère ou numérique en précisant l’entité de recherche ainsi que la clé de recherche 

Recherche sur Variable Standard Article : SAS

Seules les variables dont la référence commence par CARxxx ainsi que les variables GenFamArt, GenSFaArt, GenDesArt, GenDeLArt [1] , GenDeLArt [2] et GenDeLArt [3] peuvent être récupérées.

Recherche sur Variable Spécifique Article : VAS

Recherche sur Matrice de Valeurs 

Voir paragraphe Récupération d’une valeur d’une matrice de valeurs

Recherche sur Informations Techniques Scénario : ITS

Ce type de formule permet d’effectuer des recherches de valeurs ou somme sur les IT scénario ITS du scénario en cours, contexte courant, contexte spécifique ou tous contextes.

Recherche sur Informations Techniques Dessin : ITD

Ce type de formule permet d’effectuer des recherches de valeurs ou somme sur les IT dessin ITD du scénario en cours, contexte courant, contexte spécifique ou tous contextes.

Recherche sur Informations Techniques Nomenclature : ITN

Voir paragraphe matrice MAJ de Type d’utilisation INoITNom

Recherche sur Requête REB

Ce type de formule permet d’exécuter une requête de type REB et de récupérer la valeur d’une VBP initialisée dans la requête.

Recherche sur Arbre de Condition

Les formules de recherche sur arbre de condition permettent d’exécuter un arbre de condition et de récupérer la référence d’une variable de type VBA, VBP ou VSD qui aura été initialisée durant l’exécution de l’arbre.

Recherche sur Modèle Librairie

Les formules de recherche sur Modèle Librairie permettent de récupérer des paramètres liés à un modèle de la librairie dessin.

Ce type de formule attend de trois à quatre paramètres :

  • La référence du modèle définie par une constante une VBA, VSD, VBP ou Formule

  • Le type d’élément recherché : Est-ce une information liée à Type d’élément (Nombre de Zones, de traverses, etc.) ou bien par rapport à une référence élément telle que Z1, V2, TH1 (position, Forme Géométrique)

  • Le type de recherche à effectuer : nombre des zones, listes des éléments verticaux… Voir liste ci-dessous

  • Filtre/Elem : nature des éléments que l’on souhaite récupérer (Dormant, Ouvrant, TravH, etc.)

Type Formule

Type Element ou Ref Element

Val Recherchée

Désignation

Caractère

Ref Element

FormeElem

Forme Géométrique de l'élément

Caractère

Ref Element

ListeElemB

Liste des Eléments en Bas / Element

Caractère

Ref Element

ListeElemD

Liste des Eléments A Droite / Element

Caractère

Ref Element

ListeElemG

Liste des Eléments A Gauche / Element

Caractère

Ref Element

ListeElemH

Liste des Eléments en Haut / Element

Caractère

Ref Element

ListeElem2NB

Liste des Eléments de 2eme Niveau en Bas / Element

Caractère

Ref Element

ListeElem2ND

Liste des Eléments de 2eme Niveau à Droite / Element

Caractère

Ref Element

ListeElem2NG

Liste des Eléments de 2eme Niveau à Gauche / Element

Caractère

Ref Element

ListeElem2NH

Liste des Eléments de 2eme Niveau en Haut / Element

Caractère

Vide

FormeMod

Forme Géométrique du Modele

Caractère

Vide

ParDefMod

Liste des Paramètres du Modele

Numérique

Ref Element

HautElem

Hauteur Element

Numérique

Ref Element

LargElem

Largeur Element

Numérique

Type Element

NbElem

Nombre d'éléments

Numérique

Ref Element

PosXElem

Position X Element

Numérique

Ref Element

PosYElem

Position Y Element

Remarques : l’utilisation des formules avec valeur recherchée HautElem, LargElem,PosXElem et PosYElem ne peut être faite que dans les QOP de définition du modèle. Les autres types de recherche peuvent être réalisés dans le moteur GC et QOP.

Les éléments retournés par ce type de formule sous forme de liste chainée sont ordonnés selon les axes d’un repère orthonormé.

Recherche sur Query

Les formules de recherche sur Query ont pour but d’alimenter des listes d’aide à partir d’un query d’extraction (syntaxe L4G Progress) exécuté sur des TV du plugin.

Les tables accessibles sont les suivantes :

DDArtic

Table des Articles

SPEIGeGeoGrp

Groupe Géométrie Profil

SPEIGeGeoMac

Géométrie Masse Centrale

SPEIGeProfil

Profil

SPEIMDInter

Intercalaires

SPEIMDLames

Lames

SPEIMDPanneau

Panneaux

SPEIMDRenfGeo

Lien Renfort / Géométrie

SPEIMDRenfor

Renfort

SPEIMDVitrag

Vitrage

Le query d’extraction doit utiliser la syntaxe du L4G progress en respectant le type et la référence de chacun des champs de la table d’extraction. Le Query d’extraction comporte déjà la syntaxe suivante :

WHERE NomTV.RefSocApp = « Société Courante » AND Votre Formule D’extraction

Votre Formule d’extraction complète la syntaxe ci-dessus.

Ces Formules peuvent être directement utilisées en tant que liste d’aide des VBA d’un questionnaire au même titre que des listes d’aide MAN, DYN, MAT ou ARC.

Recherche Traduction d’une VBA

Les formules de recherche de type Traduction permettent de récupérer le libellé ou le code de la valeur d’une VBA traduit à partir du type de désignation passé en paramètre.

image-20240308-063112.png

Ref VBA : référence de la VBA à partir de laquelle la traduction doit etre réalisée

Valeur VBA : valeur de la VBA à partir de laquelle la traduction doit etre réalisée

Type Désignation de Traduction : type de désignation devant etre récupéré ( langue de traduction)

Val / Lib : choix de l'élément à traduire : Libellé complémentaire de la valeur de la VBA ( ex Ouvrant à la Française 2 Vantaux) ou code Valeur de la VBA ( ex OF2)

Les formules Métier

Les formules Métier permettent d’effectuer des calculs spécifiques liées au métier de la menuiserie.

Calcul de Répartition Périodique

Le but de cette formule de calcul est en autre de déterminer des positionnements d’usinage sur un profilé en fonction de diverses contraintes.

La formule renvoie la liste chainée des positions d’usinage (position1 ; position2 ; position3 ; etc.) voir schéma

La formule attend les paramètres suivants :

  • Type de calcul : Répartition avec nombre de positon figé ou non figé

  • Dimension de répartition : Dimension sur lequel le calcul doit s’appliquer

  • Décalage Origine : décalage à ajouter au résultat du calcul

  • C1 : Delta Début : Valeur à soustraire de la dimension de répartition avant calcul, pour déterminer la première position.

  • C2 : Delta Fin : Valeur à soustraire de la dimension de répartition avant calcul, pour déterminer la dernière position

  • Nombre Position Mini : (non obligatoire) nombre de positions mini devant être calculées

  • Pas Maximum : valeur maximum entre deux positionnements.

  • Jalon / Début : Yes / No : Le premier Jalon doit il générer une position de calcul ?

  • Jalon / Fin : Yes / No : Le dernier Jalon doit il générer une position de calcul ?

Les Formules sur Pointeurs

Déplacement de pointeur en phase2 (Moteur ABL uniquement)

Lors de l’exécution des règles de niveau 2 (et uniquement niveau 2) le pointeur en cours de traitement peut être déplacé à l’aide du nouveau type de formule (cadre d’utilisation DTpointeur) vers un autre pointeur de la nomenclature déjà générée.

Le lien en cours sera « collé » sous le lien cible (Type Maj : Fils) ou en tant que frère du pointeur cible (Type Maj : Frere)

Le pointeur cible est identifié à partir des paramètres : composé – N° Ordre – Composant - Clé pointeur. Si plusieurs pointeurs cible correspondent aux critères d’identification, le pointeur courant sera déplacé sur le premier d’entre eux.

Les champs Composé , N°Ordre , composant et Clé pointeur peuvent être exprimés sous forme de constante ( Dormant,…) ou sous forme de VBA, VBP ou FOR . exemple : VBA.DorObjRef

La formule de déplacement doit être paramétrée en tant que règle d’INI de niveau 2 du pointeur à déplacer. La formule de déplacement de pointeur sera exécutée en dernier action du lien, après toutes les règles EXI, INI et IT.

Formules avec arguments

Cette fonctionnalité a pour but de pouvoir passer des arguments à une formule au moment de l’appel. Il est ainsi possible de rendre plus générique les formules.

Le principe général est de pousser au moment de l’appel de la formule les arguments qui doivent être utilisés dans la formule. Les arguments doivent être spécifiés entre crochet à la suite de la formule et séparés par des points virgules et sans espace entre les arguments. Le premier élément de la liste chainée correspond à l’argument un, le deuxième a l’argument 2 …

Les arguments peuvent être définis sous forme de VBA, VBP ou Formule.

Lors de la définition de la formule les nouveaux mots clés Arg.Car1 à Arg.Car9 (argument de type caractère) , Arg.Num1 à Arg.Num9 ( argument de type numérique) et Arg.Log1 à Arg.Log9 ( argument de type logique) peuvent être utilisés et seront interprétés dynamiquement au moment de l’exécution de la formule en fonction des valeurs passées lors de l’appel.

Exemple d’une mise à jour de variable avec une formule avec argument

VBA.s_modele = FOR.ForArg[VBA.i_modele]

Dans l’exemple ci-dessus on pousse à la formule ForArg un seul argument qui est la VBA.i_modele.

Lors de la définition de la formule le mot clé ARG.ValCar1 pourra être utilisé pour construire la formule et sera interprété au moment de l’exécution de celle-ci.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.