Non sono a conoscenza di nulla e sono d'accordo che sarebbe bello avere. Ho allegato un vecchio codice qui sotto che espone file di forma quadrata su una griglia regolare. Guardando:
https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Periodic_table_(polyatomic).svg/2000px-Periodic_table_(polyatomic).svg.png
sembra che una griglia di 18 x 10 sia sufficiente. Devi solo rimuovere i quadrati che non sono necessari (programmaticamente o manualmente).
Ad ogni modo, potrebbe darti un vantaggio.
NamesDefaultToHere ( 1 ) ;
makeSquare = Funzione ({ centro , taglia } , { Locale predefinito } ,
TL = centro + Matrice ({ - taglia / 2 , taglia / 2 }) ; // In alto a sinistra
TR = centro + Matrice ({ taglia / 2 , taglia / 2 }) ; // In alto a destra
BR = centro + Matrice ({ taglia / 2 , - taglia / 2 }) ; // In basso a destra
BL = centro + Matrice ({ - taglia / 2 , - taglia / 2 }) ; // In basso a sinistra
EvalList ({ TL , TR , BR , BL }) ;
) ;
// Crea dati per la tabella Shape
S = 0.9 ; // Dimensione di ogni squaare (il passo è l'unità)
xMax = 18 ;
yMax = 10 ;
xcoord = [] ;
yCoord = [] ;
idNum = [] ;
id = 0 ;
per ( X = 1 , X <= xMax , X ++,
per ( y = 1 , y <= yMax , y ++,
id ++;
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 , id )) ;
) ;
) ;
// Aggiungi l'ID parte: tutte le forme hanno solo una parte
partNum = J ( nRow ( idNum ) , 1 , 1 ) ;
// Crea la tabella Shape
dt1 = astable ( idNum || partNum || xcoord || yCoord ) ;
dt1n = "PeriodicTable-XY" ;
dt1 << Imposta nome ( dt1n ) ;
Colonna ( dt1 , "Col1" ) << Imposta nome ( "ID forma" ) ;
Colonna ( dt1 , "Col2" ) << Imposta nome ( "ID parte" ) ;
Colonna ( dt1 , "Col3" ) << Imposta nome ( "X" ) ;
Colonna ( dt1 , "Col4" ) << Imposta nome ( "Y" ) ;
dt1 << Salvare ( "$ DESKTOP /" || dt1n || ".Jmp" ) ;
// Crea la tabella dei nomi
dt2n = "PeriodicTable-Name" ;
dt2 = Nuova tabella ( dt2n ,
Nuova colonna ( "ID forma" ,
Numerico ,
Continuo ,
Formato ( "Migliore" , 12 ) ,
Imposta valori ( ( 1 :: id ) ` )
) ,
Nuova colonna ( "Nome" ,
Personaggio ,
Nominale ,
Formula ( "Elemento" || carbonizzare ( : Shape ID ) ) ,
Imposta proprietà ( "Ruolo della mappa" , Ruolo della mappa ( Definizione del nome della forma ) )
)
) ;
dt2 << Salvare ( "$ DESKTOP /" || dt2n || ".Jmp" ) ;
// Provalo
Nuova tabella ( "Superset of Periodic Table" ,
Aggiungi righe ( 180 ) ,
Nuovo script (
"Costruttore di grafici" ,
Costruttore di grafici (
Taglia ( 507 , 440 ) ,
Mostra il pannello di controllo ( 0 ) ,
variabili ( Colore ( : Proprietà ) , Forma ( : Nome ) ) ,
Elementi ( Forme della mappa ( Leggenda ( 7 ) ) ) ,
SendToReport (
Spedizione (
{} ,
"" ,
scalebox ,
{ Riga dell'etichetta (
{ Mostra etichette importanti ( 0 ) , Mostra zecche minori ( 0 ) ,
Mostra le principali zecche ( 0 ) , Segni di spunta automatici ( 0 )}
)}
) ,
Spedizione (
{} ,
"" ,
scalebox ( 2 ) ,
{ Riga dell'etichetta (
{ Mostra etichette importanti ( 0 ) , Mostra zecche minori ( 0 ) ,
Mostra le principali zecche ( 0 ) , Segni di spunta automatici ( 0 )}
)}
)
)
)
) ,
Nuova colonna ( "Nome" ,
Personaggio ,
"Nominale" ,
Imposta proprietà (
"Ruolo della mappa" ,
Ruolo della mappa ( Nome della forma Utilizzare ( "$ Desktop / PeriodicTable-Name.jmp" , "Nome" ) )
) ,
Imposta valori (
{ "Elemento 1" , "Elemento 2" , "Elemento 3" , "Elemento 4" , "Elemento 5" ,
"Elemento 6" , "Elemento 7" , "Elemento 8" , "Elemento 9" , "Elemento 10" ,
"Elemento 11" , "Elemento 12" , "Elemento 13" , "Elemento 14" , "Elemento 15" ,
"Elemento 16" , "Elemento 17" , "Elemento 18" , "Elemento 19" , "Elemento 20" ,
"Elemento 21" , "Elemento 22" , "Elemento 23" , "Elemento 24" , "Elemento 25" ,
"Elemento 26" , "Elemento 27" , "Elemento 28" , "Elemento 29" , "Elemento 30" ,
"Elemento 31" , "Elemento 32" , "Elemento 33" , "Elemento 34" , "Elemento 35" ,
"Elemento 36" , "Elemento 37" , "Elemento 38" , "Elemento 39" , "Elemento 40" ,
"Elemento 41" , "Elemento 42" , "Elemento 43" , "Elemento 44" , "Elemento 45" ,
"Elemento 46" , "Elemento 47" , "Elemento 48" , "Elemento 49" , "Elemento 50" ,
"Elemento 51" , "Elemento 52" , "Elemento 53" , "Elemento 54" , "Elemento 55" ,
"Elemento 56" , "Elemento 57" , "Elemento 58" , "Elemento 59" , "Element 60" ,
"Elemento 61" , "Elemento 62" , "Elemento 63" , "Elemento 64" , "Elemento 65" ,
"Element 66" , "Elemento 67" , "Elemento 68" , "Elemento 69" , "Element 70" ,
"Elemento 71" , "Elemento 72" , "Elemento 73" , "Elemento 74" , "Element 75" ,
"Elemento 76" , "Elemento 77" , "Elemento 78" , "Elemento 79" , "Element 80" ,
"Elemento 81" , "Element 82" , "Element 83" , "Elemento 84" , "Elemento 85" ,
"Elemento 86" , "Elemento 87" , "Elemento 88" , "Elemento 89" , "Element 90" ,
"Elemento 91" , "Element 92" , "Elemento 93" , "Elemento 94" , "Element 95" ,
"Element 96" , "Element 97" , "Element 98" , "Elemento 99" , "Element 100" ,
"Elemento 101" , "Elemento 102" , "Elemento 103" , "Elemento 104" ,
"Element 105" , "Elemento 106" , "Elemento 107" , "Elemento 108" ,
"Elemento 109" , "Element 110" , "Elemento 111" , "Elemento 112" ,
"Elemento 113" , "Elemento 114" , "Elemento 115" , "Elemento 116" ,
"Elemento 117" , "Elemento 118" , "Elemento 119" , "Elemento 120" ,
"Elemento 121" , "Element 122" , "Elemento 123" , "Elemento 124" ,
"Element 125" , "Elemento 126" , "Elemento 127" , "Elemento 128" ,
"Elemento 129" , "Elemento 130" , "Elemento 131" , "Elemento 132" ,
"Elemento 133" , "Elemento 134" , "Elemento 135" , "Elemento 136" ,
"Elemento 137" , "Elemento 138" , "Elemento 139" , "Elemento 140" ,
"Elemento 141" , "Elemento 142" , "Elemento 143" , "Elemento 144" ,
"Elemento 145" , "Elemento 146" , "Elemento 147" , "Elemento 148" ,
"Elemento 149" , "Elemento 150" , "Elemento 151" , "Elemento 152" ,
"Elemento 153" , "Elemento 154" , "Elemento 155" , "Elemento 156" ,
"Elemento 157" , "Elemento 158" , "Elemento 159" , "Elemento 160" ,
"Elemento 161" , "Elemento 162" , "Elemento 163" , "Elemento 164" ,
"Elemento 165" , "Elemento 166" , "Elemento 167" , "Elemento 168" ,
"Elemento 169" , "Element 170" , "Elemento 171" , "Elemento 172" ,
"Elemento 173" , "Elemento 174" , "Elemento 175" , "Elemento 176" ,
"Elemento 177" , "Elemento 178" , "Elemento 179" , "Elemento 180" }
)
) ,
Nuova colonna ( "Proprietà" ,
Numerico ,
"Continuo" ,
Formato ( "Fisso dicembre" , 12 , 3 ) ,
Formula ( Casuale normale () )
)
) ;