STUDIO Generation Images
1. Introduction
Le but de ce document est de mettre en évidence le paramétrage nécessaire pour faire fonctionner la génération de fichiers images.
2. Configuration de Diapason
Le Serveur de services
Le serveur de service doit autoriser les images :
Cocher la case « Edition d’images »
Renseigner Le « Dossier Travail » : chemin défaut de génération des fichiers images. S’il n’est pas renseigné le moteur de génération ira chercher la variable d’infrastructure DIAP_FCT_IMACFG_REP comme chemin défaut.
Dans le cas d’un Serveur de Service Diapason (SSD), renseigner le « Dossier Exécutable » : chemin d’installation de l’exécutable gérant le dessin
« C:\Editions »: correspond à votre dossier d’installation de votre SSD
« PrgsGenerateurImages » correspond au répertoire d’installation par défaut de l’exécutable par le set-up du SSD
Les Variables D’infrastructure
DIAP_FCT_IMACFG_REP => Répertoire cible dans le cas des images pour le configurateur. Ce répertoire est pour le serveur d’édition et doit donc être accessible par ce dernier. Il dépend du système où il est installé (Windows ou Unix ).
DIAP_FCT_IMACLI_REP => répertoire client pour l’accès aux images. (Utilisé pour l’accès à l’image du configurateur en mode image). Cette variable est l’accès client au chemin de la variable précédente.
DIAP_IMG_ROOT => Chemin de substitution d’image (permet de gérer les environnements riche et web en simultané).
Rappel : Une variable d’infra peut-être configurée pour un type de client et/ou une infra et/ou un serveur d’édition donné.
Exemple de valeur possible
R // * // srv1 // DIAP_FCT_IMACFG_REP => C:\Edition\Images
W // * // srv1 // DIAP_FCT_IMACFG_REP => \\mon_serveur_stockage\Images
Ce qu’il faut lire c’est que dans le cas client riche pour une édition avec le serveur d’édition srv1, les images seront écrites dans « C:\Edition\Images ». Dans le cas d’une édition Web le dossier sera \\mon_serveur_stockage\Images . On comprend vite en regardant que le serveur d’édition est sous Windows.
R // * // srv1 // DIAP_FCT_IMACLI_REP => \\mon_serveur_edition\Edition\Images
W // * // srv1 // DIAP_FCT_IMACLI_REP => /Diap/Edition/Images
Ce qu’il faut lire c’est que dans le cas client riche, pour une édition avec le serveur d’édition srv1, il faudra aller chercher les images dans \\mon_serveur_edition\Edition\Images. Dans le cas d’une édition Web le chemin d’accès sera /Diap/Edition/Images. On comprend en regardant ce paramétrage que pour le client riche l’accès se fait par Windows et que pour le client Web l’accès se faire par Unix.
Les Variables Diverses (PARAM-GEN)
SCD-SRV-IMG => Référence du serveur d’édition utilisé pour générer l’image affichée en cours de saisie sur le configurateur.
SCD-IMG-ROOT => chemin défaut des images sur l’environnement courant. Ce chemin sera substitué par la variable d’infra DIAP_IMG_ROOT. Ce processus est en attente de la mise en place la gestion des dossiers dans diapason en fonction de l’infrastructure.
Les Images Client
Il faut renseigner les codes suivant en fonction du besoin. Sous la forme :
ADR=chemin
ADV=chemin
ADW=Chemin
ADR : Adresse pour le client riche, ADV : Adresse pour l’image vectorielle, ADW : Adresse pour le Web.
Le configurateur en mode Image
Il faut paramétrer correctement le scénario de configuration utilisée pour que les images soient générées. Il faut renseigner le format, la taille de l’image et l’unité de mesure.
3. Règles de Génération
Récupération du serveur de service
Dans le cas d’une image générée en interactif sur le configurateur le choix du serveur est donné par le paramètre général « SCD-SRV-IMG ».
Pour une génération d’image par DIALOG, il est possible de renseigner soit le serveur, soit l’imprimante. L’imprimante permettra de retrouver le serveur si nécessaire. Dans le cas ou la référence serveur et la référence de l’imprimante ne permettent pas de trouver un serveur on prendra le serveur défaut donné par le paramètre général « SCD-SRV-IMG ».
Récupération du dossier de génération des images
Dans le cas du configurateur en mode image c’est la variable DIAP_FCT_IMACFG_REP qui est forcée dès le début sans aucune possibilité de surcharge. Pour une génération d’image par DIALOG, on prend d’abord le chemin donné par la requête puis le dossier de travail renseigné sur le serveur d’édition et enfin, si aucun chemin n’as été trouvé on utilisera le chemin contenu dans la variable d’infrastructure « DIAP_FCT_IMACFG_REP ».
4. Fonction DIALOG INIT-IMAGE
BUT
Permet d’initialiser une liste standard présentant l’ensemble des dessins composant la description d’un élément d’une entité (article standard, ligne de commande commerciale).
Cette fonction est disponible dans les requêtes de type REB pour être utilisée avec la fonction GENERE-IMAGE.
Syntaxe
TYPE
CARACTERE
SYNTAXE
Variable = INIT-IMAGE ( TYPE=Type_Entité, CLE1 ENTITE = Clé1_Entité , CLE2 ENTITE = Clé2_Entité, CLE3 ENTITE = Clé1_Entité)
PARAMETRES
Paramètre | E/S | O | Type | Description |
Type_Entité | E | Oui | Caractère | Type entité de recherche. Cette référence peut être donnée par une variable locale, une constante globale, une constante locale ou bien par la sélection d’une entité pré-définie, article standard ou ligne de commande commerciale. |
Clé 1 Entité | E | Oui | Caractère | Référence clé 1 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard, il s’agit de la référence article standard ; dans le cas d’une ligne de commande commerciale, il s’agit du numéro de commande. |
Clé 2 Entité | E | Oui | Caractère | Référence clé 2 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard, cette clé n’est pas utilisée; dans le cas d’une ligne de commande commerciale, il s’agit du numéro de ligne de commande. |
Clé 3 Entité | E | Oui | Caractère | Référence clé 3 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard ou d’une ligne de commande commerciale, cette clé n’est pas utilisée. |
Cette fonction retourne la liste standard :
WfObjGraD : un élément de cette liste correspond à un objet du dessin
EXEMPLE
VLO.VarResultat = INIT-IMAGE ( TYPE=LIG.CDE, CLE1 ENTITE = VLO.NumCom, CLE2 ENTITE = VLO.NumLig , CLE3 ENTITE = CLO.’’).
Cette instruction renvoie dans la liste WfObjGraD la définition objets représentatifs des différents contextes composant la description des variables de bases de la ligne de commande dont le numéro de commande est mémorisée dans la variable locale NumCom et le numéro de ligne est mémorisée dans la variable locale NumLig.
NOTES
La variable retour est vide si l’exécution de la fonction s’est correctement déroulée ; sinon, elle contient le code erreur DIAPASON et le libellé associé à l’erreur.
Cette instruction couplée à l’instruction GENERE-IMAGE permet de créer une image de représentation de l’article commandé.
5. Fonction DIALOG GENERE-IMAGE
BUT
Permet de générer, à partir d’une structure d’entrée alimentée par DIALOG, une ou plusieurs images. La fonction renvoie ‘’ dans la variable résultat si la génération s’est bien passée, ‘*PB ‘ si un problème est survenu.
Syntaxe
TYPECARACTERE
SYNTAXE
Variable = GENERE-IMAGE ( )
PARAMETRES : Listes à utiliser
Cette fonction ne comporte aucun paramètre mais son utilisation nécessite la création
d'au moins un enregistrement de la liste WfObjGen et WfObjGraD dont voici les descriptions :
La liste standard ‘WfObjGraD’ est constituée des champs ci-dessous :
Référence | Désignation | Type | Obligatoire. Commentaire. |
ObjNumOrd | Numéro d’ordre de création des objets. | Caractère | OUI |
ObjRefObjF | Référence de l’objet courant | Caractère | OUI |
ObjRel | Indique que cet objet est créé par rapport à un autre objet. | Logique | NON |
ObjRefObjP | Référence de l’objet Père. Utile dans le cas où l’on crée des objets en relatif. | Caractère | OUI si le champ ObjRel est à OUI |
ObjTypObj | Type de l’objet | Caractère | ‘REC’ : Rectangle ‘LIG’ : Ligne ‘IMG’ : Image ‘TXT’ : Texte ‘BIB’ : Bibliothèque |
ObjRefBib | Référence objet de la bibliothèque | Caractère | |
ObjConBib | Condition Inclusion des Objets. | Caractère | |
ObjConBibExc | Condition Exclusion des Objets. | Caractère | |
ObjConBibFor | Condition d’inclusion des Objets. sous forme de formule. | Caractère | |
ObjPosDebX | Positionnement Début X | Caractère | |
ObjPosDebY | Positionnement Début Y | Caractère | |
ObjPosFinX | Positionnement Fin X’ | Caractère | |
ObjPosFinY | Positionnement Fin Y’ | Caractère | |
ObjHau | Hauteur | Caractère | |
ObjLar | Largeur | Caractère | |
ObjUme | Unité de mesure de l’objet | Caractère | |
ObjPar | Liste des paramètres utilisés dans la description des objets issus de la bibliothèque. | Caractère | |
ObjParVal | Valeur des paramètres | Caractère | |
ObjFam | Référence Famille Objet | Caractère | |
ObjCarRef | Référence Caractéristique | Caractère | |
ObjCar
| liste chaînée des attributs rattachés à l’objet. Remarque : la liste chaînée doit être identique au contenu de la zone ‘Caractéristiques’ de l’onglet ‘caractéristiques objet’ se trouvant sur la définition du détail d’un objet. | Caractère | Les caractéristiques qui seront gérées : - la couleur du trait - style du trait - l’épaisseur du trait - style opaque ou transparent - Police - Taille du texte - Style du texte - … |
ObjCarDimRef | Référence caractéristique de génération | ||
ObjTxt | Texte rattaché à l’objet | Caractère | |
ObjImg | Référence Image | Caractère | |
ObjCouF | Couleur de fond | Caractère | |
ObjConBib | Condition affichage des objets élémentaires | Caractère | |
ObjConBibExc | Condition Exclusion de l’affichage de l’objet | Caractère | |
ObjConBibFor | Condition Formule de l’affichage de l’objet. | Caractère | |
ObjLisFamExc | Liste des références familles à Exclure | Caractère | |
ObjLisFam | Liste des références familles rattachée à l’objet. | Caractère |
La liste standard ‘WfObjGen’ est constituée des champs ci-dessous :
Référence | Désignation | Type | Obligatoire. Commentaire. |
ObjRefFic | Nom du fichier à générer. | Caractère | OUI |
ObjForGen | Format de génération. | Caractère | OUI. Si le format de génération est égal à 0 alors le format est déduit du nom du fichier par rapport à son extension. Les formats possibles sont : BMP : Fichier BITMAP JPG : Fichier jpg JPG25 : Fichier jpg (qualité 25%) JPG50 : Fichier jpg (qualité 50%) JPG75 : Fichier jpg (qualité 75%) PNG : PNGFILE (Portable Network Graphics) |
ObjLisFam | Liste des familles à inclure lors de la génération. | Caractère | NON |
ObjLisFamExc | Liste des familles à exclure lors de la génération. | Caractère | NON |
ObjDimGen | Dimension de l’image à générer sous la forme Hauteur;largeur. | Caractère | OUI |
ObjUmeDim | Unité de mesure associée aux dimensions de génération. | Caractère | NON |
ObjSrvDes | Référence serveur de génération | Caractère | Soit on renseigne une référence serveur soit une référence imprimante. |
ObjImpDes | Référence Imprimante pour génération. | Caractère | Soit on renseigne une référence serveur soit une référence imprimante. |
ObjCarDimRef | Référence caractéristiques dimensionnelles associée. | Caractère | NON |
ObjSrvDest | Serveur de destination (utilisation comme paramètre de la commande système si il en a une) | Caractère | NON |
ObjRepDest | Dossier de destination de l’image | Caractère | NON |
Cette fonction peut éventuellement utiliser la liste de paramétrage « WfObjPar » dont voici la description :
Référence | Désignation | Type | Obligatoire. Commentaire. |
ObjTypPar | Type de paramètre : - ‘*’ : Général - FAM : Caractéristique Famille - OBJ : Caractéristique Objet | Caractère | OUI |
ObjRef | Contient soit la Référence Famille soit le type de l’objet | Caractère | OUI |
ObjCarRef | Référence caractéristique présentation associée. | Caractère | NON |
ObjCar | Liste des caractéristiques de présentation associée. | Caractère | NON |
ObjUme | Unité de Mesure | Caractère | NON Utile si l’on gère la caractéristique ‘Marge Cote’ dans la liste des caractéristiques. |
ObjCarDimRef | Référence caractéristiques dimensionnelles associée. | Caractère | Non géré |
Remarque : Il n’est pas possible de lancer la fonction en lui passant en paramètre plusieurs WfObjGen utilisant des types de serveurs différents (SSJ et SSD par exemple). Pour pouvoir générer des images sur deux types de serveurs différents, il faudra utiliser plusieurs fois la fonctions « GENERE-IMAGE».
Pour plus d’informations sur la génération d’objets graphiques voir documentation sur les « Objets Graphiques ».
EXEMPLES :
Avertissement :
Dans les exemples, la génération d’image est déclenchée dans un Doc (Requête REB) exécuté en Batch et déclenché depuis une GCL (GCL-Image) en validation de la ligne de commande.
Avec les valeurs suivantes pour les constantes globales utilisées ci-dessous :
Constante | Désignation | Valeur |
IscImgDimDOC | Dimension image pour document | 20 ;28 |
IscImgDimECR | Dimension image pour écran | 20 ;20 |
IscImgFmt | FormatImage | JPG |
IscImgSrv | Serveur Génération Image | images |
Cas d’une image sans marge blanche autour du dessin..
Cas d’une image à format fixe avec marge blanche autour du dessin..
6. Compléments
Paramétrage du positionnement de l’image
Lors de la génération on place l’image dans le coin haut gauche de la zone de génération « au plus grand ». On effectue ensuite son positionnement final.
Pour choisir le mode dans la requête, il suffit de créer un enregistrement dans WfObjPar. Le champ WFObjPar.ObjCar devra contenir un des quatre modes décrits ci-dessus. Dans le cas où le mode choisi n’existe pas c’est le mode « AJUSTER » qui sera utilisé. Dans le cas de générations successives il faudra penser à supprimer ou mettre à jour la valeur du mode. Le mode est commun à toutes les générations lors d’une génération multiple (plusieurs « WFObjGen » pour 1 seul « GENERE-IMAGE »).
Exemple :
La variable local prendra comme valeur le nom du mode souhaité.
Mode « Ajuster »
Lors de la génération on place l’image dans le coin haut gauche de la zone de génération « au plus grand ». On effectue ensuite son positionnement final.
Par défaut le superflu de la zone de génération est rogné. C’est le mode « AJUSTER ».
Mode « CENTRER »
L’image est centrée dans la zone de génération et cette dernière n’est pas rognée.
Mode « LARGEUR »
La taille de la zone de génération est recalculée par rapport au ratio de l’image à générer. On prend la largeur de génération comme valeur de référence
Mode « HAUTEUR »
La taille de la zone de génération est recalculée par rapport au ratio de l’image à générer. On prend la hauteur de génération comme valeur de référence
Gestion des formats de générations
En fonction du serveur de service utilisé plusieurs possibilités sont disponibles :
Format | Description | SSJ | SSD |
BMP | Bitmap Windows ou OS/2 | ||
JPG | JPEG avec qualité 100% | ||
JPG25 | JPEG avec Qualité 25% | ||
JPG50 | JPEG avec Qualité 50% | ||
JPG75 | JPEG avec Qualité 75% | ||
MDP | MetaDraw Picture | ||
PNG | Portable NetWork Graphics | ||
GIF | Graphics Interchange Format | ||
TIFF | Tagged Image File Format | ||
DXF | Drawing eXchange Format | ||
ICO | Icône |
Il est possible de générer les images aux formats vectoriels (DXF,…) pour utilisation dans d’autres outils externe à Diapason.
Remarques :
Le rendu visuel des dessins générés aux formats Vectoriels dépends des caractéristiques de l’ outil de visualisation utilisé.
Le rendu visuel des images dépends des caractéristiques propre au format de génération Utilisé
Spécificités propres à un serveur de service Diapason (SSD)
Tous les objets commençants par « AddPnt » seront automatiquement supprimés
Style de texte des caractéristiques Objets Graphiques: Les styles de textes « J-COTE », « J-COTE-CPB », « J-COTE-FIXE » et « J-COTE-FIXE-MINI » ne sont pas interprétés par le serveur de service Diapason. Cette gestion devra être réalisé avec les caractéristiques dimensionnelles en cas de besoins particuliers.
Gestion des fichiers temporaires: En cas d’erreur, si le niveau de trace du SSD est à « 3 », le fichier *.trc ainsi que les fichiers de de données (*.JSON) seront conservés dans les répertoires des traces et des fichiers temporaires. Si le niveau de trace du serveur de service est égal à « 5 », ces fichiers seront conservés pour toutes les demandes de génération.
Définition du Serveur de Service: Le « Dossier Exécutable » est obligatoire dans ce cas.
Le chemin à renseigner dépend de l’installation de votre serveur de service. Sur cet exemple :
-« C:\Editions »: correspond à votre dossier d’installation du SSD.
-« PrgsGenerateurImages » correspond au répertoire d’installation par défaut de l’exécutable de génération d’image par le set-up SSD.
Gestion du ZOOM: La gestion du zoom est différente entre une génération via un SSJ et un SSD. Lors d’un changement de Serveur de service , il sera nécessaire de procéder à une phase de réglage.
Gestion des polices: Les polices doivent être définies dans les paramètres « Polices Objets Graphiques »
La désignation contient le nom de la police.
Cette police doit être sur le poste client pour la saisie interactive et sur le serveur de service pour la génération d’image.
Remarque : Si une police particulière est appliquée à un objet Texte. Tous les objets dessinés en suivant hériteront de cette police si aucune autre Police n’est précisée.
Insertion d’image Vectorielle
Les images vectorielles doivent être défini dans les paramètres « Images Objets Graphiques » et doivent être accessible depuis le serveur de Service pour la génération d’image et depuis le poste client pour la saisie de configuration .
La désignation contient le chemin de l’image.