Comment réaliser un sélecteur de couleurs RAL dans DriveWorks

Le 19 décembre 2022

Dans ce tutoriel, nous allons réaliser un sélecteur de couleurs RAL dans DriveWorks. Il pourra ensuite vous permettre, par exemple, de piloter la teinte de certaines pièces d’un assemblage. Notre expert vous explique en 5 étapes comment créer un configurateur vous permettant de sélectionner une couleur RAL avec DriveWorks Pro.

 

Comment réaliser un sélecteur de couleurs RAL dans DriveWorks ?

 

1. Création du projet

 

Avant de commencer, vous devez télécharger le fichier Excel (en cliquant sur le lien ci-dessus dans la barre grise) qui contient une base de teintes RAL ainsi que leur correspondance en RGB pour l’affichage sur un écran (utile pour piloter la couleur dans SOLIDWORKS).

 

Pour cet exemple, nous intégrerons cette base de données directement dans DriveWorks Pro. Cependant, il serait tout à fait possible d’utiliser directement une source de données déjà existantes dans un fichier XML, une base de données SQL, une source ODBC, etc…

 

Maintenant, créons notre nouveau projet :

 

Démarrez DriveWorks Pro.

 

  • Créez un nouveau projet dans le groupe de votre choix. Il est conseillé de choisir un groupe qui n’est pas en production pour éviter toute erreur de manipulation si vous souhaitez juste expérimenter ce tutoriel.
  • Ouvrez ce projet.

 

2. Base de données des couleurs RAL

 

  • Créez une nouvelle table simple nommée RAL.

 

 

  • Collez les données contenues dans le fichier RAL.xlsx dans cette table.

 

 

  • Validez la table

 

2. Création d’une interface simple

 

  • Affichez l’éditeur d’interface utilisateur : Stage 2 : User Interface / Form Design.

 

 

  • Insérez une Text Box nommée CodeRAL (rappel : il ne faut pas d’espace ou de caractères spéciaux dans le nom d’entités DriveWorks et ces noms ne peuvent pas commencer par un chiffre).

 

 

  • Insérez une Combo Box nommée ListeRAL.

 

 

  • Affichage de la liste non filtrée de toutes les nuances RAL par leur nom dans la combo box ListRAL :

 

– Éditez la propriété Items de la combo box ListRAL.

Sélectionnez la combo box ListRAL.
– Cliquez sur la propriété Items, puis sur l’icône “…” qui apparaît à droite de cette case.

 

  • Créez une règle listant toutes les valeurs de la colonne Nom :

 

 

– Il est possible de consolider cette règle en identifiant le numéro de colonne par son nom. Cela la rendra insensible en cas de modification de l’ordre des colonnes.

 

Pour cela, la règle suivante permet de rechercher la colonne nommée “Nom” dans notre table :

 

 

  • Maintenant, il suffit de remplacer le 2 dans la première règle par la règle précédente :

 

 

4. Filtrer la table

 

  • Extraire la table actuellement utilisée pour afficher la liste de la combo box vers une variable

 

– Sélectionnez la combo box et rééditez la règle de la propriété Items
– Editez la règle de cette propriété Items
– Surlignez le nom de la table et, par un clic droit sur la sélection, lancez la commande Extract Variable

 

 

  • Tapez TableFiltree comme nom de variable à créer et validez la boîte de dialogue ainsi que la fenêtre de remplacement :

 

 

  • Validez la règle ainsi modifiée

 

  • Editez maintenant la variable TableFiltree nouvellement créée dans le Stage 3 : Data and Rules / Define Variables.

 

 

  • Complétez la règle comme suit :

 

 

  • Testez l’interface

 

– Retournez dans le Stage 2 : User Interface / Form Design
– Cliquez sur le bouton Test de la barre d’outils
– Notez qu’au départ la liste est vide (car aucun caractère n’est tapé dans la Text Box)

– Tapez 100 dans la Text Box CodeRAL

