Prim-Gen
(Primitive Generator)
Mise à jour de la page : 25 septembre 2013.
Prim-Gen est un générateur de primitives de pièces compatibles LDraw.
Les primitives générées sont de type : Cercle, Anneau,
Cône, Tore, Cylindre, Disque, Complément de Disque, Corde, et Coupe.
Pour des paraboloïdes de révolution, il existe un programme
d'Alex Forencich, LDPara.
Navigation rapide
Téléchargement
Vous pouvez télécharger le programme Prim-Gen sur la page
Prim-Gen
de Paul Easter.
Nota : L'adresse d'origine de ce programme a disparu en même temps que geocities.com.
Vous pouvez le retrouver sur une page miroir :
Welcome to Paul's LDraw "Utilities" page (merci Philo pour l'info).
Il suffit de décompresser le fichier .zip dans un dossier,
par exemple dans c:\lego\primgen.
Le programme Prim-Gen
Crée par Paul Easter, avec aide, tests et suggestions de plusieurs personnes
de l'organisation LDraw.
J'espère que ce programme aidera à définir un nouveau standard pour la création
de primitives de pièces.
Ce programme a été crée en Visual Basic 6.0. Si vous avez besoin des bibliothèques
d'exécution (run-time library), vous devez les télécharger du site Internet de Microsoft.
Les seuls fichiers OCX dont vous avez besoin sont COMDLG32.OCX et RICHTX32.OCX.
Voici une rapide explication sur les champs de saisie :
Champ Type
Ce champ permet de sélectionner le type de primitive que vous voulez obtenir.
- Circle (Cercle), communément appelé Edge (Bord), a
une taille de rayon fixé à 1 (le champ Size n'est pas actif). Lignes de bord seulement.
BFC ne s'applique pas réellement,
mais c'est utile de l'inclure pour certifier entièrement une pièce.
- Ring (Anneau), a un rayon intérieur de la taille (Size) par défaut, avec un
rayon extérieur de la taille par défaut + 1.
BFC : visible à partir du coté Y-.
- Cone (Cône), mêmes rayons que l'anneau, avec une hauteur Y=1,
contient également des lignes conditionnelles.
BFC : visible à partir du coté Y+.
- Torus (Tore), a trois caractéristiques sélectionnables, les rayons Major (Majeur)
et Tube/Minor (Tube ou Mineur), et le type de tore : inner (intérieur), outer (extérieur), et tube (tube).
Le rayon majeur est le rayon de balayage. Le rayon mineur est le rayon du tube généré.
BFC : par défaut l'extérieur des surfaces est visible.
Nota : "0 BFC INVERTNEXT" a besoin d'être utilisé dans un fichier de pièce pour
rendre l'intérieur visible (utile uniquement sur des portions de tore).
Nota : A partir de 2012 ou 2013, cette fonction ne doit plus être utilisée
car elle génère des lignes conditionnelles dont les points de contrôle ne sont
plus au standard actuel. Utiliser : PrimGen2.
- Cylinder (Cylindre), de façon similaire au type Cercle a un rayon de 1,
avec une hauteur de 1 (de Y=0 à Y=1).
BFC : par défaut l'extérieur des surfaces est visible.
Nota : "0 BFC INVERTNEXT" a besoin d'être utilisé dans un fichier de pièce pour
rendre l'intérieur visible.
Nota : Les cylindres en sifflet ne sont pas supportés par le programme (type "cyls").
- Disc (Disque), est composé de triangles de l'origine à un rayon de 1.
BFC : visible à partir du coté Y-.
- Disc Negative (Disque Négatif ou Complément de Disque), est composé
de triangles partant des quatre coins, jusqu'à un rayon de 1.
BFC : visible à partir du coté Y-.
Nota : cette fonction n'est pas finie.
- Chord (Corde), est composé de triangles partant de "1 0 0" à un rayon de 1.
L'arc couvert correspond au nombre de "Divisions".
BFC : visible à partir du coté Y-.
Nota : Il est ainsi possible de créer un disque complet avec les triangles ne partant du centre.
- Dish (Coupe), cette fonction n'est pas opérationnelle. Les standards restant à créer.
Actuellement cette fonction génère des sphères pour la simuler.
Champ Size (radius)
Ce champ permet la sélection de la valeur du rayon, de tous les types de primitives présentées
ci-dessus. Il est possible de changer la valeur directement, sans limitation, en tapant cette
valeur directement dans le champ (donc soyez prudent avec ce que vous demandez...). Les boutons
incrémentaux, à droite du champ, permettent de sélectionner une valeur comprise entre 1 et 100.
Nota : Si vous tapez un nombre dans le champ, les boutons incrémentaux n'en tiennent pas compte.
Champ Divisions
Ce champ détermine combien de segments composeront le balayage complet de la primitive.
Il y a trois choix :
- 16, pour les fichiers standards. Soit 360/16 = des segments de 22,5°, ou 4
segments par 1/4 de tour.
- 48, pour les fichiers "Hi-Res" (haute résolution).
Soit 360/48 = des segments de 7,5°, ou 12
segments par 1/4 de tour.
- Custom, pour expérimenter, ou une future augmentation de résolution pour de
plus grandes pièces.
Lorsque Custom est sélectionné, vous pouvez changer la valeur dans le champ qui
se trouve en dessous. Si vous changez la valeur, le champ précédent passe automatiquement
sur Custom s'il n'y était pas. Le changement de valeur se fait en cliquant sur l'un
des boutons incrémentaux.
Si le champ suivant Segments est sur un type standard, le champ en dessous est
changé pour montrer le prochain nombre de segments possible avec un minimum de 1.
Si vous sélectionnez dans le champ "Division" plus petit que le nombre de segments, alors
le nombre de segments est réduit.
Champ Segments
Ce champ détermine combien de 1/4 de cercles sera balayé par la primitive.
Les choix standards sont :
- 1-4, pour 1/4 de cercle.
- 2-4, pour 1/2 cercle.
- 3-4, pour 3/4 de cercle.
- 4-4, pour 1 cercle complet.
Le choix Non standard est :
- Custom, pour choisir le nombre de segments balayés. Exemple avec la valeur de 2.
Custom est également disponible pour créer de nouvelles primitives NON standards,
ou pour créer des parties de pièces n'utilisant pas des primitives complètes.
L'angle balayé par chaque segment dépend de la valeur du champ "Divisions".
Lorsque Custom est sélectionné, le champ et les boutons en dessous deviennent actifs.
Si le nombre de segments sélectionné est plus grand que le nombre de divisions,
le champ "Division" passe à "Custom" et est incrémenté de 1.
Le nom du fichier sera déterminé par cette sélection après avoir cliqué sur le bouton "OK".
Voir le menu Options plus bas sur les options du nom du fichier.
Attention : Le début du nom crée est déterminé par le nombre de secteurs sélectionné.
Mais le nom donné par le standard LDraw actuel est déterminé par la fraction de tour couvert
par ces primitives. En conséquence, il faut changer manuellement ces noms comme suit :
Sélection 1-4 : nom t04... --> t04... Pas de changement.
Sélection 2-4 : nom t08... --> t02...
Sélection 3-4 : nom t12... --> ??? (Pas prévu dans le standard actuel)
Sélection 4-4 : nom t16... --> t01...
Pour les primitives en haute résolution :
Sélection 1-4 : nom t12... --> t04...
Sélection 2-4 : nom t24... --> t02...
Sélection 3-4 : nom t36... --> ??? (Pas prévu dans le standard actuel)
Sélection 4-4 : nom t48... --> t01...
Avec le champ "Segments" sur "Custom" :
Sélection 1 : nom t01... --> t16... en basse résolution et t48... en haute
Sélection 2 : nom t02... --> t08... en basse résolution et t24... en haute
Sélection 3 : nom t03... --> ??? en basse résolution et t16... en haute
Sélection 4 : nom t04... --> t04... en basse résolution et t12... en haute
Sélection 5 : nom t05... --> ??? en basse résolution et ??? en haute
...
Sélection 48 : nom t48... --> t01... en haute
Champ BFC Certification
Ce champ sélectionne la certification BFC, c'est-à-dire la certification
du sens des faces, permettant de savoir les cotés intérieur et extérieur des faces.
Il y a quatre choix possibles. La plus communément utilisée semble être CCW.
Cette fonction est indispensable pour les fichiers de primitives. La plupart des
programmes de visualisation de modèles savent comment les utiliser, sinon
les pièces et modèles sont considérés comme "NO CERTIFY" (non certifié).
- CW : Assemble les polygones de l'enveloppe dans le sens horaire.
- CCW : Assemble les polygones dans le sens antihoraire.
(Valeur par défaut actuel, pour tous les types de primitives).
- CERTIFY : Dit aux programmes de visualisation d'utiliser l'affichage BFC
avec cette primitive.
- NO CERTIFY : Dit aux programmes de visualisation de ne pas certifier la pièce
utilisant cette primitive. (Cela remonte de fichier en fichier jusqu'au niveau
principal du modèle).
Champ Torus Type
Ce champ est seulement disponible lorsque Torus est le type de primitive
sélectionné. Il y a trois sélections :
- Inside, 1/4 interne du tore.
- Outside, 1/4 externe du tore.
- Tube, 4/4 du tore.
Nota : Les images précédentes sont faites avec le champ "Segment" sur 3-4.
Champ Major/Tube
Ces deux champs sont seulement disponibles lorsque Torus est le type de primitive
sélectionné. Ils contrôlent le ratio entre le rayon de balayage "Major" (cercle bleu sur
les vignettes précédentes), et le rayon du "Tube" (cercle rouge).
Le champ "Size" est mis à jour automatiquement. Si le champ "Size" passe a une valeur
supérieure ou égale à 1, le champ "Torus Type" est automatiquement changé en "Outside" (externe)
et la première lettre du nom du fichier est changé (r) pour indiquer un tore non standard.
(Le milieu du tore sera fermé à 1.0).
Boutons
Bouton Render
Ce bouton active le programme de rendu sélectionné dans le menu Options.
Si ce bouton est cliqué lorsqu'une fenêtre de rendu est déjà ouverte, alors
cette fenêtre est fermée, et une nouvelle est ouverte.
Les boutons incrémentaux qui se trouve à sa droite changent la valeur de zoom.
(Cela peut apparaître non opérationnel avec des programmes de rendu qui
sélectionnent automatiquement la valeur de zoom).
Bouton OK
Ce bouton génère le fichier de la primitive suivant les paramètres entrés
dans les champs précédents. Voir dans le menu "Options", l'item
"Reduce Filenames" plus bas.
Bouton Save As
Ce bouton ouvre la fenêtre de sauvegarde du fichier généré. Si "Folder Reminder"
est coché dans le menu "Options", vous recevrez une indication pour le choix
du dossier de sauvegarde. C'est utile lorsque vous changez le paramètre
"Divisions".
Bouton Exit
Ce bouton ferme le programme, comme le "X" en haut à droite de la fenêtre,
ou "Exit" dans le menu "File".
Zone de travail
En dessous des boutons, se trouve la zone de travail, où s'affichent
les lignes de commandes de la primitive. Vous pouvez modifier
ces lignes directement comme dans un éditeur de texte.
Attention : il vaut mieux savoir ce que l'on fait, sous peine
d'avoir une primitive erronée, et un message d'erreur
dans le rendu.
Menus
- File-> (Fichier)
- New : (Nouveau), efface la zone de travail, et réinitialise les paramètres.
- Save As : (Sauver sous), voir le chapitre "Bouton Save As" ci-dessus.
- Exit : (Sortir), voir le chapitre "Bouton Exit" ci-dessus.
- Edit-> (Edition)
- Cut : (Couper), fait une copie du texte sélectionné (en surbrillance) dans le presse-papiers
de Windows, et supprime ce texte sélectionné du champ ou de la zone où se trouve le curseur.
- Copy : (Copier), fait une copie du texte sélectionné (en surbrillance) dans le presse-papiers
de Windows.
- Paste : (Coller), tout le texte précédemment coupé ou copié dans le presse-papiers de
Windows, est inséré à l'emplacement du curseur.
- Select all : (Tout sélectionner), passe en surbrillance et sélectionne tout
le texte de la zone de travail.
Nota : une partie du texte doit déjà être sélectionné, ce qui n'est pas utile avec "Ctrl+A".
- Options-> (Options)
- Open Temp file 1 in Text Editor : (Ouvre le fichier temporaire 1 dans l'éditeur de texte),
cela va ouvrir le premier des deux fichiers temporaires dans l'éditeur de texte
spécifié dans la boite de dialogue :
Options->Set Options...
Nota : contenu de la primitive, avec le zerobase.
- Open Temp file 2 in Text Editor : (Ouvre le fichier temporaire 2 dans l'éditeur de texte),
cela va ouvrir le second des deux fichiers temporaires dans l'éditeur de texte
spécifié dans la boite de dialogue :
Options->Set Options...
Nota : ligne appelant la primitive dans le fichier précédent.
- Render : (Rendu), ouvre le programme de rendu, avec le fichier temporaire.
Voir le chapitre "Bouton rendu" ci-dessus.
- Calculator : (Calculatrice) Ouvre la calculatrice spécifiée dans la boite de dialogue :
Options->Set Options...
- Word Wrap : (Passage à la ligne automatique), si coché, le texte de la zone de travail
est mis en forme (visuellement) suivant la largeur de la fenêtre, sinon chaque ligne
de commande de la primitive est affichée sur une seule ligne, et vous devez utiliser le curseur
pour voir le reste de la ligne.
- Original style cyli and cones : (Style original des cylindres et cônes), modifie le style
des lignes conditionnelles sur les fichiers de cylindres et de cônes. Pour plus
d'information, voir l'article sur Lugnet.com :
http://news.lugnet.com/cad/dat/parts/primitives/?n=350.
- Remove Leading Zeros : (Supprime le zéro principal) supprime le 0 des nombres
compris entre 0 et 1 ("0.23" devient ".23"). Si coché, cela fait des fichiers plus petits.
Cela est seulement nécessaire pour des fichiers qui ont des lignes dépassant 80 caractères.
Par défaut, au démarrage, cette option n'est pas cochée.
- Set Options… : (Fixer les options...), fait apparaître une boite de dialogue, qui vous permet
de changer des paramètres par défaut :
- Calculator Path : chemin d'accès à la calculatrice.
- Text Editor Path : chemin d'accès à l'éditeur de texte.
- Author : nom de l'auteur apparaissant dans le fichier généré.
- Render : chemin et paramètres pour le programme de rendu.
- Décimal : caractère séparateur des nombres décimaux. Nota : ne changez pas
ce caractère, cela peut générer des erreurs inattendues.
- POV Enhanced (Torus) : (Améliorations pour POV). Cela s'applique uniquement
aux primitives de tores. Cette fonction sera supprimée ou désactivée lorsque
le programme L3P pourra les accepter.
- Display Origin in Renderer : (Affiche l'origine dans le rendu). Cela ne fonctionne
que lorsque les fichiers zerobase.dat et point.dat sont placés dans les
dossiers "\models" ou "\p" (ou le dossier d'installation de "PrimGen").
Nota : Ces 2 fichiers sont fournis par défaut avec le programme.
- Display C-Lines Ref. in Renderer : (Affiche les lignes de référence dans le rendu).
Cette fonction montre les lignes de référence des lignes conditionnelles.
Correspond aux 2 points de contrôle qui disent quand les lignes conditionnelles doivent s'afficher.
- Automatically Reduce filenames : (Réduit automatiquement le nom des fichiers), coché,
cela désactive le message demandant de réduire la longueur du nom du fichier pour
les primitives dont le paramètre "Size" (taille) n'est pas standard.
En conséquence, réduit le codage du nom au plus petit dénominateur commun.
- Do Not Reduce Filenames : (Ne pas réduire les noms de fichier), coché,
cela désactive le message demandant de réduire la longueur du nom du fichier,
et ne modifie pas le nom des primitives dont le paramètre "Size" (taille)
n'est pas standard.
- Folder Reminder : (Rappel du dossier), coché, affiche un message d'information
sur le dossier où doit être sauvegardé du fichier, après que vous ayez cliqué
sur le bouton "Save As" (Sauver sous). Le message est dépendant du paramètre
du champ "Divisions".
- Delete Registry settings at Exit : (Supprime les paramètres du registre à la sortie),
cela efface tous les paramètres sauvegardés dans la base de registre de Windows.
Cela est utile lorsque vous avez besoin de restaurer les paramètres par défaut.
- Capture errors and continue : (Capture les erreurs et continue), cela capture les
messages d'erreurs inconnus, sans arrêter le programme. Laisser la cochée,
sauf si vous ne traquiez une erreur étrange, ou une action étrange.
- Help-> (Aide)
- Contents : (Contenu) Charge l'aide en ligne.
- Development Notes : (Notes de développement) donne une information générale
sur l'état de développement, affichée au démarrage du programme.
(Voir ci-dessous la traduction).
- About : (Au sujet de), donne la version et les contributeurs du programme.
Notes de Développement
Ces notes sont pour la version 1.9.54 du programme.
Types de primitives qui ont besoin d'être travaillées :
- Disc Negative : (Disque Négatif ou Complément de Disque)
- Fonctionne pour les paramètres "Divisions" 16 et 48.
- Nécessite encore du travail pour "Custom", c'est-à-dire les primitives non-standards.
- Dish : (Coupe), toujours aucun code, et toujours aucun standard... et cette fonction
peut disparaître, ou être renommée, ou devenir une variante du tore.
- Torus : (Tore), les fichiers qui ont un ratio supérieur ou égal à 1, n'ont toujours pas
de format de nom de fichier établi.
Droits et Copyright
Ce programme a été développé par (c) Paul Easter.
Traduction et Adaptation de cette page : J.C. Tchang.