Etape 23 : Comprendre la portée des variables
Présentation de l’étendue fera écrire OpenSCAD programmes beaucoup moins douloureux. Noter que la discussion qui suit s’applique aux versions 2015.3 et ultérieures. Avant cela les nouvelles sondes version devaient être créé par la construction de "assigner". C’est n’est plus nécessaire et le « assigner » est retirée
Il y a une nouvelle portée ouvert en modules et tous les blocs de contrôle. L’indice est les accolades. En fait, on peut créer une nouvelle étendue avec accolades. N’oubliez pas la règle de la syntaxe de l’arbre, accolades doivent entourer un solide. On ne peut pas le support de transformations. La règle de compilation s’applique à toutes les étendues, la dernière valeur assignée dans une étendue donnée est la valeur pour cette variable à travers toute la portée.
Semble assez simple, mais il y a encore une petite torsion ; la boucle For et les blocs de contrôle de boucle For Intersection. Ces blocs de contrôle ont une variable qui prend une nouvelle valeur à chaque « passage ». Voici mon point de vue là-dessus, les boucles sont développés dans une série d’étendues individuelles. Chaque « pass » est une nouvelle portée et s’applique la règle de la dernière valeur assignée. Les « passes » sont une partie de l’étape de compilation qui construit le modèle interne qui servira plus tard pour générer le modèle 3D final. Boucles sont complexes et peuvent être source de confus, mais il est nécessaire que chaque passage a sa propre portée pour boucles à fonctionner comme prévu. C’est aussi l’occasion de la nouvelle étendue permet de calculer des valeurs qui dépendent de la variable de boucle.
Notez que, dans une nouvelle portée, les variables doivent être définies en dehors de la syntaxe de l’arbre. On ne peut pas déclarer une variable entre un solide et sa transformation. Toutefois, on pouvez déclarer une variable entre deux solides dans une moissonneuse-batteuse ou dans n’importe quel accolades étant donné qu’il y ait une union implicite.