– La liste affiche alors tous les codes RAL commençant par 100

 

  • Modifiez le comportement pour que la liste complète soit affichée si rien n’est tapé dans le filtre

 

– Modifiez la propriété Items de la combo box ListeRAL
– Ajoutez une condition pour déterminer la table dans laquelle la liste des intitulés des couleurs RAL sera extraite. Nous allons ici afficher la table complète tant que rien n’est saisi dans notre Text Box.

 

 

  • Testez à nouveau l’interface.
  • Constatez que la liste est complète si la Text Box CodeRAL est vidée.

 

5. Ajouter un échantillon représentant la couleur de la teinte affichée par la Combo Box

 

  • Sortez du mode Test en cliquant sur le bouton Test pour qu’il n’apparaisse plus sélectionné.
  • Ajoutez une Picture Box nommée.
  • Modifiez la propriété Background Color de cette Picture Box pour être dynamique en double cliquant sur la pastille grise (qui devient alors verte).

 

 

  • Pastille grise : la valeur restera constante durant l’exécution.
  • Pastille verte : une règle dynamique calculera la valeur de la propriété.

 

  • Editez alors la règle de cette propriété.

 

 

  • Supprimez le contenu actuel de la règle et saisissez la règle suivante :

 

 

  • Cette règle permet de récupérer la composante rouge de la couleur RAL actuellement sélectionnée dans notre Combo Box.
  • Une couleur dans l’interface de DriveWorks est codée en hexadécimal (comme c’est aussi le cas dans les pages web).Inutile de se lancer dans des calculs compliqués pour déterminer le code hexadécimal de nos couleurs RAL, DriveWorks dispose heureusement d’une fonction de conversion !
    La fonction ColorHex() permet de convertir une couleur en indiquant ses 3 composantes rouge, verte et bleue.
  • Il nous suffit donc de copier la règle que nous avions tapé pour la composante rouge et de la coller pour chaque argument demandé par la fonction ColorHex() en remplaçant le “R” dans chaque copie successive par :
    – “G” (le nom de la colonne de la composante verte dans notre table)
    – Puis “B” (pour la composante bleue). Ce qui nous donnera la règle suivante :

 

 

  • Validez la règle et vérifiez que l’interface fonctionne comme prévu à l’aide du bouton test.

 

En conclusion

 

En somme, nous avons vu comment réaliser une interface permettant de filtrer une base de données de couleurs RAL et comment afficher la couleur choisie à l’écran.

 

Pour piloter la couleur d’un modèle SOLIDWORKS, il suffirait d’appliquer une règle très similaire à celle de la couleur de l’interface. En effet, en remplaçant la commande ColorHex par Color,

SOLIDWORKS utilise simplement une liste des 3 composantes pour piloter la couleur d’un modèle. C’est justement le rôle de la commande Color().

 

Cette règle serait à placer dans une propriété DWColor capturée dans chaque modèle à piloter.

 

En savoir + sur Drivework Les formations Driveworks

 

Auteur de l’article

 

  • Auteur     Christophe Demuynck, Pôle Expertise Technique, BU SERVICES, VISIATIV
  • Date         15.12.2017
  • Produit    DriveWorks Pro
  • Version   12 et ultérieures

Les solutions faites pour vous

DriveWorks

Créer des variantes de produits standards simplement

Réduisez vos délais de conception avec un configurateur CAO créant les variantes de vos produits standards en quelques minutes.

Découvrir
SOLIDWORKS

SOLIDWORKS CAO 3D

Optimiser ses conceptions avec une solution intuitive

Bénéficiez d'une solution de conception et de fabrication intuitive, puissante et novatrice pour transformer vos idées en produits innovants.

Découvrir
configurateur produits

Visiativ CPQ

Simplifiez et accélérez vos processus de vente et de fabrication de vos produits complexes.

Configurez et tarifez simplement vos produits personnalisables et complexes​. Générez des devis fiables et complets intégrant les données techniques de fabrication, avec rapidité et précision​.

Découvrir

Inscrivez-vous à nos Newsletters