Liste des fonctions pour les composants dynamiques ajoutées par le plugin

Fonctions texte

Permet d'obtenir le nombre d'occurrence d'une chaîne de caractère(s) dans un texte.

OCCURRENCE(texte, chaîne)

Paramètre(s)

  • texte : Texte sur lequel la recherche sera effectuée.
  • chaîne : Chaîne de caractère(s) à trouver.

Ajoute un avertissement en fin de description du composant visible dans le panneau options composant dynamique et dans la description du fichier skp si vous enregistrer le composant.
, Attention ce composant utilise des fonctions de calcul non natives de Sketchup !!!
, Il requiert l'installation du plugin sj_AddDCFunctions!

NOTEADDDCFUNCTIONS(nomAttribut)

Paramètre(s)

  • nomAttribut : Nom de l'attribut qui a appelé la fonction.

Fonctions texte 3D

Créer un sous composant texte 3D éditable, et les attributs pour paramètrer son édition.
, texte, caractère saut de ligne, font, alignement, italique, gras, remplir, hauteur d'extrusion, décalage...
, et un attribut de calcul pour recréer les géométrie.
, La fonction doit être appelée par un attribut nommé txt_ini

CREATE3DTEXT(nomNouveauComposant, texte)

Paramètre(s)

  • nomNouveauComposant : Nom du sous composant texte qui sera créé.
  • texte : Le texte qui sera modélisé

Fonction pour éditer un texte 3D

EDIT3DTEXT(texte, lineBreak, alignement, police, gras, italique, hauteur, tolérance, offsetZ, Remplissage, extrusion, actualiser, offsetX, offsetY)

