(fichier tools.inc)
Ce fichier est un ensemble d'outils utilisables pour la fabrication de vos composants. Je vais tenter d'expliquer chacun d'eux afin de mieux les comprendre moi-même et de vous en faire profiter par la même occasion.
Ce fichier se situe dans le dossier include de POV-Ray et peut être ouvert sous POV-Ray.
Sommaire :
Les fichiers POV
Les fichiers librairies
Les polices de caractères et de symboles
macro ARC de Zeichnet einen Bogen
macro TOOLS_WIRE_LEADS de Joseph Zeglinski
macro TOOLS_RECT_BOGEN de Friedrich Bleikamp, Lenord, Bauer & Co.
macro TOOLS_PCB_VIA
macro TOOLS_PCB_SMD
macro TOOLS_ROUNDED_BAR de John van Sickle
macro TOOLS_TORUS_SPLINE de Ron Parker
macro TOOLS_BENTPIPE de Ron Parker
macro TOOLS_SCREW de moi-même
macro TOOLS_WASHER de moi-même
macro TOOLS_NUT de moi-même
macro TOOLS_SSDL_BOX
#macro TOOLS_WIRE_LEADS (Length, Width, Wirelength, Wirewidth, Raster, BendRadius, Seperation, H_V)
Erzeugt Drahtbügel
passend für ein Bauteil Le crochet produit convenablement pour un élément
Length: Longueur de l'élément
Width: Diamètre de l'élément
Wirelength: Longueur d'un fil
Wirewidth: Diamètre du fil
Raster: Le pas
BendRadius: Rayon de courbure
Seperation: Distance de surélévation du composant pour la dissipation
de chaleur par exemple
H_V: Part Orientation - "H" pour horizontal; "V" pour
vertical (les guillemets sont nécessaires)
Cette macro
ajoute à une résistance (ou à tout autre composant) des
fils de connexion horizontaux ou verticaux selon les dimensions (pas, élément
et fil). Il forme un courbure semi-circulaire dont le rayon a pour valeur
"BendRaduis".
Le composant ayant provoqué l'appel doit être centré par
rapport à l'origine. La coupure des pattes est également traitée.
Cette macro effectuera aussi les composants radiaux. Ici le pas ("RASTER")
passé en argument est égal ou plus petit que la longueur de
l'élément "LENGTH" et "V_H" est donné
comme "H" pour une orientation Horizontal. Pour les composants hauts,
la longueur de l'élément est la largeur horizontal une fois
debout. De même la largeur de l'élément devient sa hauteur.
Enfin la séparation surélève le composant par rapport au PCB. Cette séparation est typique des composant de puissance supérieur ou égale à 1W, elle est de 1,5mm afin de prévenir l'échauffement du PCB. Cependant, pour les capacités à connexion radial, cette valeur peut être n'importe laquelle. Le module appelant doit effectuer un "translate" réel de l'élément pleinement assemblé, à partir de l'origine, vers la position final, au retour de l'appel.
Usage d'assemblage sur PCB : Les composants de moins d'un watt devraient être en contact avec le PCB. L'élévation d'un composant ne doit pas dépasser 3mm (CLASS 1 et CLASS 2), ou 0,7mm pour les composants de CLASS 3.
La routine appelante devrait avoir testé l'argument WATTS et ajouté l'élévation "separation", là, à l'argument "Width".
Construction des pattes de connexion commune à tous les composants :
L'usage du câblage de PCB indique qu'une cambrure ne débute pas à une distance plus proche que "1 diamètre de fil de connexion" en partant du corps de l'élément, avec un minimum de 0,8mm.
Cette macro est utilisée pour créer un spline de tores reliant une séquence de points. Pour l'utiliser, essayer le code suivant :
#declare
Pts=array[5]{<0,0,0>, <1,1,1>, <-.5,1,2>, <.5,1,3>,
<0,1,4>}
object {
TOOLS_TORUS_SPLINE( .1, Pts, <1,0,.5> )
texture {pigment {color rgb 1}}
}
Cela donne :
Le premier paramètre de la macro TorusSpline (.1) est le rayon mineur du tore utilisé dans la création du spline.
Le second paramètre (Pts) est le tableau de point à travers lesquels le spline doit passer.
Le troisième paramètre (<1,0,.5>) est le vecteur de direction devant être utilisé au début du spline. Changer ce vecteur peut avoir des résultats surprenant pour l'objet résultant. Si le spline sort d'un autre objet avec un angle spécifique, comme un fil d'une lampe, utilisez ce vecteur pour définir cet angle. S'il est de zéro, le premier tore sera calculer afin de passer à travers les trois premiers points. C'est habituellement ce que l'on veux, mais l'on peut obtenir des effets soignés si l'on ne tient pas compte de ce défaut.
Il est possible de spécifier des paramètres invalides. Si vous le faites, vous obtiendrez probablement une erreur de syntaxe.
Exemple d'application pour un câble.
Ici les points de passage sont représentés afin de faciliter l'agencement du câble lors de sa création.
Cette macro vous permet de spécifier un tuyau par une série de mouvements successifs plutôt que par une séries de points. Vous indiquez de démarrer à une position particulière avec une certaine orientation puis vous donnez une série de commandes (allez tout droit, tourner à gauche/droite de x degrés avec un rayon r) et un rayon pour le tuyau et cela crée un tuyau spécifique. Cela suppose que vous opériez dans un plan X-Y. Cette macro nécessite aussi la macro TorusSpline de Ron. Il est possible de fournir de mauvais arguments qui méneront à de mauvais résultats. Par exemple, il n'est probablement pas très malin de générer un coude de 1 unité avec un tuyau de 2 unités de rayon.
Exemple d'usage:
#declare
bends=array[6] { <0, 10, 0>, <-45, 5, 0>, <225,5,0>, <-225,5,0>,
<45, 5, 0>, <0, 10, 0>}
Syntaxe :
<angle, rayon, 0> ou<0, distance, 0> pour un tuyau droit
les angles négatifs plient à gauche tandis que les positifs
plient à droite.
object {
TOOLS_BENTPIPE( 1, <0,0,0>, x, bends )
texture {pigment {color rgb 1}}
}
Ce tuyau a un rayon de 1, démarre au point d'origine, et son sens initial va dans la direction x. Il n'y a aucune variation possible en Z.
Avec le même tableau bends, un TOOLS_BENTPIPE( 3, <0,0,0>, -y, bends ) donnerait :