SJ Add DC Functions

Function GRID PATH

Fonctions ARRAY

Permet de modéliser rapidement une grille de sous composant. Retourne 2 arrays avec le numéro de colonne et de rangée pour chaque copie. Ainsi que le nombre de copies. Chaque nom d'attribut crée est préfixé par le texte passé en paramètre.

GRID_PATH(nbr_colonnes, nbr_rangées, préfixe)

Paramètre(s)

  • nbr_colonnes : Nombre de colonnes de la grille
  • nbr_rangées : Nombre de rangées de la grille
  • préfixe : Préfixe des noms des arrays qui seront créés.
  •  : Le chemin est composé par la liste ordonnée du sens de jonction des sous composants (1 ou -1) séparé par des virgules.

Exemple

Télécharger le fichier de la démo (Sketchup 2017)
SjAddDCFunctions_TutoDamier_SU2017.skp

Je veux réaliser une grille de x colonnes par Y rangées d'un sous composant. Exemple un damier de 5 colonnes par 5 rangées.

Nous utilisons la fonction GRID_PATH qui va générer 2 attributs array (prefix_column, prefix_rows) et un attribut prefix_copies qui indique le nombre de copies en comptant à partir de 0. dans cet exemple le préfixe est "g".

d_c_1 c'est le nombre de colonnes, c'est un résultat de calcul (soit c'est un nombre colonnes saisi soit c'est la longueur du damier diviser par la longueur d'une case)

d_c_2 c'est le nombre de rangées, c'est un résultat de calcul (soit c'est un nombre rangé saisi soit c'est la largeur du damier diviser par la largeur d'une case)

z_grid_ini =GRID_PATH(d_c_1, d_c_2,"g")

# 3 Attributs vont être créés par la fonction :

  • g_column de type Array  avec le numéro de colonne pour chaque case du damier
  • g_rows de type Array avec le numéro de rangée pour chaque case du damier
  • g_copies de type texte qui donne le nombre de cases du damier en commençant le décompte par 0.

Dans les attributs du sous composant :

La position X d'une copy du sous composant est son numéro de colonne multiplié par la largeur des colonnes.

Pour récupérer son numéro de colonne, on va interroger le tableau (array en anglais) g_column qui contient le numéro de colonne pour chaque copy. On utilise la fonction ARRAY_VALUE( la référence de l'attribut tableau, le numéro de la valeur demandée)

X = ARRAY_VALUE("Damier!g_column,copy) * LENX

Y = ARRAY_VALUE("Damier!g_rows,copy) * LENY

LENX = Damier!b_c_1  #La largeur d'une colonne

LENY = Damier! b_c_2  # La largeur d'une rangée

Copies = Damier!g_copies

Vous utiliserez la fonction ARRAY_VALUE pour interroger les arrays générés par la fonction GRID_PATH

Pour les attributs z_access ils gèrent l'affichage des attributs selon le mode de saisie des dimensions du damier.
Plus de détails sur la Fonction SWITCH_ACCESS_ATTRIBUTE_MULTI

Les attributs z_options gèrent les valeurs de la liste d'option des couleurs des attributs e_1 et e_2. La fonction importe la liste d'option depuis un fichier CSV.
Plus d'infos sur la Fonction OPTIONS_FROM_CSV

L'attribut Even utilise la fonction native de Sketchup Even(number) qui renvoie 1 si le nombre est paire et 0 s'il est impaire.
On sait ainsi si la case est paire ou impaire. On utilise le résultat dans l'attribut Coloris pour appliquer la matière des cases paires ou la matière des cases impaires

L'attribut coloris du sous composant utilise la fonction SETMATERIAL qui applique la matière à la case.
Cette fonction fonctionne comme l'attribut natif de Sketchup Material, à la différence si le nom du matériau est "default" il y a un retour à la matière par défaut de Sketchup.