Paramètre(s)

  • texte : Le texte qui sera modélisé
  • lineBreak : Caractère de remplacement des sauts de ligne
  • alignement : gauche = 0, centre = 1, droite = 2
  • police : Police d'écriture
  • gras : oui = 1, non = 0
  • italique : oui = 1, non = 0
  • hauteur : Hauteur des caractères.
  • tolérance : Tolérance d'arrondi des courbes 0,1 mm
  • offsetZ : Décalage du texte sur son axe Z.
  • Remplissage : Contour seul (pas d'extrusion) = 0, Rempli avec contour = 1, Rempli sans contour = 2
  • extrusion : Hauteur d'extrusion du texte en centimètres, uniquement si remplissage > 0
  • actualiser : Édite le texte si actualiser = 1, sinon renvoi texte non édité
  • offsetX : Décalage du texte sur son axe X.
  • offsetY : Décalage du texte sur son axe Y.

Créer un sous composant fond pour le texte 3d créer avec Create3dText.
Créer des attribut supplémentaire pour gérer les marges et la visibilité du fond et son épaisseur.

CREATEFOND3DTEXT()

Paramètre(s)

Fonctions dimensions

Retourne le volume du composant solide, converti et arrondi.
, Si le composant n'est pas solide, c'est la valeur du paramètre "valeurSiNonSolide " qui est renvoyée.

VOLUME(unité, valeurSiNonSolide, arrondi)

Paramètre(s)

  • unité : Les unités possibles : pc3, m3, dm3, cm3, l,dl,cl,ml,dam3,hm3 et km3.
  • valeurSiNonSolide : Valeur de retour si le volume n'a pas pu être défini, car le composant n'est pas solide. Peut-être du texte ou un nombre.
  • arrondi : Nombre de chiffres après la virgule.

Calcul de l'aire des faces du composant.

AIRE(unité, arrondi)

Paramètre(s)

  • unité : Les unités possibles : pc2, m2, dm2, cm2, mm2, dam2, hm2 et km2.
  • arrondi : Nombre de chiffres après la virgule.

Calcul la longueur du profil construit avec le plugin Profil Builder

PROFILBUILDER(unité, arrondi)

Paramètre(s)

  • unité : Les unités possibles : pc, m, dm, cm, mm, dam, hm et km.
  • arrondi : Nombre de chiffres après la virgule.

Fonctions visibilité

Permet de paramètrer l'affichage des arêtes à l'intérieur du composant (cachées, adoucies, lisses).

SETVISIBILITYEDGES(cachée, adoucie, lisse)

Paramètre(s)

  • cachée : oui = 1, non = 0
  • adoucie : oui = 1, non = 0
  • lisse : oui = 1, non = 0

Permet de cacher ou révéler les arêtes non groupées d'un composant.

SETHIDDENEDGES(cachée)

Paramètre(s)

  • cachée : oui = 1, non = 0

Permet de cacher ou révéler les faces non groupées d'un composant.

SETHIDDENFACES(cachée)

Paramètre(s)

  • cachée : oui = 1, non = 0

Fonctions Calques/Balises

Place l'instance sur le calque passé en paramètre.
Les copies d'un composant obtenu avec l'attribut copies, sont placées par Sketchup sur le calque0 ou sans balise, même si le composant originel est sur un autre calque.
Cette fonction forcera les copies à se placer sur le calque de vo

SETLAYER(nomDuCalque)

Paramètre(s)

  • nomDuCalque : Saisissez le nom du calque cible ou saisissez défaut pour placer sur Calque0 - pas de balise

Fonctions Matières

Applique la matière passée en paramètre au composant. La différence avec l'attribut Material c'est la possibilité de revenir à la matière par défaut si la valeur vaut "default".

SETMATERIAL(nomMatiere)

Paramètre(s)

  • nomMatiere : Nom de la matière ou "default" pour revenir à la matière par défaut.

Crée et applique la matière correspondant à la température kelvin passée en paramètre.
Convertit la température en valeur RGB. Grâce à un algorithme.
Très utile pour l'éclairage des scènes.
Renvoie le nom de la matière créée.

SETMATERIALKELVIN(temperature)

Paramètre(s)

  • temperature : Valeur entre 60 et 8000 K

Permet d'appliquer une matière sur les faces à l'intérieur du composant.
Paramètres pour chaque cotés de la face.
Pratique pour les opération booléennes.

SETMATERIALFACES(matiereAvant, matiereArriere)

Paramètre(s)

  • matiereAvant : Nom de la matière, pour les faces avant, pour retrouver la matière par défaut "default".
  • matiereArriere : Nom de la matière, pour les faces arrière, pour retrouver la matière par défaut "default".

Permet d'appliquer une matière sur les faces avant à l'intérieur du composant.

SETMATERIALFRONTFACES(nomMatiere)

Paramètre(s)

  • nomMatiere : Nom de la matière ou "default" pour revenir à la matière par défaut.

Permet d'appliquer une matière sur les faces arrière à l'intérieur du composant.

SETMATERIALBACKFACES(nomMatiere)

Paramètre(s)

  • nomMatiere : Nom de la matière ou "default" pour revenir à la matière par défaut.

Permet d'appliquer un matériau sur les faces coplanaires au plan passé en paramètre, à l'intérieur du composant.
Paramètres pour chaque côté du visage. Peut être utile en menuiserie pour appliquer un matériau de placage sur un champ, ou tout simplement respecter le fil, le grain et le contre-fil du bois.
Si aucun plan valide n'est défini, le matériau est appliqué à toutes les faces.
Si le matériau est introuvable, renvoie le matériau par défaut.

SETMATERIALFACEPLANE(facePlane, matiereAvant, matiereArriere)

Paramètre(s)

  • facePlane : Plane of the faces XY, i_XY, XZ, i_XZ, YZ, i_YZ. or all
  • matiereAvant : Nom de la matière, pour les faces avant, pour retrouver la matière par défaut "default".
  • matiereArriere : Nom de la matière, pour les faces arrière, pour retrouver la matière par défaut "default".

Permet d'appliquer une matière les segments à l'intérieur du composant !
Pratique pour les opérations booléennes.

SETMATERIALEDGES(nomMatiere)

Paramètre(s)

  • nomMatiere : Nom de la matière ou "default" pour revenir à la matière par défaut.

Permet de changer la texture d'une matière, tres pratique pour avoir plusieurs textures pour une même matière

CHANGEMATERIALTEXTURE(nomMatiere, path, texture_file)

Paramètre(s)

  • nomMatiere : Nom de la matiere ciblée
  • path : Chemin du dossier contenant la texture
  • texture_file : nom du fichier texture avec son extenssion

Fonctions rotation

Permet une rotation en incrément de la transformation existante du composant. La rotation à lieu autour du point d'origine du composant ciblé par l'attribut level.
, Pratique quand elle est appelée par l'attribut OnClic.
, Exemple OnClic : Set("rot_result",SetRotation("z",90,1,1)
, Réalisé sur un clic, la rotation du composant parent autour de son axe Z de 90 degrés.

SETROTATION(axe, angle, verrou, niveau)

Paramètre(s)

  • axe : Lettre de l'axe, X, Y ou Z.
  • angle : Valeur de l'angle de rotation en degrés. Peut être positif ou négatif.
  • verrou : Si verrou = 1, la rotation a lieu, sinon elle est n'est pas réalisée.
  • niveau : La rotation peut être sur le composant qui appelle la fonction niveau = 0, ou sur son composant parent niveau = 1, ou le grand parent niveau = 2.

Permet une rotation en incrément de la transformation existante du composant. La rotation a lieu autour du point d'origine du composant ciblé par l'attribut offset. La rotation est réalisée sur le composant ciblé par l'attribut niveau. Pratique quand elle est appelée par l'attribut OnClic
Exemple OnClic : Set("rot_result",SetRotation("z",90,1,1,0)
Réalisé sur un clic, la rotation du composant parent sur son axe Z de 90 degrés avec en centre de rotation l'origine du composant appelant de la fonction).

SETROTATIONOFFSET(axe, angle, verrou, niveau, offset)

Paramètre(s)

  • axe : Lettre de l'axe, X, Y ou Z.
  • angle : Valeur de l'angle de rotation en degrés. Peut être positif ou négatif.
  • verrou : Si verrou = 1, la rotation a lieu, sinon elle est n'est pas réalisée.
  • niveau : La rotation peut être sur le composant qui appelle la fonction niveau = 0, ou sur son composant parent niveau = 1, ou le grand parent niveau = 2.
  • offset : Le centre de la rotation peut-être le point d'origine du composant appelant offset = 0, du composant parent offset = 1, ou du grand parent offset = 2. La valeur de l'offset ne peut pas être supérieure à la valeur du niveau.

Créer les attributs dynamiques pour piloter une rotation lors d'un clic sur un composant enfant.
, Cette fonction doit être appelée depuis un attribut nommé "rot_ini".
, Elle crée 5 attributs : rot_x_angle, rot_y_angle, rot_z_angle, rot_view, rot_lock, puis efface la formule de rot_ini et renvoie le message "Attributs créés".
, Si niveau = 0, les attributs ne sont créés que dans le composant, si niveau = 1, les attributs sont créés dans le composant et le composant parent, avec un retour par formule des valeurs du parent dans le composant.
, Si niveau = 2, alors idem mais sur 3 niveaux.

SETATTRIBUTROTATION(niveau)

Paramètre(s)

  • niveau : 0 le composant, 1 le parent, 2 le grand-parent.

Fonctions attributs parents/enfants

Réalise la somme des composants / groupes enfants sur l'attribut passé en paramètre. Seules les entités enfants possédant cet attribut sont sommées.

CHILDRENSUMATTRIBUT(attribut)

Paramètre(s)

  • attribut : Nom de l'attribut recherché.

Somme des composants / groupes enfants sur l'attribut passé en paramètres. Pour chaque entité enfant, si la comparaison attribut conditionnel / valeur est vrai alors l'attribut est sommé, sinon 0.
, Exemple: Somme de l'attribut LenX si la matière est rouge.
, ChildrenSumSiAttribut("LenX","Material","e","Red")
, Exemple: Somme de l'attribut LenX si la hauteur LenZ supérieur à 3.
, ChildrenSumSiAttribut("LenX","LenZ","s",3)

CHILDRENSUMSIATTRIBUT(attribut, attributConditionnel, opérateur, valeur)

Paramètre(s)

  • attribut : Nom de l'attribut qui sera sommé, si la comparaison est vrai.
  • attributConditionnel : Nom de l'attribut enfant sur lequel une comparaison sera réalisée.
  • opérateur : Opérateur de comparaison : e pour égal, i pour inférieur, s pour supérieur et d pour différent. Par composition ie pour inférieur ou égale et se pour supérieur ou égal.
  • valeur : Valeur de comparaison. Si c'est un texte seul les opérateurs e et d sont autorisés.

Retourne la valeur ou le chemin d'un attribut parent selon le mode choisi
, Il est pratique de remplacer la référence du nom du composant parent pour pouvoir copier le sous-composant dans un autre parent sans erreur dans les calculs.

PARENTATTRIBUT(attribut, mode)

Paramètre(s)

  • attribut : Nom de l'attribut recherché.
  • mode : Deux modes possibles "path" ou "value".

Fonctions de définitions

Rend une instance de composant unique et lui attribue un nouveau nom passé en paramètre.

SETNAMEDEFINITION(nouveauNom)

Paramètre(s)

  • nouveauNom : Nouveau nom pour la définition.

Permet de réinitialiser l'échelle de l'instance et revenir à l'échelle 1:1. Ne peut être appelé que depuis un OnClick.

RESETSCALE()

Paramètre(s)

Créer une liste d'options pour l'attribut cible à partir des valeurs contenues dans le fichier CSV. 1ʳᵉ colonne Options, 2ᵉ colonne Valeurs. Le fichier peut avoir l'extension .csv ou .txt avec retour de chariot. Les valeurs peuvent être séparées par des virgules, point-virgule, tabulation ou spip

OPTIONS_FROM_CSV(Chemin, index_caractère_special, nom_attribut)

Paramètre(s)

  • Chemin : Chemin d'accès au fichier. Accès locale " C://Dossier/Fichier.csv " ou pour un accès réseau " \\Machine\\Folder\\File.csv"
  • index_caractère_special : Index du caractère spécial qui sépare les valeurs. 0 => virgule, 1 => point-virgule, 2 => tabulation, => pour spip.
  • nom_attribut : Nom de l'attribut cible qui recevra la liste d'options

Modifie le meta-attribut _access de l'attribut sous condition. Permet de modifier l'apparence de l'attribut dans le panneau option des composants dynamiques.

SWITCH_ACCESS_ATTRIBUTE(condition, nom_attribut, access_true, access_false)

Paramètre(s)

  • condition : Formule qui retourne vrai ou faux
  • nom_attribut : Name of the target attribute, whose access meta-attribute will be modified
  • access_true : Index de la propriété access si la condition est vraie. Dans la liste 0 => aucun, 1 => lecture seule, 2 => saisie, 3 => liste d'option
  • access_false : Index de la propriété access si la condition est fausse. Dans la liste 0 => aucun, 1 => lecture seule, 2 => saisie, 3 => liste d'option

Modifie le meta-attribut _access des attributs dont le nom commence par et selon une condition. Permet de modifier l'apparence de l'attribut dans le panneau option des composants dynamiques.

SWITCH_ACCESS_ATTRIBUTE_BEGIN(condition, début_nom_attribut, access_true, access_false)

Paramètre(s)

  • condition : Formule qui retourne vrai ou faux
  • début_nom_attribut : Caractères de début du nom des attributs ciblés, dont les méta-attributs d'accès seront modifiés
  • access_true : Index de la propriété access si la condition est vraie. Dans la liste 0 => aucun, 1 => lecture seule, 2 => saisie, 3 => liste d'option
  • access_false : Index de la propriété access si la condition est fausse. Dans la liste 0 => aucun, 1 => lecture seule, 2 => saisie, 3 => liste d'option

Modifie le meta-attribut _access de plusieurs attributs selon une condition commune. Permet de modifier l'apparence de l'attribut dans le panneau option des composants dynamiques.

SWITCH_ACCESS_ATTRIBUTE_MULTI(condition, string_parameter_group)

Paramètre(s)

  • condition : Formule qui retourne vrai ou faux
  • string_parameter_group : Groupe de 3 paramètres, l'ensemble est entre guillemet. " attribute_name , access_true , access_false ". Chaque groupe est séparé par une virgule. Au moins un groupe est attendu.

Récupère l'identifiant persistant de l'instance

GETPERSISTENTID()

Paramètre(s)

Récupère la valeur de l'attribut d'une instance du modèle définie par son identifiant persistant. Renvoie une valeur par défaut, si l'attribut n'est pas trouvé.

GETATTRIBUTE_FROMPERSISTENTID(id, attribute, default_value)

Paramètre(s)

  • id : L'identifiant persistant de l'instance ciblée
  • attribute : Nom de l'attribut recherché
  • default_value : Valeur par défaut, si l'attribut n'est pas trouvé

Fonctions opérations booléennes

Réalise une opération booléenne du sous-composant volume 1 par le sous-composant volume 2. Le groupe, le résultat de l'opération est renommé selon le paramètre nomResultat.

GETBOOLEANCHILDREN(verrou, operateur, nomResultat, nomVolume1, nomVolume2, copierVolume1, copierVolume2)

Paramètre(s)

  • verrou : Si 1 l'opération est réalisée sinon gelée.
  • operateur : Nom de l'opération booléenne en anglais union, substract, intersect.
  • nomResultat : Nom du groupe résultat de l'opération.
  • nomVolume1 : Nom du groupe ou de la définition du composant ou de l'instance volume 1.
  • nomVolume2 : Nom du groupe ou de la définition du composant ou de l'instance volume 2.
  • copierVolume1 : Si 1 travaille sur une copie du volume 1, sinon le volume 1 sera détruit par l'opération.
  • copierVolume2 : Si 1 travaille sur une copie du volume 2, sinon le volume 2 sera détruit par l'opération.

Fonctions Enscape light

Ajuste les paramètres de lumière Enscape pour les SpotLights.

SETENSCAPESPOTLIGHT(angle, puissance)

Paramètre(s)

  • angle : Valeur de l'angle d'ouverture du cône en degrés.
  • puissance : Puissance de la source lumineuse en Candela.

Ajuste les paramètres de lumière Enscape pour les DiskLights.

SETENSCAPEDISKLIGHT(rayon, puissance)

Paramètre(s)

  • rayon : Rayon du disque en centimètres.
  • puissance : Puissance de la surface lumineuse en Lumen.

Ajuste les paramètres de lumière Enscape pour les RectangularLights.

SETENSCAPERECTANGULARLIGHT(largeur, longueur, puissance)

Paramètre(s)

  • largeur : Largeur en centimètres.
  • longueur : Longueur en centimètres.
  • puissance : Puissance de la surface lumineuse en Lumen.

Ajuste les paramètres de lumière Enscape pour les PointLights.

SETENSCAPEPOINTLIGHT(rayon, puissance)

Paramètre(s)

  • rayon : Rayon de la sphère en centimètres.
  • puissance : Puissance de la source lumineuse en Candela.

Ajuste les paramètres de lumière Enscape pour les LinearLights.

SETENSCAPELINEARLIGHT(longueur, puissance)

Paramètre(s)

  • longueur : Longueur du tube en centimètres.
  • puissance : Puissance de la source lumineuse en Candela.

Définissez le nom du fichier du modèle skp pour un proxy Enscape.

SETENSCAPEPROXYFILENAME(path, filename)

Paramètre(s)

  • path : Longueur du tube en centimètres.
  • filename : Puissance de la source lumineuse en Candela.

Fonctions array

Créez un tableau à partir des valeurs passées en paramètres, séparées par des virgules. Le résultat est stocké dans un attribut au format Array.

ARRAY(nom, texte)

Paramètre(s)

  • nom : Nom du nouvel attribut qui contiendra l'array au format array.
  • texte : Texte des valeurs séparées par des virgules.

Convertit une chaîne de texte en array. Le caractère spécial sert de séparateur. Le résultat est stocké dans un attribut au format Array.

ARRAY_FROM_STRING(texte, index_caractère_special, nom)

Paramètre(s)

  • texte : Chaîne de valeurs séparées par un caractère spécial
  • index_caractère_special : Index du caractère spécial. 0 pour virgule, 1 pour point-virgule, 2 pour tabulation, 3 pour spip.
  • nom : Nom du nouvel attribut qui contiendra l'array au format array.

Convertit une chaîne de texte en tableau. Le caractère spécial sert de séparateur. Le résultat est stocké dans un attribut au format Array. Le tableau est randomisé.

ARRAY_RANDOM_FROM_STRING(texte, index_caractère_special, nom)

Paramètre(s)

  • texte : Chaîne de valeurs séparées par un caractère spécial
  • index_caractère_special : Index du caractère spécial. 0 pour virgule, 1 pour point-virgule, 2 pour tabulation, 3 pour spip.
  • nom : Nom du nouvel attribut qui contiendra l'array au format array.

Créez un array à partir d'un fichier CSV. Le résultat est stocké dans un attribut au format array.

ARRAY_FROM_CSV(Chemin, index_caractère_special, nom)

Paramètre(s)

  • Chemin : Chemin du fichier
  • index_caractère_special : Index du caractère spécial. 0 pour virgule, 1 pour point-virgule, 2 pour tabulation, 3 pour spip.
  • nom : Nom du nouvel attribut qui contiendra l'array au format array.

Calcule la longueur de l'array. Renvoie le nombre de valeurs contenues dans le tableau

ARRAY_LENGTH(nom_array)

Paramètre(s)

  • nom_array : Nom d'un attribut array.

Calcule la somme cumulée de l'array jusqu'à la valeur de l'index comprise.

ARRAY_SUM_TO_INDEX(nom_array, index)

Paramètre(s)

  • nom_array : Nom d'un attribut array.
  • index : Numéro de l'index, attention le décompte des valeurs commence à 0.

Renvoie la valeur d'un array correspondant à l'index. Pour les arrays imbriqués vous pouvez renseigner l'index du sous tableau.

ARRAY_VALUE(nom_array, index, index2)

Paramètre(s)

  • nom_array : Nom d'un attribut array.
  • index : Numéro de l'index, attention le décompte des valeurs commence à 0.
  • index2 : FACULTATIF, second numéro d'index pour interroger la valeur d'un tableau imbriqué. Attention la numérotation commence à 0 !

Renvoie la valeur correspondant à l'index d'une liste de chaînes délimitée par un caractère spécial.

ARRAY_VALUE_FROM_STRING(texte, index_caractère_special, index)

Paramètre(s)

  • texte : Chaîne de valeurs séparées par un caractère spécial
  • index_caractère_special : Index du caractère spécial. 0 pour virgule, 1 pour point-virgule, 2 pour tabulation, 3 pour spip.
  • index : Numéro de l'index, attention le décompte des valeurs commence à 0.

Returns the randomized array

ARRAY_SORT_RANDOM(nom_array)

Paramètre(s)

  • nom_array : Nom d'un attribut array.

Créer 4 attributs décrivant les coordonnées de chaque copie des sous-composants du beignet. Un tableau pour les coordonnées X, Y, la rotation de l'axe Z et le nombre de copies.

DONNUT_PATH(rayon_interne, outer_radius , angle, préfixe, Chemin)

Paramètre(s)

  • rayon_interne : Rayon interne
  • outer_radius : Rayon externe
  • angle : Angle décrit par la courbure
  • préfixe : Préfixe des noms des arrays qui seront créés.
  • Chemin : Le chemin est composé par la liste ordonnée du sens de jonction des sous composants (1 ou -1) séparé par des virgules.

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.

Suite mathématique

Renvoie le résultat de la suite de Fibonacci pour l'indice passé en paramètre

SUITE_FIBONACCI(n)

Paramètre(s)

  • n : L'index de la suite à calculer

Retourne le résultat de la somme entre 0 et le terme passé en paramètre

SUITE_SUM(n)

Paramètre(s)

  • n : L'index de la suite à calculer

Le factoriel d'un entier est le produit de tous les entiers qui lui sont inférieurs ou égaux.
Renvoie le factoriel de l'index passé en paramètre.

SUITE_FACTORIAL(n)

Paramètre(s)

  • n : L'index de la suite à calculer

Fonction qui permet de trouver le résultat d'une fonction mathématique personnalisable, qui implique dans sa résolution le résultat de la même fonction pour l'entier précédent.

SUITE_CUSTOM(n, function_f, f0)

Paramètre(s)

  • n : L'index de la suite à calculer
  • function_f : Le calcul littéral de la fonction f(n) à évaluer.
    Vous utiliserez le symbole n pour la valeur du terme,
    le symbole fm pour le résultat de f(n-1).
    Exemple : (n+5)/(fm-1)
  • f0 : Le résultat pour f(0)