Isecalc
(LDraw Intersection Line Calculator)
Mise à jour de la page : 20 mai 2015.
L'utilitaire Isecalc, à destination des auteurs de pièces LDraw,
calcule la ligne d'intersection de deux ensembles de faces triangulaires
ou quadrilatérales. Les deux ensembles sont fournis à
l'utilitaire dans des fichiers LDraw séparés. Un troisième fichier,
contenant les lignes d'intersection, est créé comme résultat.
C'est une simple application utilisant une fenêtre Invite de commandes (ex console DOS), et
le code source est fourni ci-dessous pour celui qui l'intégrera
dans une interface plus agréable.
Vous pouvez utiliser ce programme "en ligne",
sur le site de Jim DeVona (voir plus bas).
Vous pouvez également l'utiliser sous Windows, grâce à l'interface
graphique LETGUI de Michael Heidemann, ce qui vous est même
fortement recommandé ! (voir plus bas).
Navigation rapide
Téléchargement
Sur le site de l'auteur :
Isecalc package (451 ko), incluant le programme pour Windows, Linux, et Macintosh,
la documentation, les fichiers source (Visual C++ 6.0), et les fichiers exemples suivants :
- sphaxle.ldr contient un axe Technic collé dans une primitive
de sphère légèrement décentrée.
- sphere-t.dat est le fichier de la sphère contenant ses lignes
de description (inlined).
- axle-t.dat est le fichier de l'axe contenant ses lignes
de description (inlined).
- sphaxle.dat est le fichier contenant la ligne d'intersection
crée par Isecalc.
- sphaxle2.dat contient la ligne d'intersection avec l'axe et la sphère
d'origine.
Nota : Version Macintosh (binaire universel) courtoisement fourni par Jim DeVona.
Nota : Version Linux courtoisement fourni par Mufti.
Historique
- V1.0 : Mai 2007, version initiale.
- V1.1 : Juin 2007, augmenté la tolérance pour améliorer l'agrégation des lignes.
- V1.2 : Juillet 2008, amélioré le format du fichier de sortie.
- V1.3 : Janvier 2009, augmenté la taille du tableau pour plus de triangles/lignes (x10).
- V1.4 : 10 novembre 2011, utilise la gestion dynamique de la mémoire, le nombre de triangles/lignes n'est
limité que par la taille de la mémoire et la patience de l'utilisateur.
La méthode de condensation des lignes est améliorée
pour éviter les segments de lignes minuscules.
Utilisation
- Préparez les fichiers LDraw d'entrée. Le premier reçoit le 1er ensemble
d'éléments, et le second le 2ème ensemble d'éléments qui vont
intersecter le 1er. Isecalc calcule seulement
les intersections de faces triangulaires ou quadrangulaires (lignes
de commande type 3 ou 4). Les autres types de lignes de commande LDraw sont ignorés. Si vous
voulez calculer une intersection avec des pièces ou primitives, elles
doivent être insérées dans le fichier (inlined) jusqu'aux lignes
de commandes de description des triangles et quadrilatères.
LDDesignPad fait cela
très commodément.
- Ouvrez une fenêtre Invite de commandes (ex fenêtre DOS).
- Tapez la ligne de commande :
Isecalc LdrawFile1 LdrawFile2 LdrawIntersectionFileOut
Isecalc créera le fichier LdrawIntersectionFileOut
qui contiendra la ligne d'intersection. Notez que si le fichier
LdrawIntersectionFileOut existe, il est écrasé par
le nouveau sans message d'avertissement.
- Isecalc génère un fichier avec 6 chiffres après la virgule.
Cette précision est excessive dans la plupart des cas et les valeurs
peuvent être arrondies. Ici encore
LDDesignPad fait cela
très bien.
Voici une copie d'écran d'un exemple d'exécution :
Comment Isecalc fonctionne
- Les deux fichiers d'entrée sont lus et analysés. Les quadrilatères
(lignes de commande de type 4), sont convertis en deux triangles (lignes de commande de type 3).
Les quadrilatères mal construits, en forme de nœud papillon ("bow-tie"),
ne sont pas traités correctement. Tous les sommets des triangles sont
stockés dans un tableau
(limité à 10 000 triangles, ce qui devrait largement suffire !).
- Tous les triangles du premier ensemble sont testés avec tous les triangles du second ensemble
pour savoir s'il y a intersection. Si une ligne d'intersection est trouvée, cela est sauvegardé
dans un tableau
(limité à 20 000 lignes).
Le programme d'intersection de triangles
(triangle intersection program)
provient de la
thèse de Tomas Möller. Les lignes très courtes (de longueur < 1e-6 ldu) sont ignorées.
- Les lignes sont alors triées suivant leur direction. Toutes les lignes
ayant la même direction reçoivent la même étiquette (avec une tolérance de 0.5°).
- Les lignes ayant une étiquette de même direction sont scannées pour voir si elles ont un
point commun. Dans ce cas, elles sont condensées en une ligne unique si la distance des points à enlever
est inférieure à 0.005 ldu.
- Le fichier de sortie est créé.
Version en ligne de Isecalc ("Online")
Si vous n'aimez pas la ligne de commande, vous préférerez sans doute
la version en ligne de Isecalc,
sur le site de Jim DeVona.
Intégration dans LETGUI
Il est possible de lancer Isecalc à partir d'une interface
plus conviviale que la ligne de commande. LETGUI crée par Michael Heidemann
est fait pour cela.
Utilisation de l'interface
- Sélectionnez "Isecalc" dans le menu déroulant "Tool".
- Entrez le chemin d'accès à l'utilitaire Isecalc, si cela n'a pas été configuré, dans le champ "Isecalc".
- Entrez le nom du premier fichier d'entrée avec son chemin, dans le champ "Input1", ou le sélectionner
avec le bouton . Ce fichier
peut être visualisé en cliquant sur le bouton , ou
édité avec le bouton
- Entrez le nom du second fichier d'entrée avec son chemin, dans le champ "Input2", comme ci-dessus.
- Le bouton "SWAP" à droite (doubles flèches) permet d'inverser les deux fichiers d'entrée,
en changeant également le nom du fichier de sortie.
- Entrez le nom du fichier de sortie, ou garder celui défini automatiquement, dans le champ "Output".
- Exécutez la commande en cliquant sur le bouton .
Pour plus d'informations générales sur cette interface, allez sur la page LETGUI.
Intégration dans LDForge
Le programme Isecalc a été interfacé dans LDForge.
Voir le chapitre : Programme de lignes d'intersections : Isecalc.
Intégration dans LD Part Editor
Isecalc a été intégré dans l'éditeur de pièce LD Part Editor, voir la page :
LD Part Editor, et particulièrement
le chapitre Génération de lignes d'intersections : Isecalc.
Droits et Copyright
Le programme Isecalc et son manuel d'utilisation appartiennent à (c) Philo (Philippe Hurbain).
Vous pouvez le retrouver sur son site et sa
page des utilitaires LDraw,
et sur la version d'origine en
anglais de cette page.
Traduction et Adaptation : J.C. Tchang.