Je ne suis au courant de rien et conviens que ce serait bien de l'avoir. J'ai joint ci-dessous un ancien code qui établit des fichiers de forme carrée sur une grille régulière. Regarder:
https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Periodic_table_(polyatomic).svg/2000px-Periodic_table_(polyatomic).svg.png
il semble qu'une grille de 18 x 10 suffirait. Vous n'avez plus qu'à supprimer les carrés qui ne sont pas nécessaires (soit par programme, soit manuellement).
Quoi qu'il en soit, cela peut vous donner une longueur d'avance.
NamesDefaultToHere ( 1 ) ;
makeSquare = Une fonction ({ centre , Taille } , { Local par défaut } ,
TL = centre + Matrice ({ - Taille / 2 , Taille / 2 }) ; // En haut à gauche
TR = centre + Matrice ({ Taille / 2 , Taille / 2 }) ; // En haut à droite
BR = centre + Matrice ({ Taille / 2 , - Taille / 2 }) ; // En bas à droite
BL = centre + Matrice ({ - Taille / 2 , - Taille / 2 }) ; // En bas à gauche
EvalList ({ TL , TR , BR , BL }) ;
) ;
// Créer des données pour la table Shape
s = 0,9 ; // Taille de chaque carré (la hauteur est l'unité)
xMaX = 18 ;
yMax = dix ;
xCoord = [] ;
yCoord = [] ;
idNum = [] ;
identifiant = 0 ;
pour ( X = 1 , X <= xMax , X ++,
pour ( y = 1 , y <= yMax , y ++,
identifiant ++;
pts = makeSquare ( Matrice ({ X , y }) , s ) ;
xCoord = VConcat ( xCoord , Matrice ({ pts [ 1 ] [ 1 ] , pts [ 2 ] [ 1 ] , pts [ 3 ] [ 1 ] , pts [ 4 ] [ 1 ]}) ) ;
yCoord = VConcat ( yCoord , Matrice ({ pts [ 1 ] [ 2 ] , pts [ 2 ] [ 2 ] , pts [ 3 ] [ 2 ] , pts [ 4 ] [ 2 ]}) ) ;
idNum = VConcat ( idNum , J ( 4 , 1 , identifiant )) ;
) ;
) ;
// Ajouter l'ID de la pièce - Toutes les formes n'ont qu'une pièce
PartNum = J ( NRow ( idNum ) , 1 , 1 ) ;
// Make Shape table
dt1 = AsTable ( idNum || PartNum || xCoord || yCoord ) ;
dt1n = "PeriodicTable-XY" ;
dt1 << SetName ( dt1n ) ;
Colonne ( dt1 , "Col1" ) << SetName ( "ID de forme" ) ;
Colonne ( dt1 , "Col2" ) << SetName ( "Partie ID" ) ;
Colonne ( dt1 , "Col3" ) << SetName ( "X" ) ;
Colonne ( dt1 , "Col4" ) << SetName ( "Y" ) ;
dt1 << sauvegarder ( "$ BUREAU /" || dt1n || ".jmp" ) ;
// Make table de nom
dt2n = "Nom de la table périodique" ;
dt2 = Nouvelle table ( dt2n ,
Nouvelle colonne ( "ID de forme" ,
Numérique ,
Continu ,
Format ( "Meilleur" , 12 ) ,
Définir des valeurs ( ( 1 :: identifiant ) ` )
) ,
Nouvelle colonne ( "Prénom" ,
Personnage ,
Nominal ,
Formule ( "Element" || Carboniser ( : ID de forme ) ) ,
Définir la propriété ( "Rôle de la carte" , Rôle de la carte ( Nom de forme Définition ) )
)
) ;
dt2 << sauvegarder ( "$ BUREAU /" || dt2n || ".jmp" ) ;
// Essaye le
Nouvelle table ( "Super ensemble de tableau périodique" ,
Ajouter des lignes ( 180 ) ,
Nouveau script (
"Graph Builder" ,
Générateur de graphes (
Taille ( 507 , 440 ) ,
Afficher le panneau de configuration ( 0 ) ,
Variables ( Couleur ( : Propriété ) , Forme ( : prénom ) ) ,
Éléments ( Formes de carte ( Légende ( 7 ) ) ) ,
SendToReport (
Envoi (
{} ,
"" ,
ScaleBox ,
{ Ligne d'étiquette (
{ Afficher les principales étiquettes ( 0 ) , Afficher les tiques mineures ( 0 ) ,
Afficher les tiques principales ( 0 ) , Marques automatiques ( 0 )}
)}
) ,
Envoi (
{} ,
"" ,
ScaleBox ( 2 ) ,
{ Ligne d'étiquette (
{ Afficher les principales étiquettes ( 0 ) , Afficher les tiques mineures ( 0 ) ,
Afficher les tiques principales ( 0 ) , Marques automatiques ( 0 )}
)}
)
)
)
) ,
Nouvelle colonne ( "Prénom" ,
Personnage ,
"Nominal" ,
Définir la propriété (
"Rôle de la carte" ,
Rôle de la carte ( Utilisation du nom de forme ( "$ Desktop / PeriodicTable-Name.jmp" , "Prénom" ) )
) ,
Définir des valeurs (
{ "Elément 1" , "Élément 2" , "Élément 3" , "Element 4" , "Élément 5" ,
"Élément 6" , "Élément 7" , "Elément 8" , "Element 9" , "Élément 10" ,
"Élément 11" , "Elément 12" , "Élément 13" , "Élément 14" , "Elément 15" ,
"Élément 16" , "Élément 17" , "Élément 18" , "Élément 19" , "Elément 20" ,
"Élément 21" , "Élément 22" , "Élément 23" , "Elément 24" , "Élément 25" ,
"Élément 26" , "Élément 27" , "Elément 28" , "Elément 29" , "Élément 30" ,
"Elément 31" , "Élément 32" , "Élément 33" , "Elément 34" , "Élément 35" ,
"Élément 36" , "Elément 37" , "Élément 38" , "Élément 39" , "Elément 40" ,
"Élément 41" , "Element 42" , "Elément 43" , "Elément 44" , "Elément 45" ,
"Elément 46" , "Élément 47" , "Elément 48" , "Elément 49" , "Elément 50" ,
"Elément 51" , "Element 52" , "Elément 53" , "Elément 54" , "Elément 55" ,
"Élément 56" , "Élément 57" , "Élément 58" , "Elément 59" , "Elément 60" ,
"Elément 61" , "Élément 62" , "Elément 63" , "Elément 64" , "Elément 65" ,
"Element 66" , "Élément 67" , "Element 68" , "Élément 69" , "Element 70" ,
"Élément 71" , "Elément 72" , "Element 73" , "Elément 74" , "Elément 75" ,
"Element 76" , "Elément 77" , "Element 78" , "Elément 79" , "Element 80" ,
"Elément 81" , "Element 82" , "Élément 83" , "Elément 84" , "Elément 85" ,
"Element 86" , "Elément 87" , "Elément 88" , "Élément 89" , "Element 90" ,
"Element 91" , "Element 92" , "Element 93" , "Elément 94" , "Elément 95" ,
"Elément 96" , "Element 97" , "Element 98" , "Element 99" , "Elément 100" ,
"Elément 101" , "Elément 102" , "Élément 103" , "Elément 104" ,
"Element 105" , "Elément 106" , "Élément 107" , "Elément 108" ,
"Élément 109" , "Elément 110" , "Elément 111" , "Elément 112" ,
"Elément 113" , "Elément 114" , "Elément 115" , "Élément 116" ,
"Element 117" , "Elément 118" , "Élément 119" , "Elément 120" ,
"Elément 121" , "Elément 122" , "Elément 123" , "Élément 124" ,
"Elément 125" , "Élément 126" , "Elément 127" , "Elément 128" ,
"Elément 129" , "Element 130" , "Elément 131" , "Élément 132" ,
"Élément 133" , "Elément 134" , "Elément 135" , "Élément 136" ,
"Élément 137" , "Elément 138" , "Element 139" , "Élément 140" ,
"Elément 141" , "Élément 142" , "Élément 143" , "Elément 144" ,
"Elément 145" , "Élément 146" , "Élément 147" , "Élément 148" ,
"Elément 149" , "Elément 150" , "Elément 151" , "Élément 152" ,
"Élément 153" , "Élément 154" , "Élément 155" , "Élément 156" ,
"Element 157" , "Élément 158" , "Element 159" , "Element 160" ,
"Élément 161" , "Element 162" , "Element 163" , "Elément 164" ,
"Elément 165" , "Élément 166" , "Elément 167" , "Élément 168" ,
"Element 169" , "Élément 170" , "Elément 171" , "Élément 172" ,
"Elément 173" , "Elément 174" , "Elément 175" , "Élément 176" ,
"Élément 177" , "Élément 178" , "Élément 179" , "Élément 180" }
)
) ,
Nouvelle colonne ( "Propriété" ,
Numérique ,
"Continu" ,
Format ( "Déc fixe" , 12 , 3 ) ,
Formule ( Aléatoire Normal () )
)
) ;