(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

 

TOOLS_WIRE_LEADS

#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.


TOOLS_TORUS_SPLINE

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.

TOOLS_BENTPIPE

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 :