IV. Partie III▲
- Domaine des inventaires
- Opérations élémentaires sur les inventaires
- Opérations avancées sur les inventaires
- Cas d'usage du module Inventory
IV-A. Application à la gestion d'inventaires▲
Pour conclure ce tour d'horizon des techniques de programmation élémentaires, des listes polymorphes, de la modularité et du traitement des erreurs, nous allons étudier un projet complet et réaliste qui fait usage de toutes ces connaissances.
IV-A-1. 25. Domaine des inventaires▲
Notre projet a pour but de fournir des primitives sophistiquées pour l'écriture de programmes de gestion automatique des inventaires de pièces détachées. Toutes ces facilités seront disponibles dans le module Inventory :
module
Inventory =
struct
...
end
;;
Un inventaire est une liste d'associations qui à chaque clé 'a associe un entier, ce que nous formalisons ainsi :
type
'a inventory =
('a *
int
) list
;;
Pour la commodité des utilisateurs du module nous définissons également l'alias suivant de sorte que le type inventaire soit disponible sous le nom Inventory.t :
type
'a t =
'a inventory;;
Et pour donner une idée intuitive de ce qu'est un inventaire rien de tel qu'un exemple :
# (["bottle"
,1
;"glass"
,2
] : string
inventory);;
-
: string
inventory =
[("bottle"
, 1
); ("glass"
, 2
)]
Cette expression signifie simplement "1 bouteille et 2 verres", l'interpréteur confirme qu'il a bien inféré un inventaire comme il lui a été demandé par l'annotation de type.
Nous venons de définir le type d'un inventaire, il nous faut maintenant définir son domaine.
Par exemple il est évident que la quantité d'un article dans un inventaire ne saurait être négative. Nous choisissons également d'imposer une représentation unique pour chaque inventaire possible, pour cela nous ajoutons les deux contraintes suivantes :
- la quantité d'un article dans un inventaire ne peut pas être nulle (elle doit être strictement positive) ;
- un même article ne peut pas avoir deux quantités dans le même inventaire.
Afin de garantir cette deuxième et dernière contrainte, le plus simple est de trier les articles selon leur clé.
Le prédicat valid nous assurera qu'un inventaire est bien dans le domaine de définition :
let
valid (a: 'a inventory) =
let
rec
loop prev l =
match
l with
| [] ->
true
| (p,n)::
t ->
(p >
prev) && (n >
0
) && (loop p t)
in
match
a with
| [] ->
true
| (p,n)::
t ->
(n >
0
) && (loop p t);;
Et le constructeur make nous construira un inventaire valide à partir d'une liste quand cela est possible :
let
make
l =
let
sorted =
List
.sort
(fun
(p1,_) (p2,_) ->
compare
p1 p2) l in
assert
(valid sorted);
(sorted : 'a inventory);;
Nous pouvons maintenant aborder sereinement les opérations élémentaires sur les inventaires.
IV-A-2. 26. Opérations élémentaires sur les inventaires▲
L'union de deux inventaires qui renvoie a + b, et l'intersection de deux inventaires qui renvoie a && b :
(* a + b *)
let
union
(a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
let
rec
loop a b u =
match
a,b with
| [],_ ->
List
.rev_append
u b
| _,[] ->
List
.rev_append
u a
| (pa,qa as
ha)::
ta,(pb,qb as
hb)::
tb ->
if
pa <
pb then
loop ta b (ha::
u)
else
if
pa >
pb then
loop a tb (hb::
u)
else
loop ta tb ((pa,qa+
qb)::
u)
in
(loop a b []: 'a inventory);;
(* a && b *)
let
intersection (a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
let
rec
loop a b c =
match
a,b with
| [],_ ->
List
.rev
c
| _,[] ->
List
.rev
c
| (pa,qa)::
ta,(pb,qb)::
tb ->
if
pa <
pb then
loop ta b c
else
if
pa >
pb then
loop a tb c
else
loop ta tb ((pa,min
qa qb)::
c)
in
(loop a b []: 'a inventory);;
La différence de deux inventaires, qui renvoie à la fois a-b et b-a, et la soustraction qui elle renvoie seulement a-b :
(* a-b, b-a *)
let
difference (a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
let
rec
loop a b r x =
match
a,b with
| [],_ ->
List
.rev
r,List
.rev_append
x b
| _,[] ->
List
.rev_append
r a,List
.rev
x
| (pa,qa as
ha)::
ta,(pb,qb as
hb)::
tb ->
if
pa <
pb then
loop ta b (ha::
r) x
else
if
pa >
pb then
loop a tb r (hb::
x)
else
if
qa <
qb then
loop ta tb r ((pa,qb-
qa)::
x)
else
if
qa >
qb then
loop ta tb ((pa,qa-
qb)::
r) x
else
loop ta tb r x
in
(loop a b [] []: 'a inventory *
'a inventory);;
(* a-b *)
let
minus (a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
let
rec
loop a b r =
match
a,b with
| [],_ ->
List
.rev
r
| _,[] ->
List
.rev_append
r a
| (pa,qa as
ha)::
ta,(pb,qb)::
tb ->
if
pa <
pb then
loop ta b (ha::
r)
else
if
pa >
pb then
loop a tb r
else
if
qa <
qb then
loop ta tb r
else
if
qa >
qb then
loop ta tb ((pa,qa-
qb)::
r)
else
loop ta tb r
in
(loop a b []: 'a inventory);;
Le test d'inclusion et le test d'intersection pour deux inventaires a et b :
let
rec
includes (a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
match
a,b with
| [],_ ->
b=
[]
| _,[] ->
true
| (pa,qa)::
ta,(pb,qb)::
tb ->
if
pa <
pb then
includes ta b
else
if
pa >
pb then
false
else
if
qa >=
qb then
includes ta tb
else
false
;;
let
rec
intersects (a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
match
a,b with
| [],_ ->
false
| _,[] ->
false
| (pa,qa)::
ta,(pb,qb)::
tb ->
if
pa <
pb then
intersects ta b
else
if
pa >
pb then
intersects a tb
else
true
;;
La multiplication d'un inventaire a par un entier n :
let
scale n (a: 'a inventory) =
assert
(valid a);
assert
(n >
0
);
(List
.map
(fun
(p,q) ->
(p,n*
q)) a : 'a inventory);;
La division d'un inventaire a par un inventaire b, renvoie le nombre n de fois que a inclut b ainsi que l'inventaire restant après avoir retranché n × b :
let
reduce (a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
let
rec
loop n a =
if
includes a b then
loop (n+
1
) (minus a b)
else
n,a
in
loop 0
a;;
Le nombre total d'articles dans un inventaire a :
let
size
(a: 'a inventory) =
assert
(valid a);
let
rec
loop a n =
match
a with
| [] ->
n
| (_,q)::
t ->
loop t (n+
q)
in
loop a 0
;;
IV-A-3. 27. Opérations avancées sur les inventaires▲
La fonction gap calcule l'écart d'un inventaire b par rapport à un inventaire a, cet écart est le couple formé par la taille (size) de a && b et la taille de b - a :
let
gap (a: 'a inventory) (b: 'a inventory) =
assert
(valid a); assert
(valid b);
let
rec
loop a b c x =
match
a,b with
| _,[] ->
c,x
| [],_ ->
c,x +
size
b
| (pa,qa)::
ta,(pb,qb)::
tb ->
if
pa <
pb then
loop ta b c x
else
if
pa >
pb then
loop a tb c (x+
qb)
else
if
qa <=
qb then
loop ta tb (c+
qa) (x+
qb-
qa)
else
loop ta tb (c+
qb) (x+
qa-
qb)
in
loop a b 0
0
;;
Supposons que l'on cherche à obtenir l'inventaire a, soit let c,x = gap a b alors on peut estimer que le rapport c / x est une bonne approximation de la désirabilité de l'inventaire b. C'est ce rapport que nous allons utiliser pour comparer deux inventaires a et b par rapport à wanted qui désignera l'inventaire recherché.
let
compare
(wanted: 'a inventory) a b =
assert
(valid a); assert
(valid b); assert
(valid wanted);
let
ca,xa =
gap wanted a in
let
cb,xb =
gap wanted b in
let
cb_xa =
cb *
xa in
let
ca_xb =
ca *
xb in
if
cb_xa <
ca_xb then
1
else
if
cb_xa >
ca_xb then
-
1
else
0
;;
L'application partielle (compare wanted) nous donne le type suivant :
'a inventory ->
'a inventory ->
int
Comme attendu, ce type est un sous-type de la fonction Pervasives.compare, notre fonction compare correspond bien à notre intuition, en particulier elle nous permet d'écrire une fonction fold_max qui renvoie le meilleur inventaire parmi une liste d'inventaires candidats (un catalog).
Un catalog est une liste d'associations qui à chaque clé 'a, associe un 'b inventory, un catalog est valide si tous ses 'b inventory sont valides :
type
('a,'b) catalog =
('a *
'b inventory) list
;;
let
valid_catalog (cat: ('a,'b) catalog) =
List
.for_all
(fun
(_,inv
) ->
valid inv
) cat;;
Comme il a été dit, la fonction fold_max trouve, dans un catalog, le couple (clé, inventaire) qui se rapproche le mieux de l'inventaire wanted recherché :
let
rec
fold_max key_init inv_init (wanted: 'b inventory) (cat: ('a,'b) catalog) =
match
cat with
| [] ->
key_init,inv_init
| (key,inv
)::
l ->
if
compare
wanted inv
inv_init >
0
then
fold_max key inv
wanted l
else
fold_max key_init inv_init wanted l;;
Cette fonction à l'apparence assez obscure n'est en réalité pas bien différente d'une fonction list_max qui renverrait le plus grand élément d'une liste l qui soit supérieur à init :
# let
rec
list_max init
l =
match
l with
| [] ->
init
| a::
l ->
if
a >
init
then
list_max a l
else
list_max init
l;;
val
list_max : 'a ->
'a list
->
'a =
<
fun
>
C'est un des avantages de la programmation fonctionnelle que, lorsque l'on sait programmer une fonction sur un type élémentaire, alors on a peu d'efforts à fournir pour adapter sa sémantique à un type de données beaucoup plus structuré.
Maintenant que nous connaissons les inventaires et les catalogues, nous en arrivons au problème crucial qui justifie tous ces développements : soit wanted un inventaire recherché, quelle liste d'inventaires faut-il commander (order) dans un catalog pour s'approcher autant que possible de l'inventaire voulu ?
Bien sûr pour répondre à cette question il faut d'abord définir précisément la notion de commande, une commande (order) contient :
- un inventaire des articles (items) commandés dans un catalogue ;
- un inventaire des pièces encore manquantes (missing) après cette commande ;
- un inventaire des pièces en trop (extras) après cette commande.
type
('a,'b) order =
{items: 'a inventory; missing: 'b inventory; extras: 'b inventory};;
Ces deux dernières informations tiennent au fait que l'on autorise une marge d'erreur (margin), c'est-à-dire un nombre de pièces indisponibles tel que size missing <= margin.
La fonction collect ci-dessous fournit la fonctionnalité voulue, à partir d'un inventaire et d'un catalogue elle génère une commande (order) qui fournira un inventaire dont le nombre de pièces manquantes sera inférieur à margin :
# let
collect (wanted: 'b inventory) (cat: ('a,'b) catalog) margin =
assert
(valid_catalog cat);
assert
(valid wanted);
assert
(0
<=
margin && margin <
size
wanted);
let
rec
loop wanted cat keys extras =
if
size
wanted <=
margin then
{items=
keys;missing=
wanted;extras=
extras}
else
let
passed =
List
.filter
(fun
(_,inv
) ->
intersects wanted inv
) cat
in
match
passed with
| [] ->
failwith
"Inventory.collect"
| (key,inv
)::
l ->
let
key_max,inv_max =
fold_max key inv
wanted l in
let
rest,more =
difference wanted inv_max in
loop rest passed (union
keys [key_max,1
]) (union
more extras)
in
loop wanted cat [] [];;
val
collect : 'a inventory ->
('b, 'a) catalog ->
int
->
('b, 'a) order =
<
fun
>
Le type de la fonction semble correspondre, toutefois rien ne vaut un test sur un cas réel et c'est ce que nous allons faire dans le paragraphe suivant.
IV-A-4. 28. Cas d'usage du module Inventory▲
Voici quelques photographies d'une création originale en briques legos, un vaisseau de transport nommé "Frégate C.H.O.A.M." :
Dans un premier temps cette construction a été réalisée virtuellement sur ordinateur à l'aide du logiciel gratuit MLCad, un des meilleurs logiciels de modélisation en legos, le résultat de cette modélisation a été sauvegardé au format LDRAW dans le fichier choam_frigate.ldr.
Pour réellement construire cette création avec de vraies briques, on a procédé en deux temps :
- le prix des briques au détail étant assez élevé, on a d'abord acheté 12 boîtes de legos qui fournissent la plus grosse partie de l'inventaire ;
- les dernières briques manquantes ont été achetées au détail sur BrickLink, un site de vente en ligne de briques legos.
Le problème consiste alors à choisir au mieux les boîtes à acheter pour maximiser l'inventaire utile à notre construction tout en minimisant l'inventaire en surplus. Trop de surplus pourrait faire disparaître l'avantage économique de l'achat en gros sur l'achat au détail.
Pour commencer, il va nous falloir spécialiser nos routines d'inventaires, c'est le rôle du module LegoBricks :
module
LegoBricks =
struct
...
end
;;
Les briques legos ont une couleur (color) :
type
color =
| Black | Blue | Clear | Green
| OldBrown | OldDkGray | OldGray | Red
| TrBlue | TrGreen | TrRed | TrYellow
| White | Yellow;;
Et aussi un numéro de moulage composé d'un mélange de chiffres et de lettres, nous mettrons ce numéro dans un string et voilà comment nous définissons un inventaire de briques legos :
type
brick =
string
*
color;;
type
inventory =
brick Inventory.t;;
Quelques raccourcis utiles, avant de nous attaquer aux catalogues de modèles legos :
let
make
l =
(Inventory.make
l: inventory);;
let
size
a =
Inventory.size
a;;
Un modèle lego a un en-tête dans lequel on fera figurer son nom (name), son thème, son année de création (year), une adresse URL où l'on pourra trouver plus d'informations (home), son nombre de pièces et son nombre de mini-figurines (minifigs) :
type
header =
{name:string
;
theme:string
;
year:int
;
home:string
;
pieces:int
;
minifigs:int
;
};;
Maintenant nous pouvons définir un modèle lego, un catalogue de modèles legos, et enfin une commande de modèles legos :
type
model =
header *
inventory;;
type
catalog =
(header,brick) Inventory.catalog;;
type
order =
(header,brick) Inventory.order;;
Bien entendu toutes ces définitions sont accompagnées de quelques mesures élémentaires de vérification, il serait imprudent de manipuler autant de données sans prendre quelques menues précautions :
let
valid_header h =
assert
(h.year >=
1978
);
assert
(h.pieces >
0
);
assert
(h.minifigs >=
0
);
true
;;
let
valid_model (h,p: model) =
assert
(valid_header h);
assert
(h.pieces =
size
p);
true
;;
let
valid_catalog (cat: catalog) =
List
.for_all
valid_model cat;;
Nous en arrivons enfin à la solution à notre problème, une fonction collect spécialisée dans les modèles en legos :
let
collect (wanted: inventory) (cat: catalog) margin =
assert
(valid_catalog cat);
(Inventory.collect wanted cat margin: order);;
Il reste à extraire l'inventaire du fichier choam_frigate.ldr, ceci se fait à l'aide de fonctions d'analyse syntaxique que nous verrons dans un chapitre ultérieur, le résultat étant la source du module ChoamFrigate qui rend accessibles le modèle (ChoamFrigate.model), son en-tête (ChoamFrigate.header) et son inventaire (ChoamFrigate.parts) :
module
ChoamFrigate =
struct
open
LegoBricks;;
let
parts =
make
[
("3900"
,Black), 1
;
("4479"
,Black), 1
;
("3841"
,Black), 1
;
("3962a"
,Black), 1
;
("3957"
,Black), 8
;
("3957"
,TrRed), 12
;
("4873"
,Black), 2
;
("4732"
,Blue), 4
;
("3062b"
,Blue), 4
;
("3062b"
,TrRed), 12
;
("4070"
,Blue), 16
;
("4070"
,White), 4
;
("3004"
,Blue), 4
;
("3004p06"
,Blue), 4
;
("4595"
,Blue), 2
;
("3622"
,Blue), 4
;
("3009"
,Blue), 8
;
("3963"
,Black), 16
;
("3003"
,Blue), 4
;
("3941"
,Blue), 8
;
("3941"
,White), 4
;
("3941"
,TrYellow), 6
;
("3002"
,Blue), 12
;
("3001"
,Blue), 15
;
("3007"
,Blue), 4
;
("3006"
,Blue), 2
;
("3829"
,Blue), 4
;
("4589"
,TrRed), 4
;
("4346"
,Blue), 4
;
("4345a"
,Blue), 4
;
("4740"
,TrRed), 4
;
("4285a"
,Blue), 4
;
("3633"
,Blue), 4
;
("3185"
,Blue), 2
;
("4448"
,Blue), 4
;
("4448"
,TrYellow), 6
;
("3937"
,Blue), 4
;
("3938"
,Blue), 4
;
("4593"
,Black), 4
;
("298"
,Black), 4
;
("4315"
,Blue), 4
;
("4349"
,Black), 4
;
("3876"
,TrRed), 2
;
("3837"
,Black), 1
;
("774"
,Black), 1
;
("4522"
,Black), 1
;
("4006"
,Black), 1
;
("3959"
,Blue), 4
;
("3959"
,OldGray), 12
;
("4215a"
,TrYellow), 4
;
("30116"
,OldGray), 4
;
("2345"
,White), 8
;
("3024"
,TrGreen), 5
;
("3024"
,TrRed), 21
;
("4073"
,TrGreen), 6
;
("4073"
,TrRed), 18
;
("4085b"
,Blue), 4
;
("4085b"
,White), 14
;
("4085a"
,Blue), 8
;
("4085a"
,White), 2
;
("3023"
,Blue), 24
;
("3023"
,White), 6
;
("3794"
,Blue), 4
;
("3839b"
,White), 4
;
("4175"
,Blue), 4
;
("3623"
,Blue), 12
;
("3710"
,Black), 4
;
("3710"
,Blue), 4
;
("4590"
,Black), 10
;
("4590"
,Blue), 8
;
("4590"
,White), 4
;
("4477"
,White), 2
;
("3022"
,Black), 4
;
("3022"
,Blue), 2
;
("3022"
,OldGray), 4
;
("4032"
,Black), 16
;
("4229"
,Black), 8
;
("3021"
,Blue), 4
;
("3021"
,White), 12
;
("3020"
,Blue), 16
;
("3020"
,White), 4
;
("3795"
,Blue), 12
;
("3795"
,White), 3
;
("3034"
,Blue), 7
;
("3034"
,OldGray), 4
;
("3034"
,White), 12
;
("3832"
,Blue), 12
;
("3832"
,White), 2
;
("3032"
,Blue), 4
;
("3032"
,White), 2
;
("3035"
,Blue), 2
;
("3030"
,Blue), 2
;
("3030"
,White), 2
;
("3029"
,Blue), 2
;
("3029"
,White), 1
;
("3958"
,TrYellow), 2
;
("3036"
,White), 2
;
("3033"
,Blue), 2
;
("3028"
,Blue), 2
;
("4151"
,OldGray), 1
;
("6063"
,Black), 1
;
("30363"
,Blue), 4
;
("4286"
,Blue), 4
;
("4287"
,Blue), 8
;
("3747"
,Blue), 2
;
("3747"
,White), 4
;
("3040b"
,Blue), 4
;
("3665"
,Blue), 8
;
("3039"
,Blue), 8
;
("3660"
,Blue), 10
;
("3676"
,Blue), 4
;
("3039p32"
,Blue), 2
;
("3039p32"
,OldGray), 4
;
("3039p05"
,Blue), 2
;
("3039p34"
,Blue), 2
;
("2342"
,Blue), 4
;
("3940"
,Black), 4
;
("4741"
,Blue), 6
;
("4737"
,Blue), 8
;
("4596"
,Blue), 6
;
("4476"
,Blue), 10
;
("4476"
,White), 4
;
("2340"
,White), 4
;
("4746"
,Black), 4
;
("69c01"
,Blue), 4
;
("3703"
,Blue), 2
;
("3070b"
,Blue), 4
;
("3070b"
,TrRed), 8
;
("2412b"
,OldGray), 8
;
("3069bp25"
,Blue), 2
;
("3069b"
,Blue), 8
;
("3069bp06"
,Blue), 4
;
("3068bp07"
,White), 1
;
("3068b"
,Blue), 4
;
("3068b"
,White), 2
;
("3068bp08"
,White), 2
;
("4033"
,Blue), 4
;
("4474"
,Blue), 2
;
("4474"
,TrYellow), 2
;
("3936"
,Blue), 2
;
("3935"
,Blue), 2
;
("3933"
,Blue), 6
;
("3934"
,Blue), 6
;
("3680c01"
,Blue), 2
;
("73590a"
,Black), 8
;
("73590a"
,White), 2
;
("x467"
,Black), 4
;
];;
let
header =
{name=
"CHOAM Frigate"
;
theme=
"MOC/SpiceGuid/SYSTEM/Space/Classic"
;
year=
2000
;
home=
"http://pagesperso-orange.fr/tuttisoft"
;
pieces=
size
parts;
minifigs=
0
};;
let
model =
(header,parts: model);;
end
;;
Voilà qui nous donne une première information, le nombre de pièces dans notre modèle :
# ChoamFrigate.header.pieces;;
-
: int
=
777
A priori pour faciliter notre construction il nous faudrait plutôt des boîtes legos de la famille 'espace', nous utilisons donc nos facilités d'analyse syntaxique pour générer un module LegoSpace qui rend notamment accessible LegoSpace.catalog, le catalogue de toutes les boîtes de lego de l'espace, le résultat est une base de données de plus de 5000 lignes :
module
LegoSpace =
struct
open
LegoBricks;;
let
spy_bot =
let
spy_bot_parts =
make
[
("4070"
,OldGray), 6
;
("4595"
,Black), 1
;
("3941"
,Black), 2
;
("4589"
,Black), 4
;
("3937"
,Black), 2
;
("3938"
,Black), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4275"
,OldGray), 2
;
("2429"
,OldGray), 2
;
("2430"
,OldGray), 2
;
("4531"
,OldGray), 2
;
("3959"
,Black), 1
;
("4006"
,Black), 1
;
("4073"
,TrGreen), 2
;
("4085b"
,Black), 3
;
("4085b"
,OldGray), 2
;
("3023"
,OldGray), 2
;
("4623"
,Black), 1
;
("3839b"
,OldGray), 1
;
("3623"
,Black), 2
;
("4590"
,OldGray), 1
;
("3022"
,OldGray), 2
;
("4032"
,OldGray), 1
;
("3021"
,OldGray), 1
;
("3020"
,OldGray), 1
;
("3040b"
,OldGray), 6
;
("3039p34"
,OldGray), 1
;
("3039p23"
,OldGray), 1
;
("3749"
,OldGray), 2
;
("3700"
,OldGray), 2
;
("3069bp25"
,OldGray), 3
;
("3680c01"
,Black), 1
;
]
in
let
spy_bot_info =
{name=
"Spy-Bot"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/1498_1"
;
pieces=
size
spy_bot_parts;
minifigs=
0
}
in
(spy_bot_info,spy_bot_parts: model);;
let
set_1498_1=
spy_bot;;
let
twin_starfire =
let
twin_starfire_parts =
make
[
("3957"
,TrRed), 2
;
("2436"
,White), 2
;
("4588"
,TrRed), 2
;
("3829"
,White), 2
;
("4597"
,Blue), 2
;
("4589"
,TrRed), 1
;
("2335"
,White), 2
;
("3937"
,White), 2
;
("4593"
,Black), 2
;
("298"
,White), 2
;
("3838"
,Yellow), 2
;
("193b"
,Yellow), 2
;
("3959"
,Black), 2
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Yellow), 2
;
("4349"
,Blue), 2
;
("973p90"
,Yellow), 2
;
("3024"
,Blue), 4
;
("4073"
,TrGreen), 2
;
("4081a"
,White), 4
;
("4085b"
,White), 2
;
("3023"
,White), 2
;
("3623"
,White), 2
;
("3710"
,White), 8
;
("4590"
,White), 1
;
("3666"
,White), 6
;
("3460"
,White), 2
;
("3022"
,White), 1
;
("3020"
,White), 2
;
("3034"
,Blue), 1
;
("3832"
,Blue), 1
;
("2419"
,White), 2
;
("3031"
,White), 1
;
("4871"
,White), 1
;
("4854"
,White), 1
;
("3479"
,Blue), 1
;
("4746"
,Blue), 1
;
("3070b"
,TrRed), 2
;
("3069bp05"
,White), 3
;
("3069bp25"
,White), 1
;
("2432"
,Blue), 2
;
("3069bp06"
,White), 2
;
("4858p90"
,White), 1
;
("2418a"
,TrBlue), 2
;
]
in
let
twin_starfire_info =
{name=
"Twin Starfire"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/1499_1"
;
pieces=
size
twin_starfire_parts;
minifigs=
2
}
in
(twin_starfire_info,twin_starfire_parts: model);;
let
set_1499_1 =
twin_starfire;;
let
space_scooter_1557 =
let
space_scooter_parts =
make
[
("4598"
,White), 1
;
("4588"
,Black), 1
;
("4595"
,OldGray), 2
;
("4589"
,TrRed), 2
;
("3942b"
,OldGray), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("4593"
,OldGray), 2
;
("298"
,Blue), 2
;
("3838"
,Red), 1
;
("193b"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("4349"
,Black), 2
;
("973p90"
,Red), 1
;
("3024"
,Blue), 2
;
("3022"
,OldGray), 1
;
("4032"
,OldGray), 2
;
("3020"
,Blue), 1
;
("3936"
,Blue), 1
;
("3935"
,Blue), 1
;
]
in
let
space_scooter_info =
{name=
"Space Scooter"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/1557_1"
;
pieces=
size
space_scooter_parts;
minifigs=
1
}
in
(space_scooter_info,space_scooter_parts: model);;
let
set_1557_1 =
space_scooter_1557;;
let
mobile_command_trailer =
let
mobile_command_trailer_parts =
make
[
("4589"
,Blue), 2
;
("4589"
,TrRed), 2
;
("4589"
,TrYellow), 2
;
("4593"
,Black), 4
;
("298"
,OldGray), 4
;
("3640"
,Blue), 1
;
("3639"
,Blue), 1
;
("3838"
,Black), 1
;
("3838"
,Yellow), 1
;
("193b"
,Black), 1
;
("193b"
,Yellow), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Black), 1
;
("970c00"
,Yellow), 1
;
("4736"
,OldGray), 2
;
("4006"
,Black), 1
;
("973p90"
,Black), 1
;
("973p90"
,Yellow), 1
;
("3024"
,TrYellow), 2
;
("4073"
,TrYellow), 2
;
("3023"
,Blue), 4
;
("3710"
,Blue), 4
;
("4590"
,Blue), 2
;
("3022"
,Blue), 4
;
("122c01"
,OldGray), 3
;
("3795"
,Blue), 1
;
("3031"
,Blue), 1
;
("4740"
,TrYellow), 1
;
("3040b"
,Blue), 2
;
("2342"
,OldGray), 4
;
("2336p35"
,Blue), 1
;
("4735"
,OldGray), 2
;
("4596"
,Blue), 1
;
("3069bp25"
,Blue), 1
;
("4288"
,Black), 6
;
("4859"
,Blue), 1
;
]
in
let
mobile_command_trailer_info =
{name=
"Mobile Command Trailer"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/1558_1"
;
pieces=
size
mobile_command_trailer_parts;
minifigs=
2
}
in
(mobile_command_trailer_info,mobile_command_trailer_parts: model);;
let
set_1558_1 =
mobile_command_trailer;;
let
lunar_scout =
let
lunar_scout_parts =
make
[
("4070"
,OldGray), 2
;
("4595"
,Black), 2
;
("4730"
,OldGray), 1
;
("3002"
,OldGray), 1
;
("3001"
,OldGray), 1
;
("4346"
,OldGray), 2
;
("4345a"
,OldGray), 2
;
("4593"
,Black), 2
;
("298"
,OldGray), 2
;
("4315"
,OldGray), 1
;
("73590a"
,OldGray), 2
;
("3838"
,Blue), 1
;
("193b"
,Blue), 1
;
("3959"
,Black), 1
;
("981"
,Blue), 1
;
("982"
,Blue), 1
;
("983"
,Blue), 2
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Blue), 1
;
("4349"
,Black), 1
;
("4479"
,Black), 1
;
("973p90"
,Blue), 1
;
("3024"
,TrRed), 2
;
("4073"
,TrRed), 2
;
("4085a"
,OldGray), 4
;
("3023"
,OldGray), 5
;
("3022"
,OldGray), 2
;
("3020"
,OldGray), 1
;
("4740"
,TrRed), 2
;
("3297p90"
,OldGray), 1
;
("3039"
,OldGray), 1
;
("3660"
,OldGray), 1
;
("3039p32"
,OldGray), 1
;
("2342"
,Black), 1
;
("4735"
,Black), 1
;
("3706"
,Black), 3
;
("3700"
,OldGray), 1
;
("3702"
,OldGray), 2
;
("3713"
,OldGray), 6
;
("3069bp25"
,OldGray), 1
;
("3069b"
,OldGray), 2
;
("4288"
,Black), 6
;
("4474"
,TrGreen), 1
;
]
in
let
lunar_scout_info =
{name=
"Lunar Scout"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/1580_1"
;
pieces=
size
lunar_scout_parts;
minifigs=
1
}
in
(lunar_scout_info,lunar_scout_parts: model);;
let
set_1580_1 =
lunar_scout;;
let
unnamed_1593 =
let
unnamed_1593_parts =
make
[
("3957"
,Black), 3
;
("3957"
,OldGray), 3
;
("792c02"
,OldGray), 2
;
("3612"
,OldGray), 8
;
("3613"
,OldGray), 1
;
("3956"
,OldGray), 1
;
("3956"
,White), 4
;
("3005"
,OldGray), 2
;
("3005"
,White), 4
;
("3062b"
,TrGreen), 3
;
("3062b"
,TrRed), 5
;
("4070"
,OldGray), 4
;
("3004"
,OldGray), 2
;
("3004"
,White), 1
;
("3004p90"
,White), 3
;
("3622"
,White), 4
;
("3010"
,White), 4
;
("3010p04"
,White), 4
;
("3963"
,Black), 2
;
("3941"
,OldGray), 3
;
("3941"
,White), 2
;
("3829"
,Black), 1
;
("3829"
,OldGray), 2
;
("3942a"
,Black), 2
;
("3942a"
,OldGray), 3
;
("3942a"
,White), 2
;
("3943"
,Black), 2
;
("4221"
,OldGray), 2
;
("4220"
,OldGray), 1
;
("3937"
,OldGray), 1
;
("3937"
,White), 2
;
("3938"
,OldGray), 1
;
("3938"
,White), 2
;
("3831"
,OldGray), 2
;
("3831"
,White), 2
;
("3830"
,OldGray), 2
;
("3830"
,White), 2
;
("3838"
,Red), 1
;
("3838"
,Yellow), 1
;
("4360"
,Black), 1
;
("193a"
,Red), 1
;
("193a"
,Yellow), 1
;
("3962a"
,Black), 1
;
("3959"
,Black), 2
;
("3959"
,OldGray), 2
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Red), 1
;
("970c00"
,Yellow), 1
;
("3900"
,Black), 1
;
("4006"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,Yellow), 1
;
("3024"
,OldGray), 2
;
("3024"
,Yellow), 2
;
("3024"
,TrRed), 14
;
("4081a"
,OldGray), 4
;
("4081a"
,White), 4
;
("4085a"
,White), 2
;
("3023"
,OldGray), 4
;
("3023"
,White), 4
;
("3839b"
,Black), 3
;
("3839b"
,OldGray), 3
;
("4175"
,Black), 2
;
("4175"
,OldGray), 4
;
("3623"
,OldGray), 6
;
("3623"
,Yellow), 2
;
("3710"
,OldGray), 11
;
("3710"
,White), 6
;
("3666"
,OldGray), 6
;
("3666"
,White), 2
;
("3460"
,OldGray), 6
;
("3460"
,White), 1
;
("3022"
,OldGray), 7
;
("3022"
,White), 1
;
("4032"
,Black), 3
;
("4229"
,OldGray), 2
;
("3021"
,OldGray), 4
;
("3020"
,OldGray), 7
;
("3795"
,OldGray), 1
;
("3795"
,White), 1
;
("3034"
,OldGray), 3
;
("3034"
,White), 1
;
("3832"
,OldGray), 1
;
("3032"
,OldGray), 1
;
("3032"
,White), 4
;
("3032"
,TrBlue), 1
;
("3029"
,OldGray), 2
;
("3958"
,OldGray), 1
;
("3960"
,OldGray), 2
;
("4285a"
,OldGray), 1
;
("3298"
,White), 2
;
("3747"
,OldGray), 4
;
("4089"
,OldGray), 1
;
("3298p90"
,OldGray), 1
;
("3298p90"
,White), 1
;
("3939"
,TrBlue), 1
;
("3665"
,OldGray), 2
;
("3039"
,OldGray), 1
;
("3039p34"
,OldGray), 1
;
("3039p34"
,White), 2
;
("3039p23"
,OldGray), 1
;
("3940"
,Black), 7
;
("3479"
,White), 7
;
("3707"
,Black), 3
;
("3702"
,OldGray), 2
;
("3713"
,OldGray), 6
;
("3069b"
,White), 4
;
("3680c01"
,OldGray), 1
;
("4288"
,Black), 6
;
("3856"
,White), 4
;
("3853"
,White), 2
;
("3936"
,OldGray), 4
;
("3935"
,OldGray), 4
;
("3933"
,OldGray), 1
;
("3934"
,OldGray), 1
;
]
in
let
unnamed_1593_info =
{name=
"Unnamed #1593"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1983
;
home=
"http://guide.lugnet.com/set/1593_1"
;
pieces=
size
unnamed_1593_parts;
minifigs=
2
}
in
(unnamed_1593_info,unnamed_1593_parts: model);;
let
set_1593_1 =
unnamed_1593;;
let
unnamed_1968 =
let
unnamed_1968_parts =
make
[
("3957"
,TrRed), 4
;
("3956"
,Black), 1
;
("4598"
,White), 1
;
("4732"
,Black), 1
;
("3062b"
,TrRed), 2
;
("4070"
,Blue), 2
;
("4070"
,OldGray), 6
;
("3004"
,OldGray), 4
;
("3004"
,White), 2
;
("3004p06"
,OldGray), 2
;
("3010"
,OldGray), 5
;
("3010p04"
,OldGray), 2
;
("3009"
,OldGray), 1
;
("3003"
,OldGray), 2
;
("3941"
,Black), 2
;
("3941"
,White), 1
;
("4730"
,White), 1
;
("3006"
,Black), 1
;
("4589"
,TrRed), 2
;
("3937"
,Blue), 1
;
("3938"
,Blue), 1
;
("4213"
,TrYellow), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4315"
,Black), 3
;
("73590a"
,TrYellow), 6
;
("3838"
,Red), 1
;
("193b"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("4349"
,Black), 2
;
("973p90"
,Red), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 2
;
("4073"
,TrBlue), 1
;
("4073"
,TrRed), 1
;
("3023"
,Black), 2
;
("3023"
,Blue), 1
;
("3023"
,OldGray), 2
;
("3794"
,Blue), 1
;
("3475b"
,Black), 2
;
("3710"
,Black), 3
;
("3710"
,OldGray), 9
;
("4590"
,Black), 1
;
("3460"
,OldGray), 2
;
("3022"
,OldGray), 7
;
("4032"
,Black), 3
;
("4229"
,Black), 9
;
("4600"
,OldGray), 2
;
("3020"
,OldGray), 3
;
("3795"
,OldGray), 2
;
("3832"
,OldGray), 1
;
("3031"
,OldGray), 1
;
("3033"
,OldGray), 1
;
("4740"
,TrBlue), 1
;
("4740"
,TrGreen), 2
;
("4740"
,TrRed), 2
;
("4286"
,OldGray), 6
;
("4287"
,OldGray), 2
;
("3747"
,Black), 1
;
("3747"
,OldGray), 2
;
("3040b"
,OldGray), 10
;
("3039p34"
,White), 1
;
("3039p23"
,White), 1
;
("3037"
,OldGray), 1
;
("4735"
,Black), 2
;
("4735"
,Blue), 2
;
("3940"
,Black), 3
;
("4737"
,Black), 2
;
("3700"
,Black), 1
;
("3069bp25"
,OldGray), 1
;
("3068bp08"
,OldGray), 2
;
("3641"
,Black), 4
;
("4624"
,OldGray), 4
;
("4474"
,TrGreen), 1
;
("3936"
,OldGray), 2
;
("3935"
,OldGray), 2
;
("3933"
,OldGray), 2
;
("3934"
,OldGray), 2
;
]
in
let
unnamed_1968_info =
{name=
"Unnamed #1968"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/1968_1"
;
pieces=
size
unnamed_1968_parts;
minifigs=
1
}
in
(unnamed_1968_info,unnamed_1968_parts: model);;
let
set_1968_1 =
unnamed_1968;;
let
space_shuttle =
let
space_shuttle_parts =
make
[
("3957"
,OldGray), 1
;
("3062a"
,TrGreen), 1
;
("3963"
,OldGray), 2
;
("3829"
,OldGray), 2
;
("3838"
,White), 1
;
("193a"
,White), 1
;
("3959"
,OldGray), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 2
;
("3023"
,OldGray), 2
;
("3794"
,OldGray), 1
;
("3839a"
,OldGray), 1
;
("3475b"
,OldGray), 2
;
("3623"
,OldGray), 2
;
("3460"
,OldGray), 1
;
("3021"
,OldGray), 1
;
("3020"
,OldGray), 2
;
("3795"
,OldGray), 3
;
("3035"
,OldGray), 1
;
("3298p90"
,OldGray), 1
;
("3039p34"
,OldGray), 1
;
("3479"
,OldGray), 1
;
("3936"
,OldGray), 2
;
("3935"
,OldGray), 2
;
]
in
let
space_shuttle_info =
{name=
"Space Shuttle"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1979
;
home=
"http://guide.lugnet.com/set/442_1"
;
pieces=
size
space_shuttle_parts;
minifigs=
1
}
in
(space_shuttle_info,space_shuttle_parts: model);;
let
set_442_1 =
space_shuttle;;
let
set_891_1 =
space_shuttle;;
let
mobile_tracking_station =
let
mobile_tracking_station_parts =
make
[
("3957"
,OldGray), 1
;
("3005"
,OldGray), 2
;
("3062a"
,OldGray), 2
;
("3062a"
,TrGreen), 1
;
("3004"
,OldGray), 4
;
("3004p90"
,OldGray), 2
;
("3065"
,TrYellow), 3
;
("3622"
,OldGray), 2
;
("3001"
,OldGray), 1
;
("3788"
,OldGray), 2
;
("3787"
,OldGray), 2
;
("3829"
,OldGray), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("3831"
,OldGray), 2
;
("3830"
,OldGray), 2
;
("3838"
,OldGray), 1
;
("3838"
,White), 1
;
("193a"
,White), 1
;
("3876"
,Clear), 2
;
("3959"
,OldGray), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("3024"
,TrRed), 1
;
("3023"
,OldGray), 2
;
("3794"
,OldGray), 2
;
("3839a"
,OldGray), 1
;
("3710"
,OldGray), 2
;
("3022"
,OldGray), 2
;
("3731"
,OldGray), 1
;
("3730"
,OldGray), 1
;
("122c01"
,OldGray), 4
;
("3021"
,OldGray), 4
;
("3020"
,OldGray), 2
;
("3034"
,OldGray), 1
;
("3960"
,OldGray), 1
;
("3039p23"
,OldGray), 1
;
("3651"
,OldGray), 1
;
("3070b"
,OldGray), 2
;
("3069b"
,OldGray), 3
;
("3680c01"
,OldGray), 1
;
("3641"
,Black), 8
;
]
in
let
mobile_tracking_station_info =
{name=
"Mobile Tracking Station"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1979
;
home=
"http://guide.lugnet.com/set/452_1"
;
pieces=
size
mobile_tracking_station_parts;
minifigs=
1
}
in
(mobile_tracking_station_info,mobile_tracking_station_parts: model);;
let
set_452_1 =
mobile_tracking_station;;
let
set_894_1 =
mobile_tracking_station;;
let
rocket_launcher =
let
rocket_launcher_parts =
make
[
("3957"
,OldGray), 1
;
("3956"
,OldGray), 2
;
("3062a"
,TrGreen), 1
;
("3963"
,OldGray), 1
;
("3941"
,Black), 2
;
("3941"
,White), 6
;
("3787"
,OldGray), 5
;
("3829"
,OldGray), 1
;
("3942a"
,Black), 1
;
("3942a"
,White), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("3324c01"
,OldGray), 1
;
("3838"
,Red), 1
;
("3838"
,OldGray), 1
;
("3838"
,White), 1
;
("193a"
,Red), 1
;
("193a"
,White), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Red), 1
;
("970c00"
,White), 1
;
("973p90"
,Red), 1
;
("973p90"
,White), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 1
;
("3023"
,OldGray), 3
;
("3794"
,Red), 2
;
("3794"
,OldGray), 2
;
("3022"
,OldGray), 1
;
("3731"
,OldGray), 1
;
("3730"
,OldGray), 1
;
("122c01"
,OldGray), 5
;
("3020"
,OldGray), 3
;
("3795"
,OldGray), 3
;
("3034"
,OldGray), 1
;
("3960"
,OldGray), 1
;
("3039p23"
,OldGray), 1
;
("3479"
,OldGray), 2
;
("3680c01"
,OldGray), 1
;
("3641"
,Black), 10
;
]
in
let
rocket_launcher_info =
{name=
"Rocket Launcher"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1978
;
home=
"http://guide.lugnet.com/set/462_1"
;
pieces=
size
rocket_launcher_parts;
minifigs=
2
}
in
(rocket_launcher_info,rocket_launcher_parts: model);;
let
set_462_1 =
rocket_launcher;;
let
set_897_1 =
rocket_launcher;;
let
alpha1_rocket_base =
let
alpha1_rocket_base_parts =
make
[
("3957"
,OldGray), 3
;
("3947"
,OldGray), 1
;
("3956"
,Blue), 4
;
("3956"
,OldGray), 3
;
("3005"
,Blue), 7
;
("3062a"
,OldGray), 2
;
("3062a"
,TrGreen), 2
;
("3062a"
,TrRed), 3
;
("3004"
,Blue), 7
;
("3622"
,Blue), 1
;
("3010"
,Blue), 2
;
("3066"
,TrYellow), 9
;
("3009"
,Blue), 4
;
("3008"
,Blue), 1
;
("3003"
,Blue), 1
;
("3941"
,Black), 2
;
("3941"
,Blue), 6
;
("3941"
,OldGray), 11
;
("3941"
,White), 8
;
("3002"
,Blue), 1
;
("3788"
,OldGray), 2
;
("3787"
,OldGray), 2
;
("3829"
,Blue), 2
;
("3829"
,OldGray), 2
;
("3942a"
,Black), 1
;
("3942a"
,White), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("3149c01"
,Blue), 1
;
("x467"
,Black), 3
;
("3838"
,Red), 1
;
("3838"
,OldGray), 1
;
("3838"
,White), 2
;
("193a"
,Red), 1
;
("193a"
,White), 2
;
("3962a"
,Black), 2
;
("3626ap01"
,Yellow), 3
;
("970c00"
,Red), 1
;
("970c00"
,White), 2
;
("4006"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,White), 2
;
("3024"
,Blue), 1
;
("3024"
,TrGreen), 4
;
("3024"
,TrRed), 2
;
("3023"
,OldGray), 2
;
("3023"
,Yellow), 2
;
("3794"
,OldGray), 3
;
("3839a"
,OldGray), 8
;
("3710"
,Blue), 2
;
("3710"
,OldGray), 1
;
("3710"
,Yellow), 2
;
("3666"
,Blue), 2
;
("3022"
,OldGray), 1
;
("3731"
,OldGray), 1
;
("3730"
,OldGray), 1
;
("122c01"
,OldGray), 4
;
("3020"
,Blue), 1
;
("3020"
,OldGray), 4
;
("3795"
,OldGray), 1
;
("3034"
,Blue), 1
;
("3832"
,Blue), 2
;
("3029"
,Blue), 1
;
("3036"
,Blue), 1
;
("3036"
,TrYellow), 1
;
("3960"
,OldGray), 1
;
("3660p01"
,Blue), 3
;
("3039p34"
,Blue), 2
;
("3039p34"
,OldGray), 1
;
("3039p23"
,Blue), 1
;
("3479"
,Blue), 4
;
("69c01"
,Blue), 4
;
("3680c01"
,OldGray), 1
;
("3641"
,Black), 8
;
]
in
let
alpha1_rocket_base_info =
{name=
"Alpha-1 Rocket Base"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1979
;
home=
"http://guide.lugnet.com/set/483_1"
;
pieces=
size
alpha1_rocket_base_parts;
minifigs=
3
}
in
(alpha1_rocket_base_info,alpha1_rocket_base_parts: model);;
let
set_483_1 =
alpha1_rocket_base;;
let
set_920_2 =
alpha1_rocket_base;;
let
space_cruiser =
let
space_cruiser_parts =
make
[
("3957"
,OldGray), 1
;
("3956"
,Blue), 2
;
("3062a"
,TrGreen), 1
;
("3004"
,Blue), 5
;
("3004"
,White), 1
;
("3004p90"
,Blue), 2
;
("3004p20"
,Blue), 2
;
("3065"
,TrYellow), 4
;
("3622"
,Blue), 2
;
("3010"
,Blue), 3
;
("3010p924"
,Blue), 2
;
("3066"
,TrYellow), 2
;
("3009"
,Blue), 1
;
("3008"
,Blue), 2
;
("3963"
,OldGray), 2
;
("3003"
,Blue), 2
;
("3941"
,OldGray), 2
;
("3829"
,OldGray), 2
;
("3943a"
,OldGray), 2
;
("3822"
,White), 1
;
("3821"
,White), 1
;
("3430c00"
,OldGray), 1
;
("3937"
,Blue), 2
;
("3938"
,Blue), 2
;
("3831"
,Blue), 2
;
("3830"
,Blue), 2
;
("3838"
,Red), 1
;
("3838"
,White), 1
;
("193a"
,Red), 1
;
("193a"
,White), 1
;
("3959"
,OldGray), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Red), 1
;
("970c00"
,White), 1
;
("4006"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,White), 1
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 2
;
("3023"
,Blue), 8
;
("3023"
,White), 2
;
("3839a"
,OldGray), 1
;
("3623"
,Black), 2
;
("3623"
,Blue), 2
;
("3623"
,OldGray), 2
;
("3623"
,Yellow), 2
;
("3710"
,Blue), 7
;
("3666"
,Blue), 1
;
("3666"
,OldGray), 2
;
("3460"
,Blue), 2
;
("3460"
,OldGray), 2
;
("3022"
,Blue), 2
;
("122c01"
,OldGray), 2
;
("3021"
,Blue), 2
;
("3021"
,OldGray), 4
;
("3020"
,Blue), 6
;
("3020"
,OldGray), 4
;
("3020"
,White), 2
;
("3795"
,OldGray), 1
;
("3032"
,OldGray), 1
;
("3030"
,OldGray), 3
;
("3030"
,TrYellow), 1
;
("3958"
,OldGray), 2
;
("3027"
,OldGray), 1
;
("3939"
,TrYellow), 2
;
("3939p91"
,Blue), 1
;
("3665"
,Blue), 2
;
("3660"
,Blue), 2
;
("3039p34"
,OldGray), 1
;
("3039p23"
,OldGray), 1
;
("3940"
,OldGray), 4
;
("3479"
,Blue), 2
;
("3479"
,OldGray), 4
;
("3069b"
,Blue), 8
;
("3068b"
,Blue), 4
;
("3641"
,Black), 4
;
("3933"
,OldGray), 3
;
("3934"
,OldGray), 3
;
]
in
let
space_cruiser_info =
{name=
"Space Cruiser"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1978
;
home=
"http://guide.lugnet.com/set/487_1"
;
pieces=
size
space_cruiser_parts;
minifigs=
2
}
in
(space_cruiser_info,space_cruiser_parts: model);;
let
set_487_1 =
space_cruiser;;
let
set_924_1 =
space_cruiser;;
let
space_command_center =
let
space_command_center_parts =
make
[
("3957"
,OldGray), 2
;
("3144"
,OldGray), 2
;
("3811"
,OldGray), 1
;
("3947"
,OldGray), 1
;
("3956"
,OldGray), 1
;
("3062a"
,TrGreen), 1
;
("3062a"
,TrRed), 2
;
("3004"
,Blue), 19
;
("3004p90"
,Blue), 2
;
("3004p20"
,Blue), 1
;
("3010"
,Blue), 1
;
("3066"
,TrYellow), 3
;
("3009"
,Blue), 4
;
("3067"
,TrYellow), 3
;
("3754p01"
,Blue), 1
;
("3008"
,Blue), 5
;
("3003"
,Blue), 3
;
("3063"
,OldGray), 8
;
("3941"
,Blue), 1
;
("3941"
,OldGray), 2
;
("3002"
,Blue), 8
;
("3787"
,OldGray), 2
;
("3829"
,OldGray), 2
;
("3937"
,OldGray), 2
;
("3938"
,OldGray), 2
;
("3838"
,Red), 2
;
("3838"
,OldGray), 2
;
("3838"
,White), 2
;
("193a"
,Red), 2
;
("193a"
,White), 2
;
("3962a"
,Black), 2
;
("3959"
,OldGray), 1
;
("3626ap01"
,Yellow), 4
;
("970c00"
,Red), 2
;
("970c00"
,White), 2
;
("973p90"
,Red), 2
;
("973p90"
,White), 2
;
("3023"
,Blue), 2
;
("3023"
,OldGray), 1
;
("3794"
,OldGray), 5
;
("3839a"
,OldGray), 3
;
("3460"
,Blue), 4
;
("3481"
,Blue), 1
;
("122c01"
,OldGray), 4
;
("3021"
,Blue), 1
;
("3021"
,OldGray), 2
;
("3020"
,OldGray), 4
;
("3795"
,OldGray), 2
;
("3036"
,TrYellow), 2
;
("3456"
,Blue), 1
;
("3027"
,Blue), 1
;
("3960"
,OldGray), 1
;
("3961"
,OldGray), 1
;
("3665"
,Blue), 4
;
("3040a"
,Blue), 6
;
("3040a"
,OldGray), 4
;
("3039"
,OldGray), 5
;
("3660"
,Blue), 4
;
("3660p01"
,Blue), 3
;
("3039p34"
,Blue), 1
;
("3039p23"
,Blue), 3
;
("3678"
,Clear), 2
;
("3940"
,OldGray), 1
;
("3479"
,Blue), 5
;
("3703"
,Blue), 1
;
("3680c01"
,Blue), 1
;
("3680c01"
,OldGray), 3
;
("3641"
,Black), 8
;
]
in
let
space_command_center_info =
{name=
"Space Command Center"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1978
;
home=
"http://guide.lugnet.com/set/493_1"
;
pieces=
size
space_command_center_parts;
minifigs=
4
}
in
(space_command_center_info,space_command_center_parts: model);;
let
set_493_1 =
space_command_center;;
let
set_926_1 =
space_command_center;;
let
galaxy_explorer =
let
galaxy_explorer_parts =
make
[
("3957"
,OldGray), 2
;
("3144"
,OldGray), 1
;
("6099px2"
,OldGray), 1
;
("3947"
,OldGray), 1
;
("3956"
,Blue), 2
;
("3956"
,OldGray), 3
;
("3005"
,Blue), 6
;
("3062a"
,TrGreen), 1
;
("3062a"
,TrRed), 15
;
("3004"
,Blue), 4
;
("3004p90"
,Blue), 4
;
("3004p20"
,Blue), 2
;
("3622"
,Blue), 10
;
("3010"
,Blue), 10
;
("3010p04"
,Blue), 3
;
("3010p928"
,Blue), 2
;
("3066"
,TrYellow), 7
;
("3009"
,Blue), 1
;
("3067"
,TrYellow), 2
;
("3008"
,Blue), 7
;
("3963"
,OldGray), 2
;
("3941"
,OldGray), 4
;
("3001"
,Blue), 3
;
("3829"
,OldGray), 2
;
("3942a"
,OldGray), 2
;
("3943a"
,OldGray), 7
;
("3822"
,OldGray), 1
;
("3821"
,OldGray), 1
;
("3937"
,Blue), 2
;
("3938"
,Blue), 2
;
("3831"
,Blue), 4
;
("3830"
,Blue), 4
;
("3149c01"
,OldGray), 1
;
("3838"
,Red), 2
;
("3838"
,OldGray), 1
;
("3838"
,White), 2
;
("193a"
,Red), 2
;
("193a"
,White), 2
;
("3962a"
,Black), 2
;
("3959"
,OldGray), 1
;
("3626ap01"
,Yellow), 4
;
("970c00"
,Red), 2
;
("970c00"
,White), 2
;
("4006"
,Black), 1
;
("973p90"
,Red), 2
;
("973p90"
,White), 2
;
("3024"
,Blue), 2
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 2
;
("3023"
,Blue), 2
;
("3023"
,OldGray), 2
;
("3794"
,OldGray), 1
;
("3839a"
,OldGray), 4
;
("3623"
,Black), 4
;
("3623"
,Blue), 4
;
("3623"
,Yellow), 8
;
("3710"
,Blue), 6
;
("3710"
,OldGray), 5
;
("3666"
,Blue), 3
;
("3666"
,OldGray), 7
;
("3460"
,Blue), 4
;
("3460"
,OldGray), 6
;
("3022"
,Blue), 2
;
("3022"
,OldGray), 6
;
("122c01"
,OldGray), 2
;
("3021"
,Blue), 2
;
("3021"
,OldGray), 5
;
("3020"
,Blue), 1
;
("3020"
,OldGray), 4
;
("3795"
,Blue), 2
;
("3795"
,OldGray), 5
;
("3034"
,OldGray), 10
;
("3832"
,OldGray), 3
;
("3031"
,OldGray), 2
;
("3032"
,Blue), 4
;
("3032"
,OldGray), 1
;
("3035"
,Blue), 1
;
("3035"
,OldGray), 2
;
("3030"
,OldGray), 3
;
("3030"
,TrYellow), 1
;
("3029"
,OldGray), 2
;
("3958"
,OldGray), 3
;
("3028"
,OldGray), 2
;
("3961"
,OldGray), 1
;
("3298"
,OldGray), 2
;
("3297"
,OldGray), 2
;
("3939"
,TrYellow), 3
;
("3939p91"
,Blue), 1
;
("3040b"
,Blue), 4
;
("3665"
,Blue), 2
;
("3039"
,OldGray), 1
;
("3660"
,Blue), 9
;
("3039p34"
,Blue), 1
;
("3039p34"
,OldGray), 1
;
("3039p23"
,Blue), 1
;
("3039p23"
,OldGray), 1
;
("3940"
,OldGray), 5
;
("3479"
,Blue), 8
;
("3479"
,OldGray), 6
;
("3070b"
,Blue), 2
;
("3069b"
,Blue), 7
;
("3641"
,Black), 4
;
("3936"
,OldGray), 2
;
("3935"
,OldGray), 2
;
("3933"
,OldGray), 4
;
("3934"
,OldGray), 4
;
]
in
let
galaxy_explorer_info =
{name=
"Galaxy Explorer"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1979
;
home=
"http://guide.lugnet.com/set/497_1"
;
pieces=
size
galaxy_explorer_parts;
minifigs=
4
}
in
(galaxy_explorer_info,galaxy_explorer_parts: model);;
let
set_497_1 =
galaxy_explorer;;
let
set_928_1 =
galaxy_explorer;;
let
light_sound_sonic_robot =
let
light_sound_sonic_robot_parts =
make
[
("3957"
,TrRed), 2
;
("792c02"
,White), 2
;
("3612"
,White), 8
;
("3613"
,White), 2
;
("3956"
,White), 4
;
("4598"
,White), 2
;
("4588"
,TrRed), 2
;
("3004p06"
,White), 1
;
("3963"
,White), 2
;
("4589"
,TrRed), 2
;
("4760c01"
,White), 1
;
("4767"
,White), 1
;
("4774c01"
,White), 1
;
("4773"
,TrGreen), 1
;
("4773"
,TrRed), 1
;
("4221"
,Black), 4
;
("4220"
,White), 2
;
("4593"
,Black), 4
;
("298"
,Black), 4
;
("73590a"
,TrYellow), 2
;
("3838"
,Blue), 1
;
("3838"
,Red), 1
;
("193b"
,Blue), 1
;
("193b"
,Red), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Blue), 1
;
("970c00"
,Red), 1
;
("4349"
,White), 4
;
("973p90"
,Blue), 1
;
("973p90"
,Red), 1
;
("3024"
,TrGreen), 3
;
("3024"
,TrRed), 2
;
("4085b"
,Black), 2
;
("3023"
,White), 5
;
("3794"
,White), 3
;
("3623"
,White), 2
;
("4032"
,Black), 2
;
("4229"
,Black), 4
;
("3021"
,White), 4
;
("3795"
,White), 1
;
("3958"
,Black), 1
;
("4286"
,White), 2
;
("4089"
,Black), 2
;
("3040b"
,White), 2
;
("3660p01"
,White), 1
;
("4735"
,Black), 2
;
("3069b"
,White), 2
;
("3069bp06"
,White), 2
;
("3068bp08"
,White), 2
;
("3680c01"
,Black), 1
;
]
in
let
light_sound_sonic_robot_info =
{name=
"Light & Sound Sonic Robot"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/6750_1"
;
pieces=
size
light_sound_sonic_robot_parts;
minifigs=
2
}
in
(light_sound_sonic_robot_info,light_sound_sonic_robot_parts: model);;
let
set_6750_1 =
light_sound_sonic_robot;;
let
light_sound_xt_starship =
let
light_sound_xt_starship_parts =
make
[
("3957"
,TrRed), 6
;
("3956"
,White), 4
;
("4732"
,Black), 2
;
("3005"
,White), 2
;
("4588"
,TrRed), 2
;
("3004p06"
,White), 2
;
("3004p01"
,White), 2
;
("3622"
,White), 2
;
("3010"
,White), 2
;
("3010p04"
,White), 2
;
("3009"
,White), 1
;
("3008"
,White), 1
;
("3963"
,Black), 6
;
("3003"
,White), 3
;
("4730"
,White), 1
;
("4591"
,White), 1
;
("3002"
,White), 3
;
("3006"
,White), 1
;
("4589"
,Black), 2
;
("4589"
,White), 1
;
("4589"
,TrRed), 4
;
("4760c01"
,White), 1
;
("4767"
,White), 2
;
("4771"
,White), 1
;
("4774c01"
,White), 1
;
("4773"
,TrGreen), 2
;
("4773"
,TrRed), 2
;
("4773"
,TrYellow), 2
;
("4757"
,White), 1
;
("4758"
,White), 1
;
("3937"
,White), 1
;
("3938"
,White), 1
;
("4593"
,Black), 4
;
("298"
,Black), 4
;
("4315"
,White), 1
;
("73590a"
,Black), 2
;
("73590a"
,TrYellow), 2
;
("3838"
,Yellow), 1
;
("193b"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("973p90"
,Yellow), 1
;
("4865"
,White), 4
;
("3024"
,White), 2
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 4
;
("4081a"
,White), 4
;
("4085b"
,White), 4
;
("3023"
,Black), 8
;
("3023"
,White), 9
;
("3839b"
,White), 2
;
("3022"
,Black), 1
;
("3022"
,White), 7
;
("4032"
,White), 3
;
("4229"
,Black), 10
;
("3021"
,Black), 1
;
("3020"
,Black), 1
;
("3020"
,White), 5
;
("3795"
,White), 1
;
("3031"
,White), 1
;
("4740"
,TrGreen), 2
;
("4740"
,TrRed), 3
;
("3747"
,White), 6
;
("3298p90"
,White), 1
;
("3040b"
,White), 2
;
("3665"
,White), 6
;
("3660"
,White), 2
;
("3039p34"
,White), 2
;
("4735"
,Black), 2
;
("4596"
,White), 1
;
("4476"
,White), 6
;
("4746"
,Black), 3
;
("3700"
,White), 3
;
("3673"
,OldGray), 1
;
("3069bp25"
,OldGray), 1
;
("3069b"
,White), 1
;
("3069bp06"
,White), 2
;
("3068b"
,White), 2
;
("3068bp08"
,White), 2
;
("4474"
,TrBlue), 1
;
("3936"
,White), 1
;
("3935"
,White), 1
;
("4475"
,White), 1
;
]
in
let
light_sound_xt_starship_info =
{name=
"Light & Sound XT - Starship"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/6780_1"
;
pieces=
size
light_sound_xt_starship_parts;
minifigs=
1
}
in
(light_sound_xt_starship_info,light_sound_xt_starship_parts: model);;
let
set_6780_1 =
light_sound_xt_starship;;
let
sonar_transmitting_cruiser =
let
sonar_transmitting_cruiser_parts =
make
[
("3957"
,TrRed), 2
;
("3956"
,White), 1
;
("4732"
,Black), 2
;
("3005"
,White), 12
;
("4588"
,TrRed), 2
;
("4070"
,Blue), 2
;
("4070"
,White), 4
;
("3004"
,Blue), 1
;
("3004"
,White), 10
;
("4595"
,Black), 4
;
("3622"
,White), 2
;
("3010"
,White), 3
;
("3010p04"
,White), 2
;
("3009"
,White), 3
;
("3963"
,Black), 1
;
("3003"
,White), 8
;
("3941"
,Black), 2
;
("3941"
,Blue), 1
;
("4730"
,White), 7
;
("3002"
,Black), 2
;
("3002"
,White), 3
;
("4589"
,Black), 4
;
("4589"
,TrRed), 3
;
("3943"
,Black), 1
;
("4760c01"
,White), 1
;
("4767"
,White), 2
;
("4771"
,White), 1
;
("4774c01"
,White), 1
;
("4773"
,TrGreen), 2
;
("4773"
,TrRed), 2
;
("4757"
,White), 2
;
("4758"
,White), 3
;
("3633"
,White), 2
;
("3937"
,White), 1
;
("3938"
,White), 1
;
("4213"
,TrBlue), 2
;
("4593"
,Black), 6
;
("298"
,Black), 6
;
("4315"
,Black), 4
;
("4315"
,White), 1
;
("3149c01"
,White), 1
;
("4625"
,White), 2
;
("73590a"
,Black), 6
;
("3838"
,Red), 1
;
("3838"
,Yellow), 1
;
("193b"
,Red), 1
;
("193b"
,Yellow), 1
;
("3962a"
,Black), 1
;
("3959"
,Black), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Red), 1
;
("970c00"
,Yellow), 1
;
("4006"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,Yellow), 1
;
("2345"
,White), 8
;
("4868"
,White), 2
;
("3024"
,White), 8
;
("3024"
,TrGreen), 4
;
("3024"
,TrRed), 5
;
("3024"
,TrYellow), 2
;
("4085b"
,White), 10
;
("3023"
,Black), 8
;
("3023"
,White), 14
;
("3794"
,White), 3
;
("3839b"
,Black), 1
;
("3623"
,White), 2
;
("3710"
,White), 4
;
("4590"
,Black), 8
;
("3666"
,Black), 2
;
("3666"
,White), 4
;
("3460"
,White), 3
;
("3022"
,White), 15
;
("4032"
,Black), 4
;
("122c01"
,Black), 2
;
("3021"
,White), 17
;
("3020"
,Black), 3
;
("3020"
,White), 5
;
("3795"
,White), 8
;
("3034"
,White), 1
;
("3832"
,White), 1
;
("3031"
,Black), 1
;
("3036"
,Black), 2
;
("4740"
,TrRed), 1
;
("4285a"
,Black), 2
;
("3747"
,Black), 2
;
("3040b"
,White), 3
;
("3040px5"
,White), 2
; (* Unofficial part *)
("3660"
,White), 2
;
("3039p32"
,White), 1
;
("3039p05"
,White), 1
;
("3039p23"
,White), 2
;
("2342"
,Black), 3
;
("2342"
,White), 1
;
("4735"
,Black), 1
;
("4735"
,Blue), 2
;
("4476"
,White), 2
;
("2340"
,Black), 2
;
("3700"
,White), 7
;
("3069bp05"
,White), 4
;
("3069b"
,White), 1
;
("3069bp06"
,White), 6
;
("3068b"
,White), 2
;
("3068bp07"
,White), 2
;
("3068bp08"
,White), 2
;
("4288"
,Black), 4
;
("4859"
,Black), 1
;
("4859"
,White), 1
;
("4858p90"
,White), 1
;
("4856"
,White), 1
;
("4474"
,Black), 2
;
("4474"
,TrBlue), 3
;
("3936"
,White), 1
;
("3935"
,White), 1
;
]
in
let
sonar_transmitting_cruiser_info =
{name=
"Sonar Transmitting Cruiser"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1988
;
home=
"http://guide.lugnet.com/set/6783_1"
;
pieces=
size
sonar_transmitting_cruiser_parts;
minifigs=
2
}
in
(sonar_transmitting_cruiser_info,sonar_transmitting_cruiser_parts: model);;
let
set_6783_1 =
sonar_transmitting_cruiser;;
let
rocket_sled =
let
rocket_sled_parts =
make
[
("3957"
,OldGray), 1
;
("3963"
,Black), 2
;
("3829"
,OldGray), 1
;
("3838"
,White), 1
;
("193a"
,White), 1
;
("3962a"
,Black), 1
;
("3959"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("4085a"
,OldGray), 3
;
("3023"
,OldGray), 1
;
("3839a"
,Black), 3
;
("3022"
,OldGray), 1
;
("3795"
,OldGray), 1
;
("3960"
,OldGray), 1
;
("3039p34"
,OldGray), 1
;
("3709b"
,OldGray), 1
;
]
in
let
rocket_sled_info =
{name=
"Rocket Sled"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1981
;
home=
"http://guide.lugnet.com/set/6801_1"
;
pieces=
size
rocket_sled_parts;
minifigs=
1
}
in
(rocket_sled_info,rocket_sled_parts: model);;
let
set_6801_1 =
rocket_sled;;
let
space_probe =
let
space_probe_parts =
make
[
("4588"
,Black), 1
;
("4588"
,White), 1
;
("3062b"
,Black), 1
;
("4733"
,Black), 1
;
("4589"
,White), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("3838"
,Yellow), 1
;
("193b"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("973p90"
,Yellow), 1
;
("122c01"
,OldGray), 2
;
("3795"
,OldGray), 1
;
("2342"
,OldGray), 1
;
("4735"
,Black), 2
;
("3704"
,Black), 1
;
("3700"
,OldGray), 1
;
("3641"
,Black), 4
;
]
in
let
space_probe_info =
{name=
"Space Probe"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6802_1"
;
pieces=
size
space_probe_parts;
minifigs=
1
}
in
(space_probe_info,space_probe_parts: model);;
let
set_6802_1 =
space_probe;;
let
space_patrol =
let
space_patrol_parts =
make
[
("3957"
,Blue), 1
;
("3062b"
,TrRed), 2
;
("3963"
,Blue), 2
;
("3829"
,Blue), 1
;
("3838"
,White), 1
;
("4360"
,Black), 1
;
("193a"
,White), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("3024"
,Blue), 2
;
("4073"
,TrYellow), 2
;
("4081a"
,Blue), 2
;
("3023"
,Blue), 1
;
("3839b"
,OldGray), 1
;
("3034"
,OldGray), 1
;
("4286"
,Blue), 2
;
("3933"
,OldGray), 1
;
("3934"
,OldGray), 1
;
]
in
let
space_patrol_info =
{name=
"Space Patrol"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1983
;
home=
"http://guide.lugnet.com/set/6803_1"
;
pieces=
size
space_patrol_parts;
minifigs=
1
}
in
(space_patrol_info,space_patrol_parts: model);;
let
set_6803_1 =
space_patrol;;
let
surface_rover =
let
surface_rover_parts =
make
[
("4598"
,Blue), 1
;
("4588"
,OldGray), 1
;
("3829"
,Blue), 1
;
("3838"
,White), 1
;
("193b"
,White), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("4349"
,OldGray), 2
;
("973p90"
,White), 1
;
("4073"
,TrRed), 2
;
("122c01"
,OldGray), 2
;
("3020"
,Blue), 1
;
("4596"
,Blue), 1
;
("3641"
,Black), 4
;
]
in
let
surface_rover_info =
{name=
"Surface Rover"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6804_1"
;
pieces=
size
surface_rover_parts;
minifigs=
1
}
in
(surface_rover_info,surface_rover_parts: model);;
let
set_6804_1 =
surface_rover;;
let
astro_dasher =
let
astro_dasher_parts =
make
[
("4598"
,OldGray), 1
;
("3941"
,Black), 1
;
("4589"
,TrRed), 3
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("3838"
,Blue), 1
;
("4360"
,Black), 1
;
("193b"
,Blue), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Blue), 1
;
("973p90"
,Blue), 1
;
("4073"
,TrGreen), 2
;
("4081a"
,OldGray), 2
;
("4623"
,OldGray), 1
;
("4590"
,OldGray), 1
;
("4032"
,Black), 2
;
("3020"
,OldGray), 1
;
("4740"
,TrRed), 1
;
("4735"
,Black), 1
;
("4596"
,OldGray), 5
;
]
in
let
astro_dasher_info =
{name=
"Astro Dasher"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6805_1"
;
pieces=
size
astro_dasher_parts;
minifigs=
1
}
in
(astro_dasher_info,astro_dasher_parts: model);;
let
set_6805_1 =
astro_dasher;;
let
surface_hopper =
let
surface_hopper_parts =
make
[
("4598"
,OldGray), 1
;
("4588"
,OldGray), 4
;
("4588"
,TrRed), 2
;
("4593"
,Black), 2
;
("298"
,OldGray), 2
;
("73590a"
,TrYellow), 2
;
("3838"
,Red), 1
;
("193b"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("4590"
,Black), 4
;
("4740"
,TrGreen), 2
;
("4735"
,Black), 1
;
]
in
let
surface_hopper_info =
{name=
"Surface Hopper"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6806_1"
;
pieces=
size
surface_hopper_parts;
minifigs=
1
}
in
(surface_hopper_info,surface_hopper_parts: model);;
let
set_6806_1 =
surface_hopper;;
let
unnamed_6807 =
let
unnamed_6807_parts =
make
[
("4598"
,OldGray), 1
;
("4588"
,Black), 3
;
("4733"
,Black), 1
;
("4589"
,TrRed), 1
;
("4593"
,Black), 3
;
("298"
,Black), 1
;
("298"
,OldGray), 2
;
("3838"
,Yellow), 1
;
("193b"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("4349"
,OldGray), 2
;
("973p90"
,Yellow), 1
;
("3839b"
,OldGray), 1
;
("4229"
,Black), 2
;
("3020"
,OldGray), 1
;
("4740"
,TrRed), 2
;
("4735"
,Black), 2
;
]
in
let
unnamed_6807_info =
{name=
"Unnamed #6807"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6807_1"
;
pieces=
size
unnamed_6807_parts;
minifigs=
1
}
in
(unnamed_6807_info,unnamed_6807_parts: model);;
let
set_6807_1 =
unnamed_6807;;
let
galaxy_trekkor =
let
galaxy_trekkor_parts =
make
[
("4598"
,White), 1
;
("4070"
,White), 2
;
("4589"
,Black), 2
;
("4589"
,TrRed), 1
;
("2429"
,White), 2
;
("2430"
,White), 2
;
("73590a"
,Black), 2
;
("3838"
,Blue), 1
;
("193b"
,Blue), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Blue), 1
;
("4349"
,Black), 1
;
("973p90"
,Blue), 1
;
("3023"
,White), 1
;
("3022"
,White), 1
;
("4032"
,Black), 2
;
("3020"
,White), 2
;
("4740"
,TrRed), 2
;
("3039p05"
,White), 1
;
("4596"
,White), 1
;
("3069bp25"
,White), 1
;
("3936"
,White), 1
;
("3935"
,White), 1
;
]
in
let
galaxy_trekkor_info =
{name=
"Galaxy Trekkor"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/6808_1"
;
pieces=
size
galaxy_trekkor_parts;
minifigs=
1
}
in
(galaxy_trekkor_info,galaxy_trekkor_parts: model);;
let
set_6808_1 =
galaxy_trekkor;;
let
xt5_and_droid =
let
xt5_and_droid_parts =
make
[
("4598"
,OldGray), 1
;
("3062b"
,Black), 2
;
("4070"
,Black), 2
;
("4589"
,TrRed), 2
;
("2433"
,Black), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4276"
,OldGray), 2
;
("3838"
,Blue), 1
;
("193b"
,Blue), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Blue), 1
;
("973p90"
,Blue), 1
;
("4073"
,OldGray), 2
;
("4073"
,TrGreen), 2
;
("3023"
,Black), 2
;
("3023"
,OldGray), 1
;
("4590"
,Black), 1
;
("4590"
,OldGray), 1
;
("3022"
,OldGray), 1
;
("4032"
,Black), 1
;
("3021"
,OldGray), 1
;
("3039p05"
,OldGray), 1
;
("4871"
,OldGray), 2
;
("4735"
,Black), 2
;
("3069bp25"
,OldGray), 1
;
]
in
let
xt5_and_droid_info =
{name=
"XT-5 And Droid"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1988
;
home=
"http://guide.lugnet.com/set/6809_1"
;
pieces=
size
xt5_and_droid_parts;
minifigs=
1
}
in
(xt5_and_droid_info,xt5_and_droid_parts: model);;
let
set_6809_1 =
xt5_and_droid;;
let
starfire1 =
let
starfire1_parts =
make
[
("4873"
,Black), 2
;
("4598"
,White), 1
;
("4595"
,Black), 2
;
("4589"
,TrRed), 2
;
("3942b"
,White), 1
;
("4593"
,Black), 3
;
("298"
,Black), 3
;
("3838"
,Blue), 1
;
("4360"
,Black), 1
;
("193b"
,Blue), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Blue), 1
;
("973p90"
,Blue), 1
;
("3024"
,TrRed), 2
;
("3023"
,White), 2
;
("3839b"
,Black), 1
;
("3666"
,Black), 2
;
("3460"
,White), 1
;
("3022"
,Black), 1
;
("3022"
,White), 3
;
("3795"
,White), 1
;
("2342"
,White), 1
;
("2336p36"
,White), 1
;
("3936"
,White), 1
;
("3935"
,White), 1
;
]
in
let
starfire1_info =
{name=
"Starfire I"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6820_1"
;
pieces=
size
starfire1_parts;
minifigs=
1
}
in
(starfire1_info,starfire1_parts: model);;
let
set_6820_1 =
starfire1;;
let
shovel_buggy =
let
shovel_buggy_parts =
make
[
("3957"
,OldGray), 1
;
("792c01"
,OldGray), 1
;
("3612"
,OldGray), 2
;
("3613"
,OldGray), 1
;
("3004"
,OldGray), 1
;
("3963"
,OldGray), 2
;
("3829"
,OldGray), 1
;
("3838"
,White), 1
;
("193a"
,White), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("3024"
,Yellow), 2
;
("4085a"
,OldGray), 1
;
("122c01"
,OldGray), 2
;
("3795"
,OldGray), 1
;
("3747"
,OldGray), 1
;
("4089"
,OldGray), 1
;
("3039p34"
,OldGray), 1
;
("3641"
,Black), 4
;
]
in
let
shovel_buggy_info =
{name=
"Shovel Buggy"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1980
;
home=
"http://guide.lugnet.com/set/6821_1"
;
pieces=
size
shovel_buggy_parts;
minifigs=
1
}
in
(shovel_buggy_info,shovel_buggy_parts: model);;
let
set_6821_1 =
shovel_buggy;;
let
space_shuttle =
let
space_shuttle_parts =
make
[
("3957"
,OldGray), 1
;
("792c02"
,OldGray), 1
;
("3612"
,OldGray), 3
;
("3963"
,Black), 2
;
("3829"
,OldGray), 1
;
("4221"
,OldGray), 2
;
("4220"
,OldGray), 1
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 4
;
("4081a"
,OldGray), 2
;
("3794"
,Black), 2
;
("3710"
,OldGray), 1
;
("4229"
,OldGray), 4
;
("3795"
,OldGray), 1
;
]
in
let
space_shuttle_info =
{name=
"Space Shuttle"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1981
;
home=
"http://guide.lugnet.com/set/6822_1"
;
pieces=
size
space_shuttle_parts;
minifigs=
1
}
in
(space_shuttle_info,space_shuttle_parts: model);;
let
set_6822_1 =
space_shuttle;;
let
surface_transport =
let
surface_transport_parts =
make
[
("3957"
,Black), 1
;
("3062b"
,TrRed), 1
;
("4070"
,OldGray), 2
;
("3004"
,OldGray), 1
;
("3829"
,OldGray), 1
;
("4346"
,OldGray), 1
;
("4345a"
,OldGray), 1
;
("3640"
,OldGray), 1
;
("3639"
,OldGray), 1
;
("3838"
,Yellow), 1
;
("193a"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("4479"
,Black), 1
;
("973p90"
,Yellow), 1
;
("4085a"
,OldGray), 2
;
("4175"
,OldGray), 2
;
("122c01"
,OldGray), 2
;
("3021"
,OldGray), 1
;
("4288"
,Black), 4
;
]
in
let
surface_transport_info =
{name=
"Surface Transport"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1983
;
home=
"http://guide.lugnet.com/set/6823_1"
;
pieces=
size
surface_transport_parts;
minifigs=
1
}
in
(surface_transport_info,surface_transport_parts: model);;
let
set_6823_1 =
surface_transport;;
let
space_dart1 =
let
space_dart1_parts =
make
[
("3957"
,OldGray), 2
;
("3957"
,TrRed), 1
;
("4598"
,OldGray), 1
;
("4588"
,Black), 2
;
("3062b"
,TrRed), 1
;
("4070"
,OldGray), 2
;
("3941"
,Black), 1
;
("3941"
,OldGray), 1
;
("4591"
,Black), 1
;
("3829"
,OldGray), 1
;
("3942a"
,OldGray), 1
;
("3838"
,Blue), 1
;
("193b"
,Blue), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Blue), 1
;
("4349"
,Black), 4
;
("973p90"
,Blue), 1
;
("3024"
,TrGreen), 2
;
("4073"
,TrRed), 4
;
("4073"
,TrYellow), 2
;
("4085a"
,OldGray), 2
;
("4590"
,OldGray), 4
;
("4032"
,Black), 2
;
("3020"
,OldGray), 1
;
("3795"
,OldGray), 1
;
("4596"
,OldGray), 4
;
("3749"
,OldGray), 1
;
("3700"
,OldGray), 1
;
]
in
let
space_dart1_info =
{name=
"Space Dart-I"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6824_1"
;
pieces=
size
space_dart1_parts;
minifigs=
1
}
in
(space_dart1_info,space_dart1_parts: model);;
let
set_6824_1 =
space_dart1;;
let
cosmic_comet =
let
cosmic_comet_parts =
make
[
("3957"
,TrRed), 1
;
("4598"
,Blue), 1
;
("4595"
,OldGray), 2
;
("3941"
,OldGray), 2
;
("4589"
,TrRed), 4
;
("4593"
,Black), 2
;
("298"
,OldGray), 2
;
("73590a"
,TrYellow), 2
;
("3838"
,White), 1
;
("4360"
,OldGray), 1
;
("193b"
,White), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("3024"
,TrRed), 2
;
("4073"
,TrYellow), 2
;
("4623"
,Blue), 1
;
("4590"
,Blue), 2
;
("4590"
,OldGray), 1
;
("4032"
,OldGray), 1
;
("3020"
,Blue), 1
;
("4740"
,TrRed), 3
;
("4735"
,OldGray), 2
;
("4596"
,Blue), 3
;
("3933"
,Blue), 1
;
("3934"
,Blue), 1
;
]
in
let
cosmic_comet_info =
{name=
"Cosmic Comet"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6825_1"
;
pieces=
size
cosmic_comet_parts;
minifigs=
1
}
in
(cosmic_comet_info,cosmic_comet_parts: model);;
let
set_6825_1 =
cosmic_comet;;
let
crater_crawler =
let
crater_crawler_parts =
make
[
("3957"
,OldGray), 1
;
("4598"
,OldGray), 1
;
("4732"
,OldGray), 1
;
("4588"
,TrRed), 1
;
("4070"
,OldGray), 2
;
("4595"
,Black), 1
;
("4589"
,Black), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("3838"
,Yellow), 1
;
("193b"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("973p90"
,Yellow), 1
;
("3794"
,Black), 1
;
("3794"
,OldGray), 2
;
("4590"
,OldGray), 2
;
("122c01"
,OldGray), 2
;
("3021"
,Black), 1
;
("4740"
,TrRed), 2
;
("4596"
,OldGray), 1
;
("3069b"
,Black), 1
;
("4288"
,Black), 4
;
]
in
let
crater_crawler_info =
{name=
"Crater Crawler"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6826_1"
;
pieces=
size
crater_crawler_parts;
minifigs=
1
}
in
(crater_crawler_info,crater_crawler_parts: model);;
let
set_6826_1 =
crater_crawler;;
let
strata_scooter =
let
strata_scooter_parts =
make
[
("4598"
,White), 1
;
("3001"
,White), 1
;
("4589"
,TrRed), 1
;
("2433"
,White), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4276"
,White), 2
;
("2429"
,White), 2
;
("2430"
,White), 2
;
("3838"
,Blue), 1
;
("193b"
,Blue), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Blue), 1
;
("973p90"
,Blue), 1
;
("4073"
,TrRed), 2
;
("3023"
,Black), 1
;
("3023"
,White), 1
;
("4032"
,Black), 1
;
("122c02"
,Black), 2
;
("3020"
,White), 1
;
("4740"
,TrGreen), 2
;
("3747"
,White), 1
;
("2336p90"
,White), 1
;
("4596"
,White), 2
;
("2432"
,White), 1
;
("4084"
,Black), 4
;
]
in
let
strata_scooter_info =
{name=
"Strata Scooter"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/6827_1"
;
pieces=
size
strata_scooter_parts;
minifigs=
1
}
in
(strata_scooter_info,strata_scooter_parts: model);;
let
set_6827_1 =
strata_scooter;;
let
mineral_detector =
let
mineral_detector_parts =
make
[
("3957"
,OldGray), 1
;
("4083"
,OldGray), 1
;
("3963"
,OldGray), 2
;
("3788"
,OldGray), 3
;
("3829"
,OldGray), 1
;
("3831"
,OldGray), 2
;
("3830"
,OldGray), 2
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 4
;
("4085a"
,OldGray), 1
;
("3666"
,OldGray), 2
;
("122c01"
,OldGray), 3
;
("3020"
,OldGray), 2
;
("3034"
,OldGray), 1
;
("3960"
,OldGray), 2
;
("3040b"
,OldGray), 2
;
("3039p34"
,OldGray), 1
;
("3641"
,Black), 6
;
]
in
let
mineral_detector_info =
{name=
"Mineral Detector"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1980
;
home=
"http://guide.lugnet.com/set/6841_1"
;
pieces=
size
mineral_detector_parts;
minifigs=
1
}
in
(mineral_detector_info,mineral_detector_parts: model);;
let
set_6841_1 =
mineral_detector;;
let
shuttle_craft =
let
shuttle_craft_parts =
make
[
("3957"
,Black), 3
;
("3956"
,White), 1
;
("3004"
,White), 3
;
("3963"
,Black), 2
;
("3829"
,White), 1
;
("3943a"
,Black), 1
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 2
;
("4081a"
,White), 2
;
("3023"
,OldGray), 2
;
("3023"
,White), 2
;
("3839a"
,Black), 1
;
("4175"
,Black), 2
;
("3710"
,OldGray), 1
;
("4229"
,OldGray), 4
;
("3020"
,White), 1
;
("3034"
,White), 1
;
("3832"
,OldGray), 1
;
("3298"
,White), 2
;
("3298p90"
,White), 1
;
("3040b"
,White), 2
;
("3936"
,OldGray), 1
;
("3935"
,OldGray), 1
;
("3933"
,OldGray), 1
;
("3934"
,OldGray), 1
;
]
in
let
shuttle_craft_info =
{name=
"Shuttle Craft"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1981
;
home=
"http://guide.lugnet.com/set/6842_1"
;
pieces=
size
shuttle_craft_parts;
minifigs=
1
}
in
(shuttle_craft_info,shuttle_craft_parts: model);;
let
set_6842_1 =
shuttle_craft;;
let
seismologic_vehicle =
let
seismologic_vehicle_parts =
make
[
("3957"
,OldGray), 1
;
("3062b"
,OldGray), 2
;
("3062b"
,TrRed), 2
;
("3004"
,Blue), 2
;
("3829"
,OldGray), 1
;
("3829"
,White), 1
;
("4346"
,Blue), 2
;
("4345a"
,Blue), 2
;
("4275"
,Blue), 1
;
("4276"
,Blue), 1
;
(* ("x1125",Blue), 1; Unofficial part *)
(* ("x1126",Blue), 1; Unofficial part *)
("3640"
,OldGray), 1
;
("3639"
,OldGray), 1
;
("193a"
,White), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("4479"
,OldGray), 2
;
("973p90"
,White), 1
;
("3024"
,Blue), 1
;
("4085a"
,OldGray), 2
;
("3023"
,OldGray), 2
;
("3794"
,Blue), 5
;
("3839b"
,OldGray), 1
;
("3710"
,Blue), 1
;
("3022"
,Blue), 1
;
("122c01"
,OldGray), 2
;
("3795"
,Blue), 1
;
("4285a"
,OldGray), 1
;
("3747"
,Blue), 1
;
("4476"
,Blue), 1
;
("4288"
,Black), 4
;
]
in
let
seismologic_vehicle_info =
{name=
"Seismologic Vehicle"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1983
;
home=
"http://guide.lugnet.com/set/6844_1"
;
pieces=
size
seismologic_vehicle_parts;
minifigs=
1
}
in
(seismologic_vehicle_info,seismologic_vehicle_parts: model);;
let
set_6844_1 =
seismologic_vehicle;;
let
cosmic_charger =
let
cosmic_charger_parts =
make
[
("3957"
,TrRed), 2
;
("4598"
,Blue), 1
;
("4588"
,Black), 2
;
("4595"
,Black), 2
;
("3963"
,Black), 2
;
("4589"
,TrRed), 3
;
("3937"
,Blue), 3
;
("3938"
,Blue), 3
;
("4593"
,OldGray), 2
;
("298"
,Blue), 2
;
("3838"
,White), 1
;
("193b"
,White), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("4073"
,TrRed), 2
;
("3023"
,White), 4
;
("3623"
,Blue), 2
;
("4590"
,Blue), 1
;
("3666"
,White), 2
;
("3022"
,Blue), 1
;
("3022"
,White), 1
;
("3021"
,Blue), 1
;
("3795"
,White), 2
;
("4854"
,White), 1
;
("2342"
,Blue), 1
;
("4596"
,Blue), 1
;
("2340"
,Blue), 2
;
("3069bp06"
,Blue), 2
;
("4855"
,White), 1
;
("4447"
,White), 1
;
("4475"
,Blue), 1
;
]
in
let
cosmic_charger_info =
{name=
"Cosmic Charger"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6845_1"
;
pieces=
size
cosmic_charger_parts;
minifigs=
1
}
in
(cosmic_charger_info,cosmic_charger_parts: model);;
let
set_6845_1 =
cosmic_charger;;
let
tri_star_voyager =
let
tri_star_voyager_parts =
make
[
("3957"
,Blue), 2
;
("3957"
,TrRed), 2
;
("4588"
,White), 3
;
("3062b"
,Blue), 4
;
("4070"
,Blue), 2
;
("3829"
,Blue), 1
;
("3937"
,White), 2
;
("3938"
,White), 2
;
("3838"
,Red), 1
;
("193b"
,Red), 1
;
("3959"
,Blue), 2
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("4349"
,White), 2
;
("973p90"
,Red), 1
;
("3024"
,TrRed), 2
;
("4073"
,TrRed), 2
;
("4081a"
,Blue), 2
;
("4081a"
,White), 2
;
("4085a"
,Blue), 2
;
("4085a"
,White), 2
;
("3023"
,Blue), 1
;
("3794"
,Blue), 1
;
("3839b"
,Blue), 1
;
("3839b"
,White), 2
;
("3710"
,Blue), 2
;
("3710"
,White), 2
;
("4590"
,Blue), 1
;
("3666"
,Blue), 2
;
("4032"
,White), 2
;
("3020"
,Blue), 1
;
("3020"
,White), 1
;
("3795"
,Blue), 1
;
("3034"
,Blue), 1
;
("4286"
,White), 2
;
("4596"
,Blue), 5
;
("4596"
,White), 2
;
("4162"
,Blue), 2
;
("4475"
,Blue), 1
;
]
in
let
tri_star_voyager_info =
{name=
"Tri-Star Voyager"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6846_1"
;
pieces=
size
tri_star_voyager_parts;
minifigs=
1
}
in
(tri_star_voyager_info,tri_star_voyager_parts: model);;
let
set_6846_1 =
tri_star_voyager;;
let
space_dozer =
let
space_dozer_parts =
make
[
("4598"
,OldGray), 1
;
("4588"
,TrRed), 2
;
("4589"
,TrRed), 2
;
("4315"
,OldGray), 1
;
("73590a"
,Black), 2
;
("3838"
,Yellow), 1
;
("4360"
,Black), 1
;
("193b"
,Yellow), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("3841"
,Black), 1
;
("973p90"
,Yellow), 1
;
("3024"
,Yellow), 4
;
("4081a"
,OldGray), 2
;
("4085a"
,OldGray), 2
;
("3794"
,OldGray), 1
;
("3710"
,OldGray), 2
;
("4590"
,OldGray), 1
;
("3021"
,OldGray), 1
;
("3032"
,OldGray), 1
;
("4740"
,TrGreen), 1
;
("3039p32"
,OldGray), 1
;
("3039p34"
,OldGray), 1
;
("4735"
,Black), 1
;
("4596"
,OldGray), 1
;
("3706"
,Black), 1
;
("3749"
,OldGray), 4
;
("3894"
,OldGray), 2
;
("3713"
,OldGray), 2
;
("4288"
,Black), 4
;
("4474"
,OldGray), 1
;
]
in
let
space_dozer_info =
{name=
"Space Dozer"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6847_1"
;
pieces=
size
space_dozer_parts;
minifigs=
1
}
in
(space_dozer_info,space_dozer_parts: model);;
let
set_6847_1 =
space_dozer;;
let
interplanetary_shuttle =
let
interplanetary_shuttle_parts =
make
[
("3957"
,TrRed), 1
;
("4598"
,OldGray), 1
;
("4588"
,Black), 2
;
("3829"
,OldGray), 1
;
("4589"
,TrRed), 1
;
("4346"
,OldGray), 2
;
("4345a"
,OldGray), 2
;
("3838"
,Red), 1
;
("193b"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("4349"
,OldGray), 2
;
("4479"
,Black), 1
;
("4522"
,Black), 1
;
("973p90"
,Red), 1
;
("4073"
,TrGreen), 2
;
("4073"
,TrRed), 2
;
("4085a"
,OldGray), 2
;
("3023"
,OldGray), 1
;
("4175"
,Black), 2
;
("4590"
,Black), 4
;
("3666"
,OldGray), 1
;
("3022"
,OldGray), 2
;
("4032"
,Black), 2
;
("3021"
,OldGray), 1
;
("3020"
,OldGray), 1
;
("3034"
,OldGray), 1
;
("3832"
,OldGray), 1
;
("4740"
,TrGreen), 2
;
("4285a"
,OldGray), 1
;
("3660"
,OldGray), 1
;
("3039p32"
,OldGray), 2
;
("4460"
,OldGray), 2
;
("4596"
,OldGray), 3
;
("3933"
,OldGray), 1
;
("3934"
,OldGray), 1
;
]
in
let
interplanetary_shuttle_info =
{name=
"Interplanetary Shuttle"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6848_2"
;
pieces=
size
interplanetary_shuttle_parts;
minifigs=
1
}
in
(interplanetary_shuttle_info,interplanetary_shuttle_parts: model);;
let
set_6848_2 =
interplanetary_shuttle;;
let
satellite_patroller =
let
satellite_patroller_parts =
make
[
("3957"
,TrRed), 2
;
("4598"
,White), 1
;
("4070"
,Black), 2
;
("3001"
,White), 1
;
("3829"
,White), 1
;
("4589"
,TrRed), 1
;
("4593"
,Black), 1
;
("298"
,Black), 1
;
("2429"
,Black), 2
;
("2430"
,Black), 2
;
("3640"
,Black), 1
;
("3639"
,Black), 1
;
("3838"
,Yellow), 1
;
("193b"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("973p90"
,Yellow), 1
;
("4865"
,White), 1
;
("4073"
,TrGreen), 2
;
("4073"
,TrRed), 2
;
("3794"
,Black), 2
;
("4590"
,Black), 1
;
("3022"
,White), 1
;
("122c02"
,Black), 2
;
("3021"
,Black), 1
;
("2419"
,White), 2
;
("4740"
,White), 2
;
("4740"
,TrGreen), 2
;
("3039p32"
,White), 1
;
("3039p34"
,White), 1
;
("2336p90"
,White), 1
;
("4596"
,White), 2
;
("4746"
,White), 1
;
("3068bp08"
,White), 1
;
("4084"
,Black), 4
;
]
in
let
satellite_patroller_info =
{name=
"Satellite Patroller"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/6849_1"
;
pieces=
size
satellite_patroller_parts;
minifigs=
1
}
in
(satellite_patroller_info,satellite_patroller_parts: model);;
let
set_6849_1 =
satellite_patroller;;
let
x1_patrol_craft =
let
x1_patrol_craft_parts =
make
[
("3957"
,OldGray), 2
;
("3956"
,OldGray), 4
;
("3062b"
,TrRed), 2
;
("3004"
,OldGray), 2
;
("3065"
,TrGreen), 1
;
("3963"
,OldGray), 2
;
("3941"
,OldGray), 8
;
("3829"
,OldGray), 1
;
("3942a"
,OldGray), 2
;
("3943a"
,OldGray), 2
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3959"
,OldGray), 2
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 2
;
("3839a"
,OldGray), 1
;
("3021"
,OldGray), 1
;
("3034"
,OldGray), 2
;
("3832"
,OldGray), 1
;
("3032"
,OldGray), 1
;
("3036"
,OldGray), 1
;
("3298p90"
,OldGray), 1
;
("3039"
,OldGray), 1
;
("3940"
,OldGray), 4
;
("3479"
,OldGray), 1
;
("3933"
,OldGray), 2
;
("3934"
,OldGray), 2
;
]
in
let
x1_patrol_craft_info =
{name=
"X-1 Patrol Craft"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1980
;
home=
"http://guide.lugnet.com/set/6861_1"
;
pieces=
size
x1_patrol_craft_parts;
minifigs=
1
}
in
(x1_patrol_craft_info,x1_patrol_craft_parts: model);;
let
set_6861_1 =
x1_patrol_craft;;
let
space_probe_launcher =
let
space_probe_launcher_parts =
make
[
("3957"
,Black), 2
;
("3957"
,OldGray), 2
;
("3956"
,OldGray), 1
;
("3622"
,White), 2
;
("3963"
,Black), 2
;
("3963"
,OldGray), 2
;
("3829"
,OldGray), 1
;
("3829"
,White), 1
;
("3640"
,OldGray), 1
;
("3639"
,OldGray), 1
;
("3324c01"
,OldGray), 1
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 2
;
("4081a"
,OldGray), 2
;
("4081a"
,White), 4
;
("3023"
,OldGray), 2
;
("4175"
,OldGray), 1
;
("122c01"
,OldGray), 3
;
("3020"
,OldGray), 3
;
("3034"
,OldGray), 1
;
("3034"
,White), 1
;
("3031"
,OldGray), 1
;
("3298p90"
,White), 1
;
("3040b"
,White), 2
;
("3665"
,White), 2
;
("3068b"
,OldGray), 4
;
("4084"
,Black), 6
;
("3933"
,White), 1
;
("3934"
,White), 1
;
]
in
let
space_probe_launcher_info =
{name=
"Space Probe Launcher"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1981
;
home=
"http://guide.lugnet.com/set/6870_1"
;
pieces=
size
space_probe_launcher_parts;
minifigs=
1
}
in
(space_probe_launcher_info,space_probe_launcher_parts: model);;
let
set_6870_1 =
space_probe_launcher;;
let
star_patrol_launcher =
let
star_patrol_launcher_parts =
make
[
("4598"
,Blue), 1
;
("4588"
,OldGray), 2
;
("3004"
,OldGray), 1
;
("3941"
,OldGray), 2
;
("3829"
,Blue), 1
;
("3829"
,OldGray), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("3838"
,Red), 1
;
("3838"
,White), 1
;
("4360"
,Black), 1
;
("193b"
,Red), 1
;
("193b"
,White), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Red), 1
;
("970c00"
,White), 1
;
("4349"
,Black), 2
;
("4349"
,OldGray), 2
;
("973p90"
,Red), 1
;
("973p90"
,White), 1
;
("4073"
,TrGreen), 2
;
("4073"
,TrRed), 2
;
("4073"
,TrYellow), 4
;
("3023"
,OldGray), 1
;
("3794"
,Blue), 1
;
("3794"
,OldGray), 1
;
("3710"
,Blue), 1
;
("4590"
,OldGray), 2
;
("3022"
,OldGray), 3
;
("122c01"
,OldGray), 3
;
("3020"
,OldGray), 1
;
("3795"
,OldGray), 1
;
("3034"
,OldGray), 1
;
("3747"
,Blue), 1
;
("3665"
,Blue), 2
;
("3039p23"
,OldGray), 1
;
("4596"
,Blue), 1
;
("4596"
,OldGray), 1
;
("3749"
,Black), 2
;
("3701"
,Blue), 1
;
("3701"
,OldGray), 1
;
("3069b"
,OldGray), 1
;
("3068b"
,OldGray), 2
;
("3680c01"
,OldGray), 1
;
("4288"
,Black), 6
;
("3936"
,Blue), 1
;
("3935"
,Blue), 1
;
]
in
let
star_patrol_launcher_info =
{name=
"Star Patrol Launcher"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6871_1"
;
pieces=
size
star_patrol_launcher_parts;
minifigs=
2
}
in
(star_patrol_launcher_info,star_patrol_launcher_parts: model);;
let
set_6871_1 =
star_patrol_launcher;;
let
lunar_patrol_craft =
let
lunar_patrol_craft_parts =
make
[
("3957"
,TrRed), 2
;
("3957"
,TrYellow), 2
;
("4732"
,OldGray), 1
;
("4070"
,OldGray), 2
;
("4733"
,OldGray), 1
;
("3004"
,OldGray), 2
;
("3010"
,OldGray), 2
;
("3963"
,OldGray), 2
;
("4591"
,Black), 1
;
("4589"
,TrYellow), 4
;
("3189"
,Blue), 1
;
("3188"
,Blue), 1
;
("3937"
,OldGray), 1
;
("3938"
,Black), 1
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4276a"
,Blue), 2
;
("4275a"
,Blue), 2
;
("4315"
,OldGray), 1
;
("73590a"
,Black), 2
;
("3838"
,Yellow), 1
;
("193b"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("973p90"
,Yellow), 1
;
("3024"
,OldGray), 2
;
("4081a"
,Blue), 4
;
("4085a"
,OldGray), 2
;
("3023"
,Blue), 1
;
("3023"
,OldGray), 3
;
("3794"
,Black), 1
;
("4590"
,OldGray), 1
;
("3666"
,Blue), 2
;
("3021"
,Blue), 1
;
("3020"
,Blue), 3
;
("3795"
,OldGray), 1
;
("4740"
,TrRed), 2
;
("3747"
,OldGray), 3
;
("4735"
,Black), 4
;
("4746"
,OldGray), 1
;
("3069bp25"
,Blue), 1
;
("3069bp06"
,Blue), 2
;
("3068b"
,OldGray), 1
;
("4474"
,TrYellow), 1
;
("3933"
,Blue), 1
;
("3934"
,Blue), 1
;
("4475"
,Blue), 1
;
]
in
let
lunar_patrol_craft_info =
{name=
"Lunar Patrol Craft"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6872_1"
;
pieces=
size
lunar_patrol_craft_parts;
minifigs=
1
}
in
(lunar_patrol_craft_info,lunar_patrol_craft_parts: model);;
let
set_6872_1 =
lunar_patrol_craft;;
let
moonrover =
let
moonrover_parts =
make
[
("4598"
,Blue), 1
;
("4598"
,White), 1
;
("4588"
,Black), 1
;
("4595"
,White), 2
;
("3003"
,Blue), 2
;
("3829"
,Blue), 1
;
("4589"
,Blue), 2
;
("4589"
,TrRed), 2
;
("3185"
,Blue), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("3640"
,Blue), 1
;
("3639"
,Blue), 1
;
("73590a"
,White), 1
;
("3838"
,Red), 1
;
("3838"
,Yellow), 1
;
("193b"
,Red), 1
;
("193b"
,Yellow), 1
;
("3959"
,White), 2
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Red), 1
;
("970c00"
,Yellow), 1
;
("4349"
,White), 2
;
("973p90"
,Red), 1
;
("973p90"
,Yellow), 1
;
("3023"
,White), 1
;
("3839b"
,White), 3
;
("4590"
,White), 4
;
("3022"
,Blue), 1
;
("4032"
,Black), 2
;
("122c01"
,OldGray), 2
;
("3020"
,Blue), 1
;
("3795"
,White), 1
;
("4740"
,TrRed), 2
;
("4740"
,TrYellow), 2
;
("3298"
,Blue), 4
;
("3039"
,Blue), 2
;
("2342"
,White), 1
;
("2336p35"
,Blue), 1
;
("3940"
,White), 1
;
("4288"
,Black), 4
;
("4859"
,White), 1
;
]
in
let
moonrover_info =
{name=
"Moonrover"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6874_1"
;
pieces=
size
moonrover_parts;
minifigs=
2
}
in
(moonrover_info,moonrover_parts: model);;
let
set_6874_1 =
moonrover;;
let
surface_explorer =
let
surface_explorer_parts =
make
[
("3957"
,Black), 1
;
("3957"
,OldGray), 2
;
("792c02"
,OldGray), 2
;
("3612"
,OldGray), 8
;
("3613"
,OldGray), 1
;
("3956"
,OldGray), 1
;
("3062b"
,TrRed), 2
;
("3829"
,OldGray), 2
;
("4221"
,OldGray), 2
;
("4220"
,OldGray), 1
;
("3838"
,Yellow), 1
;
("4360"
,Black), 1
;
("193a"
,Yellow), 1
;
("3959"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("4006"
,Black), 1
;
("973p90"
,Yellow), 1
;
("3024"
,Yellow), 2
;
("4081a"
,OldGray), 4
;
("3839a"
,Black), 2
;
("3839a"
,OldGray), 2
;
("4175"
,OldGray), 4
;
("3020"
,OldGray), 2
;
("3832"
,OldGray), 2
;
("3032"
,OldGray), 1
;
("4285a"
,OldGray), 1
;
("4089"
,OldGray), 1
;
("3298p90"
,OldGray), 1
;
("3039"
,OldGray), 1
;
("3039p34"
,OldGray), 1
;
("3039p23"
,OldGray), 1
;
("3940"
,Black), 3
;
("3707"
,Black), 3
;
("3702"
,OldGray), 2
;
("3713"
,OldGray), 6
;
("3680c01"
,OldGray), 1
;
("4288"
,Black), 12
;
]
in
let
surface_explorer_info =
{name=
"Surface Explorer"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1982
;
home=
"http://guide.lugnet.com/set/6880_1"
;
pieces=
size
surface_explorer_parts;
minifigs=
1
}
in
(surface_explorer_info,surface_explorer_parts: model);;
let
set_6880_1 =
surface_explorer;;
let
lunar_rocket_launcher =
let
lunar_rocket_launcher_parts =
make
[
("4588"
,OldGray), 1
;
("3062b"
,Black), 4
;
("4070"
,Blue), 2
;
("3004p06"
,Blue), 2
;
("3010"
,Blue), 2
;
("3941"
,Black), 4
;
("3941"
,White), 3
;
("4591"
,White), 2
;
("3829"
,Blue), 1
;
("3942a"
,White), 1
;
("4276a"
,Black), 2
;
("4275a"
,Black), 2
;
("3640"
,Blue), 1
;
("3639"
,Blue), 1
;
("3324c01"
,Blue), 1
;
("x467"
,Black), 2
;
("3838"
,White), 1
;
("4360"
,Black), 1
;
("193b"
,White), 1
;
("3962a"
,Black), 1
;
("3876"
,TrRed), 1
;
("3959"
,OldGray), 3
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("4073"
,TrRed), 2
;
("4073"
,TrYellow), 4
;
("4081a"
,Blue), 4
;
("4085a"
,Blue), 4
;
("3023"
,Black), 1
;
("3023"
,Blue), 3
;
("3839b"
,OldGray), 1
;
("3710"
,Blue), 2
;
("4590"
,Blue), 3
;
("3666"
,Blue), 1
;
("122c01"
,OldGray), 4
;
("3020"
,Blue), 2
;
("3795"
,Blue), 2
;
("3034"
,Blue), 1
;
("4286"
,Blue), 2
;
("4287"
,Blue), 4
;
("3039p34"
,Blue), 1
;
("4596"
,White), 2
;
("3737"
,Black), 1
;
("3070b"
,TrRed), 2
;
("4162"
,Blue), 2
;
("4288"
,Black), 8
;
]
in
let
lunar_rocket_launcher_info =
{name=
"Lunar Rocket Launcher"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6881_1"
;
pieces=
size
lunar_rocket_launcher_parts;
minifigs=
1
}
in
(lunar_rocket_launcher_info,lunar_rocket_launcher_parts: model);;
let
set_6881_1 =
lunar_rocket_launcher;;
let
walking_astro_grappler =
let
walking_astro_grappler_parts =
make
[
("792c02"
,OldGray), 1
;
("3612"
,OldGray), 7
;
("4598"
,Blue), 1
;
("4732"
,Blue), 2
;
("3062b"
,Blue), 4
;
("3622"
,Blue), 2
;
("3829"
,Blue), 1
;
("4589"
,TrRed), 4
;
("4346"
,Blue), 2
;
("4345a"
,Blue), 2
;
("4221"
,Black), 2
;
("4220"
,Black), 1
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4625"
,Blue), 2
;
("73590a"
,TrYellow), 2
;
("3838"
,Black), 1
;
("193b"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Black), 1
;
("973p90"
,Black), 1
;
("3024"
,Blue), 2
;
("3710"
,Blue), 1
;
("4590"
,Blue), 2
;
("3460"
,Blue), 1
;
("3022"
,Blue), 4
;
("3020"
,Blue), 1
;
("3034"
,Blue), 5
;
("3034"
,OldGray), 3
;
("4740"
,OldGray), 2
;
("3040b"
,Blue), 2
;
("4735"
,OldGray), 2
;
("4476"
,OldGray), 4
;
("3894"
,Blue), 2
;
("4274"
,OldGray), 2
;
("3069b"
,Blue), 5
;
("4162"
,OldGray), 2
;
("3680c01"
,Blue), 10
;
("4474"
,Blue), 1
;
("4474"
,TrYellow), 1
;
]
in
let
walking_astro_grappler_info =
{name=
"Walking Astro Grappler"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6882_1"
;
pieces=
size
walking_astro_grappler_parts;
minifigs=
1
}
in
(walking_astro_grappler_info,walking_astro_grappler_parts: model);;
let
set_6882_1 =
walking_astro_grappler;;
let
terrestrial_rover =
let
terrestrial_rover_parts =
make
[
("3957"
,TrRed), 4
;
("4588"
,TrRed), 1
;
("3062b"
,Black), 2
;
("3062b"
,Blue), 1
;
("3062b"
,White), 1
;
("3004"
,Black), 2
;
("3004"
,Blue), 2
;
("3004"
,White), 1
;
("4595"
,Black), 4
;
("4595"
,Blue), 1
;
("3963"
,White), 2
;
("3941"
,White), 1
;
("2433"
,Black), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4276"
,Blue), 2
;
("2429"
,Blue), 4
;
("2430"
,Blue), 4
;
("3640"
,Blue), 1
;
("3639"
,Blue), 1
;
("3838"
,White), 1
;
("193b"
,White), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("4006"
,Black), 1
;
("973p90"
,White), 1
;
("3024"
,TrRed), 2
;
("3024"
,TrYellow), 4
;
("4085b"
,Black), 2
;
("3023"
,Black), 2
;
("3023"
,Blue), 5
;
("3023"
,White), 2
;
("3794"
,White), 5
;
("3839b"
,White), 2
;
("3710"
,Blue), 5
;
("4590"
,Blue), 3
;
("2420"
,Blue), 4
;
("122c02"
,Black), 4
;
("3021"
,Blue), 1
;
("3795"
,Blue), 1
;
("4282"
,Blue), 1
;
("2419"
,Blue), 2
;
("4740"
,White), 4
;
("4740"
,TrRed), 2
;
("3960"
,White), 2
;
("3040b"
,Blue), 2
;
("4476"
,Blue), 2
;
("2340p90"
,Blue), 1
;
("3068b"
,Black), 1
;
("4084"
,Black), 8
;
("2399"
,Blue), 1
;
]
in
let
terrestrial_rover_info =
{name=
"Terrestrial Rover"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/6883_1"
;
pieces=
size
terrestrial_rover_parts;
minifigs=
1
}
in
(terrestrial_rover_info,terrestrial_rover_parts: model);;
let
set_6883_1 =
terrestrial_rover;;
let
cosmic_cruiser =
let
cosmic_cruiser_parts =
make
[
("3957"
,Black), 2
;
("3957"
,OldGray), 2
;
("3956"
,Black), 1
;
("3062b"
,TrGreen), 2
;
("3004"
,Blue), 2
;
("3004"
,White), 1
;
("3004p06"
,OldGray), 1
;
("3065"
,TrBlue), 2
;
("3622"
,White), 2
;
("3010p04"
,Blue), 2
;
("3963"
,OldGray), 2
;
("3941"
,Black), 2
;
("4212"
,White), 1
;
("3829"
,White), 1
;
("3943"
,Black), 1
;
("3937"
,Blue), 1
;
("3938"
,OldGray), 1
;
("4213"
,TrBlue), 1
;
("4315"
,Blue), 1
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,White), 4
;
("3024"
,TrRed), 4
;
("4073"
,TrRed), 2
;
("4081a"
,White), 4
;
("4085a"
,OldGray), 2
;
("3023"
,Blue), 4
;
("3023"
,OldGray), 1
;
("3023"
,White), 7
;
("3839a"
,Black), 1
;
("3839a"
,White), 1
;
("4175"
,OldGray), 2
;
("3623"
,White), 4
;
("3710"
,Blue), 1
;
("3710"
,White), 4
;
("3666"
,Blue), 1
;
("3460"
,Blue), 1
;
("3460"
,White), 2
;
("3022"
,White), 4
;
("4229"
,Black), 3
;
("3021"
,OldGray), 1
;
("3021"
,White), 2
;
("3795"
,Blue), 1
;
("3795"
,White), 1
;
("3832"
,White), 1
;
("4286"
,Blue), 4
;
("4287"
,Blue), 2
;
("4287"
,White), 2
;
("3298"
,White), 1
;
("3298p90"
,White), 1
;
("3939"
,TrBlue), 1
;
("3939p90"
,Blue), 1
;
("3039"
,White), 2
;
("3940"
,Black), 2
;
("3069b"
,White), 2
;
("3933"
,White), 3
;
("3934"
,White), 3
;
]
in
let
cosmic_cruiser_info =
{name=
"Cosmic Cruiser"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1982
;
home=
"http://guide.lugnet.com/set/6890_1"
;
pieces=
size
cosmic_cruiser_parts;
minifigs=
1
}
in
(cosmic_cruiser_info,cosmic_cruiser_parts: model);;
let
set_6890_1 =
cosmic_cruiser;;
let
gamma_v_laser_craft =
let
gamma_v_laser_craft_parts =
make
[
("3957"
,TrYellow), 1
;
("4732"
,Black), 2
;
("4588"
,Black), 1
;
("4070"
,OldGray), 4
;
("4733"
,Blue), 1
;
("3004"
,OldGray), 2
;
("3004p01"
,OldGray), 2
;
("4595"
,Black), 1
;
("4595"
,Blue), 1
;
("3622"
,OldGray), 2
;
("3010"
,OldGray), 1
;
("3963"
,Black), 2
;
("3003"
,OldGray), 1
;
("4591"
,OldGray), 1
;
("3002"
,OldGray), 1
;
("3001"
,OldGray), 1
;
("3829"
,OldGray), 1
;
("4589"
,Black), 1
;
("4589"
,TrRed), 3
;
("3189"
,Black), 1
;
("3188"
,Black), 1
;
("4213"
,Black), 2
;
("4593"
,Black), 2
;
("298"
,Black), 2
;
("4315"
,OldGray), 3
;
("73590a"
,Black), 2
;
("3838"
,Black), 1
;
("193b"
,Black), 1
;
("3959"
,Black), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Black), 1
;
("973p90"
,Black), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 2
;
("4073"
,TrRed), 2
;
("4085a"
,OldGray), 2
;
("3023"
,OldGray), 14
;
("3794"
,OldGray), 2
;
("3623"
,Black), 2
;
("3710"
,OldGray), 1
;
("4590"
,OldGray), 1
;
("3666"
,OldGray), 1
;
("3022"
,OldGray), 3
;
("4229"
,Black), 2
;
("4229"
,OldGray), 2
;
("3021"
,OldGray), 4
;
("3020"
,Black), 6
;
("3020"
,OldGray), 4
;
("3795"
,OldGray), 1
;
("3832"
,OldGray), 1
;
("3031"
,OldGray), 1
;
("4740"
,Blue), 1
;
("4740"
,TrRed), 1
;
("3747"
,OldGray), 5
;
("3040b"
,OldGray), 2
;
("3039p32"
,OldGray), 1
;
("4735"
,Black), 1
;
("4735"
,Blue), 2
;
("4737"
,Black), 2
;
("4596"
,OldGray), 1
;
("3479"
,OldGray), 2
;
("4746"
,Black), 1
;
("3700"
,OldGray), 2
;
("3673"
,OldGray), 1
;
("3070b"
,TrRed), 2
;
("3069bp06"
,OldGray), 2
;
("3068b"
,OldGray), 1
;
("3068bp08"
,OldGray), 1
;
("4474"
,TrGreen), 1
;
("3936"
,OldGray), 1
;
("3935"
,OldGray), 1
;
("4475"
,OldGray), 3
;
]
in
let
gamma_v_laser_craft_info =
{name=
"Gamma-V Laser Craft"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6891_1"
;
pieces=
size
gamma_v_laser_craft_parts;
minifigs=
1
}
in
(gamma_v_laser_craft_info,gamma_v_laser_craft_parts: model);;
let
set_6891_1 =
gamma_v_laser_craft;;
let
modular_space_transport =
let
modular_space_transport_parts =
make
[
("3957"
,TrRed), 4
;
("4873"
,White), 1
;
("3956"
,White), 1
;
("4732"
,Blue), 1
;
("4070"
,Black), 2
;
("3004"
,Blue), 5
;
("3010"
,Blue), 2
;
("3009"
,Blue), 4
;
("3008"
,Blue), 1
;
("3003"
,White), 1
;
("3137c01"
,Black), 3
;
("3006"
,Blue), 1
;
("4589"
,TrRed), 2
;
("3633"
,Blue), 2
;
("3937"
,Blue), 1
;
("3938"
,Blue), 1
;
("4315"
,Blue), 1
;
("3838"
,Yellow), 2
;
("193b"
,Yellow), 2
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Yellow), 2
;
("973p90"
,Yellow), 2
;
("3024"
,TrRed), 2
;
("3023"
,Blue), 6
;
("3794"
,Blue), 2
;
("3710"
,White), 6
;
("4590"
,Blue), 1
;
("3666"
,Blue), 2
;
("3022"
,Blue), 5
;
("4032"
,Black), 1
;
("3021"
,Blue), 2
;
("3021"
,White), 1
;
("3020"
,Black), 1
;
("3020"
,Blue), 4
;
("3795"
,Blue), 2
;
("3034"
,Blue), 1
;
("3832"
,Blue), 2
;
("3035"
,White), 1
;
("4740"
,TrRed), 2
;
("4286"
,Blue), 4
;
("4286"
,White), 2
;
("4287"
,Blue), 2
;
("3747"
,Blue), 2
;
("3040b"
,Blue), 16
;
("3665"
,Blue), 6
;
("3660"
,Blue), 4
;
("3037"
,Blue), 1
;
("2342"
,Black), 1
;
("4741"
,Blue), 2
;
("3700"
,Blue), 1
;
("3701"
,Blue), 1
;
("3703"
,Blue), 2
;
("3673"
,OldGray), 1
;
("3069bp25"
,Blue), 1
;
("3069b"
,White), 4
;
("3069bp06"
,White), 2
;
("4162"
,White), 2
;
("3068bp08"
,White), 1
;
("3641"
,Black), 6
;
("4474"
,TrYellow), 1
;
("3936"
,White), 1
;
("3935"
,White), 1
;
("3933"
,White), 1
;
("3934"
,White), 1
;
]
in
let
modular_space_transport_info =
{name=
"Modular Space Transport"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6892_1"
;
pieces=
size
modular_space_transport_parts;
minifigs=
2
}
in
(modular_space_transport_info,modular_space_transport_parts: model);;
let
set_6892_1 =
modular_space_transport;;
let
mobile_lab =
let
mobile_lab_parts =
make
[
("3957"
,OldGray), 1
;
("792c02"
,OldGray), 1
;
("3612"
,OldGray), 5
;
("3613"
,OldGray), 1
;
("3005"
,OldGray), 2
;
("3062b"
,OldGray), 1
;
("3062b"
,TrGreen), 2
;
("3062b"
,TrRed), 2
;
("4070"
,OldGray), 2
;
("3004"
,OldGray), 5
;
("3004p90"
,OldGray), 2
;
("3065"
,TrGreen), 4
;
("3010"
,OldGray), 3
;
("3066"
,TrGreen), 2
;
("3829"
,OldGray), 1
;
("3831"
,OldGray), 4
;
("3830"
,OldGray), 4
;
("3838"
,Red), 1
;
("3838"
,White), 1
;
("193a"
,Red), 1
;
("193a"
,White), 1
;
("3962a"
,Black), 1
;
("3959"
,OldGray), 3
;
("970c00"
,Red), 1
;
("970c00"
,White), 1
;
("4006"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,White), 1
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 6
;
("3614"
,OldGray), 1
;
("4085a"
,OldGray), 2
;
("3023"
,OldGray), 5
;
("3794"
,OldGray), 2
;
("3839a"
,OldGray), 2
;
("3710"
,OldGray), 6
;
("3666"
,OldGray), 4
;
("3022"
,OldGray), 3
;
("122c01"
,OldGray), 6
;
("3021"
,OldGray), 1
;
("3034"
,OldGray), 2
;
("3036"
,OldGray), 1
;
("3028"
,OldGray), 1
;
("3960"
,OldGray), 1
;
("4089"
,OldGray), 1
;
("3298p90"
,OldGray), 2
;
("3939"
,TrGreen), 1
;
("3940"
,OldGray), 6
;
("3070b"
,OldGray), 4
;
("3069b"
,OldGray), 11
;
("3641"
,Black), 12
;
]
in
let
mobile_lab_info =
{name=
"Mobile Lab"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1980
;
home=
"http://guide.lugnet.com/set/6901_1"
;
pieces=
size
mobile_lab_parts;
minifigs=
2
}
in
(mobile_lab_info,mobile_lab_parts: model);;
let
set_6901_1 =
mobile_lab;;
let
mobile_recovery_vehicle =
let
mobile_recovery_vehicle_parts =
make
[
("3957"
,TrRed), 2
;
("4598"
,OldGray), 2
;
("4732"
,Blue), 1
;
("3005"
,Blue), 4
;
("3062b"
,Yellow), 2
;
("3062b"
,TrRed), 2
;
("4070"
,Blue), 2
;
("3004"
,Blue), 1
;
("3010"
,Blue), 1
;
("3963"
,Black), 2
;
("3003"
,Blue), 1
;
("3941"
,Black), 2
;
("3941"
,Blue), 1
;
("3941"
,OldGray), 2
;
("4730"
,Blue), 1
;
("4730"
,OldGray), 1
;
("3002"
,Blue), 1
;
("3007"
,Blue), 1
;
("4589"
,TrRed), 2
;
("3633"
,Blue), 2
;
("4448"
,TrYellow), 2
;
("4315"
,Blue), 1
;
("3838"
,Yellow), 2
;
("2343"
,OldGray), 2
;
("193b"
,Yellow), 2
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Yellow), 2
;
("4006"
,Black), 1
;
("973p90"
,Yellow), 2
;
("3024"
,Blue), 4
;
("4081a"
,OldGray), 2
;
("4085a"
,Blue), 2
;
("3023"
,Blue), 3
;
("4175"
,OldGray), 1
;
("3710"
,Blue), 5
;
("4590"
,Blue), 1
;
("3666"
,Blue), 1
;
("3022"
,Blue), 2
;
("4032"
,Black), 7
;
("3021"
,Blue), 2
;
("3795"
,Blue), 1
;
("3034"
,Blue), 2
;
("3035"
,Blue), 1
;
("4740"
,TrRed), 2
;
("4286"
,Blue), 2
;
("4287"
,Blue), 4
;
("3747"
,Blue), 2
;
("3040b"
,Blue), 8
;
("3665"
,Blue), 2
;
("3039"
,Blue), 1
;
("3660"
,Blue), 2
;
("3037"
,Blue), 1
;
("2342"
,OldGray), 1
;
("4741"
,Blue), 2
;
("4596"
,OldGray), 2
;
("2340"
,Blue), 2
;
("3749"
,OldGray), 4
;
("3701"
,Blue), 1
;
("3894"
,Blue), 2
;
("3702"
,Blue), 1
;
("3895"
,Blue), 2
;
("3069bp25"
,Blue), 1
;
("3069b"
,Blue), 5
;
("3068b"
,Blue), 1
;
("3068bp08"
,Blue), 2
;
("3634"
,Black), 4
;
("4859"
,Blue), 1
;
("3482"
,OldGray), 4
;
("4474"
,TrYellow), 1
;
("3936"
,Blue), 2
;
("3935"
,Blue), 2
;
("3933"
,Blue), 1
;
("3934"
,Blue), 1
;
]
in
let
mobile_recovery_vehicle_info =
{name=
"Mobile Recovery Vehicle"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6926_1"
;
pieces=
size
mobile_recovery_vehicle_parts;
minifigs=
2
}
in
(mobile_recovery_vehicle_info,mobile_recovery_vehicle_parts: model);;
let
set_6926_1 =
mobile_recovery_vehicle;;
let
all_terrain_vehicle =
let
all_terrain_vehicle_parts =
make
[
("3957"
,Black), 2
;
("3956"
,White), 2
;
("3005"
,Blue), 3
;
("3062b"
,TrGreen), 2
;
("4070"
,OldGray), 4
;
("3004"
,Blue), 4
;
("3004p90"
,Blue), 2
;
("3004p20"
,Blue), 2
;
("3622"
,White), 4
;
("3010"
,Blue), 1
;
("3010"
,White), 2
;
("3010p04"
,White), 2
;
("3066"
,TrBlue), 2
;
("3009"
,Blue), 3
;
("3009"
,White), 1
;
("3829"
,White), 1
;
("3943a"
,Black), 2
;
("3855"
,TrYellow), 3
;
("3937"
,Blue), 4
;
("3938"
,Blue), 4
;
("3831"
,White), 2
;
("3830"
,White), 2
;
("3838"
,Red), 1
;
("3838"
,White), 1
;
("193a"
,Red), 1
;
("193a"
,White), 1
;
("3962a"
,Black), 1
;
("4079"
,Yellow), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Red), 1
;
("970c00"
,White), 1
;
("4006"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,White), 1
;
("3024"
,Blue), 3
;
("3024"
,White), 2
;
("3024"
,TrRed), 2
;
("4073"
,TrRed), 2
;
("4081a"
,White), 2
;
("4085a"
,White), 4
;
("3023"
,Blue), 1
;
("3023"
,White), 12
;
("4175"
,Black), 4
;
("3623"
,White), 4
;
("3710"
,OldGray), 2
;
("3710"
,White), 2
;
("3666"
,Blue), 1
;
("3666"
,OldGray), 1
;
("3666"
,White), 5
;
("3034"
,White), 1
;
("3035"
,Black), 1
;
("3036"
,Blue), 1
;
("3036"
,TrYellow), 1
;
("3960"
,OldGray), 2
;
("3939"
,TrBlue), 2
;
("4228"
,TrBlue), 1
;
("3040b"
,White), 2
;
("3665"
,Black), 2
;
("3665"
,White), 2
;
("3039"
,White), 2
;
("3046"
,White), 2
;
("3660"
,Blue), 2
;
("3039p34"
,Blue), 2
;
("3039p23"
,Blue), 2
;
("3940"
,Black), 4
;
("3749"
,OldGray), 6
;
("3895"
,Black), 2
;
("3069b"
,Blue), 4
;
("4162"
,Blue), 1
;
("4033"
,Blue), 3
;
("3680c01"
,Yellow), 1
;
("3483"
,Black), 6
;
("3482"
,OldGray), 6
;
]
in
let
all_terrain_vehicle_info =
{name=
"All-Terrain Vehicle"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1981
;
home=
"http://guide.lugnet.com/set/6927_1"
;
pieces=
size
all_terrain_vehicle_parts;
minifigs=
2
}
in
(all_terrain_vehicle_info,all_terrain_vehicle_parts: model);;
let
set_6927_1 =
all_terrain_vehicle;;
let
uranium_search_vehicle =
let
uranium_search_vehicle_parts =
make
[
("3957"
,OldGray), 2
;
("3957"
,TrRed), 1
;
("3005"
,Blue), 2
;
("4588"
,OldGray), 2
;
("4070"
,Blue), 4
;
("3004"
,Blue), 3
;
("3004p06"
,Blue), 2
;
("3004p90"
,Blue), 2
;
("3065"
,TrYellow), 4
;
("3622"
,Blue), 2
;
("3010"
,Blue), 2
;
("3066"
,TrYellow), 2
;
("3003"
,Blue), 3
;
("3001"
,Blue), 1
;
("3829"
,Blue), 1
;
("4597"
,Blue), 2
;
("3831"
,Blue), 2
;
("3830"
,Blue), 2
;
("4213"
,TrYellow), 1
;
("4276a"
,OldGray), 2
;
("4275a"
,Blue), 2
;
("4315"
,Blue), 2
;
("3640"
,Blue), 1
;
("3639"
,Blue), 1
;
("3838"
,Black), 1
;
("3838"
,White), 1
;
("193b"
,Black), 1
;
("193b"
,White), 1
;
("3962a"
,Black), 1
;
("3876"
,TrRed), 2
;
("3959"
,Black), 1
;
("3959"
,OldGray), 2
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Black), 1
;
("970c00"
,White), 1
;
("4349"
,OldGray), 2
;
("4479"
,OldGray), 2
;
("4522"
,Black), 1
;
("4006"
,Black), 1
;
("973p90"
,Black), 1
;
("973p90"
,White), 1
;
("3024"
,Blue), 4
;
("3024"
,TrRed), 2
;
("4073"
,TrRed), 4
;
("4081a"
,Blue), 2
;
("4085a"
,Blue), 6
;
("3023"
,Blue), 10
;
("3794"
,Blue), 1
;
("4175"
,OldGray), 3
;
("3623"
,Blue), 8
;
("3710"
,Blue), 7
;
("4590"
,Blue), 2
;
("3022"
,Blue), 4
;
("3020"
,Blue), 2
;
("3960"
,OldGray), 4
;
("4286"
,Blue), 4
;
("3747"
,Blue), 6
;
("3039"
,Blue), 1
;
("3039p23"
,Blue), 1
;
("4596"
,Blue), 6
;
("4596"
,OldGray), 2
;
("3737"
,Black), 4
;
("3700"
,Blue), 4
;
("3894"
,Blue), 4
;
("3713"
,OldGray), 8
;
("3673"
,OldGray), 4
;
("3069b"
,Blue), 11
;
("4288"
,Black), 16
;
("4474"
,TrYellow), 1
;
]
in
let
uranium_search_vehicle_info =
{name=
"Uranium Search Vehicle"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6928_1"
;
pieces=
size
uranium_search_vehicle_parts;
minifigs=
2
}
in
(uranium_search_vehicle_info,uranium_search_vehicle_parts: model);;
let
set_6928_1 =
uranium_search_vehicle;;
let
starfleet_voyager =
let
starfleet_voyager_parts =
make
[
("3957"
,Black), 2
;
("3957"
,OldGray), 1
;
("3956"
,White), 4
;
("3005"
,OldGray), 2
;
("3005"
,White), 6
;
("3062b"
,TrGreen), 3
;
("3062b"
,TrRed), 3
;
("4070"
,OldGray), 4
;
("3004"
,OldGray), 2
;
("3004"
,White), 1
;
("3004p90"
,White), 4
;
("3622"
,White), 4
;
("3010"
,White), 4
;
("3010p04"
,White), 4
;
("3963"
,Black), 2
;
("3941"
,OldGray), 3
;
("3941"
,White), 2
;
("3829"
,White), 1
;
("3942a"
,Black), 2
;
("3942a"
,OldGray), 3
;
("3942a"
,White), 2
;
("3943a"
,Black), 2
;
("3937"
,OldGray), 1
;
("3937"
,White), 2
;
("3938"
,OldGray), 1
;
("3938"
,White), 2
;
("3831"
,OldGray), 2
;
("3831"
,White), 2
;
("3830"
,OldGray), 2
;
("3830"
,White), 2
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3962a"
,Black), 1
;
("3959"
,Black), 1
;
("3959"
,OldGray), 2
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("3837"
,OldDkGray), 1
;
("3900"
,Black), 1
;
("774"
,OldGray), 1
;
("4006"
,Black), 1
;
("973p90"
,Red), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 14
;
("4081a"
,White), 4
;
("4085a"
,White), 2
;
("3023"
,OldGray), 4
;
("3023"
,White), 4
;
("3839a"
,Black), 1
;
("3839a"
,OldGray), 1
;
("4175"
,Black), 2
;
("3623"
,OldGray), 6
;
("3623"
,Yellow), 2
;
("3710"
,OldGray), 11
;
("3710"
,White), 6
;
("3666"
,OldGray), 6
;
("3666"
,White), 2
;
("3460"
,OldGray), 6
;
("3460"
,White), 1
;
("3022"
,OldGray), 7
;
("3022"
,White), 1
;
("4032"
,Black), 3
;
("4229"
,OldGray), 2
;
("3021"
,OldGray), 4
;
("3020"
,OldGray), 5
;
("3795"
,OldGray), 1
;
("3795"
,White), 1
;
("3034"
,OldGray), 3
;
("3034"
,White), 1
;
("3032"
,White), 4
;
("3032"
,TrBlue), 1
;
("3029"
,OldGray), 2
;
("3958"
,OldGray), 1
;
("3960"
,OldGray), 2
;
("3298"
,White), 2
;
("3747"
,OldGray), 4
;
("3298p90"
,White), 1
;
("3939"
,TrBlue), 1
;
("4228"
,OldGray), 1
;
("4228"
,TrBlue), 1
;
("3665"
,OldGray), 2
;
("3039p34"
,White), 2
;
("3940"
,Black), 4
;
("3479"
,White), 8
;
("3069b"
,White), 5
;
("3856"
,White), 4
;
("3853"
,White), 2
;
("3936"
,OldGray), 4
;
("3935"
,OldGray), 4
;
("3933"
,OldGray), 1
;
("3934"
,OldGray), 1
;
]
in
let
starfleet_voyager_info =
{name=
"Starfleet Voyager"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1981
;
home=
"http://guide.lugnet.com/set/6929_1"
;
pieces=
size
starfleet_voyager_parts;
minifigs=
1
}
in
(starfleet_voyager_info,starfleet_voyager_parts: model);;
let
set_6929_1 =
starfleet_voyager;;
let
space_supply_station =
let
space_supply_station_parts =
make
[
("3957"
,Blue), 4
;
("3957"
,OldGray), 2
;
("3947"
,OldGray), 1
;
("3956"
,White), 2
;
("3062b"
,Blue), 2
;
("3062b"
,OldGray), 1
;
("3062b"
,TrGreen), 6
;
("3062b"
,TrRed), 4
;
("3004"
,White), 2
;
("3004p06"
,White), 2
;
("3004p90"
,White), 1
;
("3004p20"
,Blue), 2
;
("3622"
,White), 2
;
("3009"
,White), 2
;
("3008"
,White), 3
;
("3963"
,OldGray), 2
;
("3003"
,White), 2
;
("3941"
,Blue), 16
;
("3829"
,OldGray), 4
;
("4346"
,Blue), 2
;
("4346"
,OldGray), 1
;
("4345a"
,Blue), 2
;
("4345a"
,OldGray), 1
;
("4315"
,White), 2
;
("3640"
,OldGray), 1
;
("3639"
,OldGray), 1
;
("3838"
,Red), 2
;
("3838"
,Yellow), 2
;
("4360"
,Black), 1
;
("193a"
,Red), 2
;
("193a"
,Yellow), 2
;
("3962a"
,Black), 2
;
("4079"
,Blue), 2
;
("3959"
,Black), 3
;
("3959"
,OldGray), 2
;
("3626ap01"
,Yellow), 4
;
("970c00"
,Red), 2
;
("970c00"
,Yellow), 2
;
("4349"
,Black), 1
;
("4479"
,Black), 1
;
("774"
,Black), 1
;
("973p90"
,Red), 2
;
("973p90"
,Yellow), 2
;
("4073"
,TrRed), 2
;
("4081a"
,OldGray), 4
;
("4081a"
,White), 4
;
("4085a"
,OldGray), 6
;
("4085a"
,White), 2
;
("3023"
,OldGray), 2
;
("3794"
,OldGray), 5
;
("3839b"
,OldGray), 2
;
("4175"
,Blue), 2
;
("4175"
,OldGray), 1
;
("3460"
,Blue), 4
;
("3460"
,White), 2
;
("4477"
,White), 5
;
("3022"
,OldGray), 2
;
("4032"
,Black), 2
;
("122c01"
,OldGray), 4
;
("3020"
,OldGray), 2
;
("3795"
,Blue), 2
;
("3795"
,OldGray), 1
;
("3795"
,White), 2
;
("3034"
,OldGray), 2
;
("3028"
,White), 1
;
("3960"
,OldGray), 2
;
("4285a"
,OldGray), 4
;
("4286"
,White), 8
;
("4089"
,OldGray), 2
;
("3039"
,Blue), 6
;
("3039p34"
,White), 1
;
("3039p23"
,White), 1
;
("4476"
,Blue), 8
;
("3702"
,White), 1
;
("4162"
,White), 1
;
("4288"
,Black), 8
;
("4474"
,TrBlue), 2
;
]
in
let
space_supply_station_info =
{name=
"Space Supply Station"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1983
;
home=
"http://guide.lugnet.com/set/6930_1"
;
pieces=
size
space_supply_station_parts;
minifigs=
4
}
in
(space_supply_station_info,space_supply_station_parts: model);;
let
set_6930_1 =
space_supply_station;;
let
fx_star_patroller =
let
fx_star_patroller_parts =
make
[
("3957"
,TrRed), 2
;
("4732"
,Black), 1
;
("3005"
,Blue), 10
;
("3005"
,TrYellow), 2
;
("4588"
,TrRed), 2
;
("4070"
,Black), 2
;
("4070"
,Blue), 2
;
("4733"
,Black), 1
;
("3004"
,OldGray), 1
;
("3004p01"
,OldGray), 2
;
("4595"
,OldGray), 4
;
("3622"
,Blue), 4
;
("3010"
,Blue), 1
;
("3010"
,OldGray), 2
;
("3010p42"
,Blue), 2
;
("3009"
,Blue), 4
;
("3008"
,Blue), 2
;
("3963"
,Black), 2
;
("3003"
,OldGray), 1
;
("4591"
,Black), 2
;
("3001"
,OldGray), 1
;
("3006"
,Blue), 1
;
("4589"
,Black), 4
;
("4589"
,Blue), 2
;
("4589"
,TrRed), 4
;
("4589"
,TrYellow), 2
;
("3937"
,Black), 1
;
("3938"
,Black), 1
;
("4213"
,Blue), 1
;
("4213"
,OldGray), 2
;
("4593"
,Black), 4
;
("4593"
,OldGray), 1
;
("298"
,Black), 4
;
("298"
,Blue), 1
;
("4315"
,Blue), 3
;
("4315"
,OldGray), 1
;
("73590a"
,Black), 4
;
("3838"
,Yellow), 1
;
("193b"
,Yellow), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Yellow), 1
;
("4736"
,Blue), 1
;
("973p90"
,Yellow), 1
;
("4215a"
,TrBlue), 1
;
("3024"
,Blue), 2
;
("4073"
,TrYellow), 2
;
("3023"
,Black), 2
;
("3023"
,OldGray), 10
;
("3023"
,Yellow), 1
;
("3794"
,Black), 1
;
("3794"
,Blue), 2
;
("3839b"
,OldGray), 2
;
("3475b"
,OldGray), 2
;
("3710"
,Blue), 6
;
("3710"
,OldGray), 5
;
("3666"
,OldGray), 2
;
("3022"
,OldGray), 2
;
("4032"
,Black), 2
;
("4229"
,Black), 4
;
("4600"
,OldGray), 3
;
("3021"
,Black), 1
;
("3021"
,OldGray), 7
;
("3020"
,Blue), 1
;
("3020"
,OldGray), 2
;
("3795"
,OldGray), 1
;
("3832"
,Blue), 2
;
("3032"
,Blue), 1
;
("3032"
,OldGray), 1
;
("3036"
,OldGray), 1
;
("4740"
,OldGray), 2
;
("4740"
,TrBlue), 2
;
("4740"
,TrRed), 2
;
("4286"
,Blue), 2
;
("3298"
,Blue), 1
;
("3747"
,Blue), 1
;
("3747"
,OldGray), 2
;
("3665"
,Blue), 2
;
("3040px5"
,Blue), 2
; (* Unofficial part *)
("3039"
,Blue), 1
;
("3660"
,Blue), 2
;
("3039p32"
,OldGray), 3
;
("3039p05"
,Blue), 2
;
("4735"
,Black), 2
;
("4735"
,OldGray), 4
;
("4476"
,Blue), 1
;
("4746"
,OldGray), 2
;
("3700"
,Blue), 1
;
("3700"
,OldGray), 1
;
("3673"
,OldGray), 1
;
("3069bp25"
,OldGray), 1
;
("3069b"
,Black), 1
;
("3069b"
,Blue), 3
;
("3069b"
,OldGray), 2
;
("3069bp06"
,Blue), 2
;
("3069bp06"
,OldGray), 4
;
("3068b"
,Black), 1
;
("3068bp08"
,Blue), 2
;
("3068bp08"
,OldGray), 2
;
("3641"
,Black), 6
;
("4624"
,OldGray), 6
;
("4474"
,TrBlue), 1
;
("3936"
,OldGray), 1
;
("3935"
,OldGray), 1
;
("3933"
,OldGray), 1
;
("3934"
,OldGray), 1
;
("4475"
,OldGray), 3
;
]
in
let
fx_star_patroller_info =
{name=
"FX-Star Patroller"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6931_1"
;
pieces=
size
fx_star_patroller_parts;
minifigs=
1
}
in
(fx_star_patroller_info,fx_star_patroller_parts: model);;
let
set_6931_1 =
fx_star_patroller;;
let
alien_moon_stalker =
let
alien_moon_stalker_parts =
make
[
("3957"
,TrRed), 2
;
("792c01"
,OldGray), 1
;
("3612"
,OldGray), 5
;
("4070"
,OldGray), 8
;
("3004"
,OldGray), 5
;
("4595"
,Black), 4
;
("3010"
,OldGray), 9
;
("3963"
,Black), 2
;
("3003"
,OldGray), 8
;
("3063"
,OldGray), 8
;
("3941"
,Black), 2
;
("3941"
,White), 6
;
("4730"
,OldGray), 2
;
("3001"
,OldGray), 2
;
("4589"
,Black), 2
;
("4589"
,White), 2
;
("4589"
,TrRed), 2
;
("3942b"
,Black), 2
;
("3942b"
,White), 2
;
("4346"
,OldGray), 2
;
("4345a"
,OldGray), 2
;
("4448"
,Black), 4
;
("4448"
,TrGreen), 4
;
("4221"
,Black), 2
;
("4220"
,OldGray), 1
;
("4593"
,Black), 4
;
("4593"
,White), 2
;
("298"
,OldGray), 4
;
("298"
,White), 2
;
("4315"
,OldGray), 1
;
("3640"
,OldGray), 2
;
("3639"
,OldGray), 2
;
("73590a"
,OldGray), 2
;
("3838"
,Blue), 1
;
("3838"
,Red), 1
;
("2343"
,Black), 2
;
("193b"
,Blue), 1
;
("193b"
,Red), 1
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Blue), 1
;
("970c00"
,Red), 1
;
("973p90"
,Blue), 1
;
("973p90"
,Red), 1
;
("4865"
,OldGray), 4
;
("3024"
,TrGreen), 6
;
("3024"
,TrRed), 10
;
("4085a"
,OldGray), 4
;
("3023"
,Black), 2
;
("3023"
,OldGray), 7
;
("4623"
,OldGray), 2
;
("3475b"
,Black), 2
;
("3623"
,OldGray), 8
;
("3710"
,OldGray), 4
;
("3022"
,OldGray), 7
;
("3021"
,OldGray), 4
;
("3020"
,OldGray), 3
;
("3795"
,OldGray), 5
;
("3034"
,OldGray), 2
;
("3832"
,OldGray), 1
;
("3031"
,OldGray), 1
;
("3035"
,OldGray), 1
;
("3029"
,OldGray), 1
;
("4740"
,Black), 2
;
("4740"
,TrRed), 2
;
("3747"
,OldGray), 6
;
("3298p90"
,OldGray), 1
;
("3040b"
,OldGray), 12
;
("3039"
,OldGray), 3
;
("3039p05"
,OldGray), 4
;
("3039p34"
,OldGray), 1
;
("3037"
,OldGray), 2
;
("2342"
,Black), 1
;
("2342"
,OldGray), 2
;
("4741"
,OldGray), 4
;
("3706"
,Black), 2
;
("3700"
,OldGray), 4
;
("3070b"
,TrGreen), 4
;
("3070b"
,TrRed), 4
;
("3069bp25"
,OldGray), 1
;
("3068b"
,Black), 2
;
("3068b"
,OldGray), 4
;
("3680c01"
,OldGray), 6
;
("4859"
,OldGray), 2
;
("4474"
,TrGreen), 1
;
("3936"
,OldGray), 2
;
("3935"
,OldGray), 2
;
]
in
let
alien_moon_stalker_info =
{name=
"Alien Moon Stalker"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6940_1"
;
pieces=
size
alien_moon_stalker_parts;
minifigs=
2
}
in
(alien_moon_stalker_info,alien_moon_stalker_parts: model);;
let
set_6940_1 =
alien_moon_stalker;;
let
mobile_rocket_transport =
let
mobile_rocket_transport_parts =
make
[
("3957"
,Black), 3
;
("4083"
,OldGray), 4
;
("3956"
,OldGray), 2
;
("3956"
,White), 4
;
("3005"
,OldGray), 2
;
("3062b"
,TrRed), 3
;
("4070"
,OldGray), 2
;
("3004"
,Blue), 4
;
("3010p04"
,OldGray), 3
;
("3009"
,Blue), 2
;
("3067"
,TrYellow), 2
;
("3963"
,OldGray), 2
;
("3003"
,Blue), 1
;
("3941"
,Black), 6
;
("3941"
,White), 4
;
("3001"
,Blue), 2
;
("3829"
,OldGray), 5
;
("3942a"
,White), 1
;
("3943"
,Black), 2
;
("3943"
,OldGray), 1
;
("3943"
,White), 1
;
("3937"
,OldGray), 4
;
("3938"
,OldGray), 4
;
("4275"
,Yellow), 2
;
("4276"
,Yellow), 2
;
(* ("x1125",Yellow), 2; Unofficial part *)
(* ("x1126",Yellow), 2; Unofficial part *)
("3324c01"
,OldGray), 2
;
("3838"
,Yellow), 2
;
("4360"
,Black), 2
;
("193a"
,Yellow), 2
;
("3962a"
,Black), 1
;
("3959"
,Black), 2
;
("3626ap01"
,Yellow), 2
;
("970c00"
,Yellow), 2
;
("973p90"
,Yellow), 2
;
("3024"
,TrGreen), 2
;
("4073"
,TrRed), 4
;
("4081a"
,OldGray), 2
;
("4085a"
,OldGray), 2
;
("3023"
,White), 2
;
("3839a"
,OldGray), 2
;
("4175"
,Black), 2
;
("4175"
,OldGray), 2
;
("3623"
,OldGray), 2
;
("3710"
,OldGray), 4
;
("3666"
,OldGray), 1
;
("3022"
,Blue), 3
;
("4032"
,Black), 7
;
("4229"
,Black), 4
;
("3021"
,Blue), 3
;
("3020"
,Blue), 4
;
("3020"
,OldGray), 1
;
("3795"
,OldGray), 5
;
("3832"
,Blue), 1
;
("3032"
,OldGray), 1
;
("3456"
,Blue), 1
;
("4285a"
,OldGray), 1
;
("4286"
,OldGray), 4
;
("3747"
,Blue), 2
;
("3939"
,TrYellow), 1
;
("4228"
,TrYellow), 1
;
("3660"
,Blue), 7
;
("3039p34"
,OldGray), 1
;
("3039p23"
,OldGray), 1
;
("3705"
,Black), 1
;
("3737"
,Black), 1
;
("3749"
,Black), 8
;
("3700"
,Blue), 4
;
("3702"
,Blue), 4
;
("3713"
,OldGray), 1
;
("3673"
,OldGray), 4
;
("3069b"
,OldGray), 1
;
("3068b"
,OldGray), 6
;
("3403c01"
,Black), 1
;
("3634"
,Black), 8
;
("3482"
,Black), 8
;
("3933"
,OldGray), 2
;
("3934"
,OldGray), 2
;
]
in
let
mobile_rocket_transport_info =
{name=
"Mobile Rocket Transport"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1982
;
home=
"http://guide.lugnet.com/set/6950_1"
;
pieces=
size
mobile_rocket_transport_parts;
minifigs=
2
}
in
(mobile_rocket_transport_info,mobile_rocket_transport_parts: model);;
let
set_6950_1 =
mobile_rocket_transport;;
let
robot_command_center =
let
robot_command_center_parts =
make
[
("3957"
,TrRed), 2
;
("792c02"
,Blue), 2
;
("3612"
,Blue), 10
;
("3956"
,Blue), 3
;
("3956"
,White), 1
;
("3005"
,Blue), 10
;
("3062b"
,TrRed), 3
;
("3062b"
,TrYellow), 2
;
("3004"
,Blue), 6
;
("3004p06"
,OldGray), 2
;
("3004p90"
,Blue), 2
;
("3004p20"
,Blue), 2
;
("3010"
,Blue), 2
;
("3009"
,Blue), 4
;
("3003"
,Blue), 5
;
("3941"
,OldGray), 2
;
("3941"
,White), 3
;
("4591"
,Black), 1
;
("4591"
,Blue), 2
;
("3002"
,Blue), 4
;
("3001"
,Blue), 8
;
("3829"
,Blue), 2
;
("3829"
,OldGray), 2
;
("4597"
,Blue), 2
;
("3942a"
,Black), 1
;
("4346"
,Blue), 4
;
("4345a"
,Blue), 4
;
("4448"
,TrYellow), 2
;
("4221"
,OldGray), 4
;
("4220"
,OldGray), 2
;
("3937"
,OldGray), 5
;
("3938"
,OldGray), 5
;
("3831"
,Blue), 4
;
("3830"
,Blue), 4
;
("4213"
,Blue), 1
;
("4213"
,TrYellow), 2
;
("4315"
,Blue), 5
;
("4625"
,Blue), 2
;
("3838"
,Black), 1
;
("3838"
,Red), 1
;
("3838"
,Yellow), 1
;
("193b"
,Black), 1
;
("193b"
,Red), 1
;
("193b"
,Yellow), 1
;
("3962a"
,Black), 1
;
("3876"
,TrRed), 2
;
("3959"
,Black), 2
;
("3959"
,White), 1
;
("3626ap01"
,Yellow), 3
;
("970c00"
,Black), 1
;
("970c00"
,Red), 1
;
("970c00"
,Yellow), 1
;
("4349"
,Black), 2
;
("4349"
,OldGray), 6
;
("973p90"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,Yellow), 1
;
("3024"
,Blue), 2
;
("3024"
,TrGreen), 2
;
("4073"
,TrGreen), 2
;
("4073"
,TrRed), 9
;
("4073"
,TrYellow), 6
;
("4081a"
,Blue), 4
;
("4081a"
,OldGray), 2
;
("4085a"
,Blue), 4
;
("3023"
,Blue), 10
;
("3023"
,OldGray), 3
;
("3794"
,OldGray), 4
;
("4175"
,OldGray), 2
;
("3710"
,Blue), 2
;
("3710"
,OldGray), 1
;
("4590"
,Blue), 2
;
("4590"
,OldGray), 2
;
("3666"
,Blue), 4
;
("4477"
,Blue), 1
;
("3022"
,Blue), 3
;
("4229"
,OldGray), 4
;
("122c01"
,OldGray), 2
;
("3021"
,OldGray), 1
;
("3020"
,OldGray), 2
;
("3795"
,Blue), 1
;
("3795"
,OldGray), 5
;
("3832"
,Blue), 1
;
("3960"
,OldGray), 2
;
("4285a"
,OldGray), 1
;
("3747"
,Blue), 4
;
("3040b"
,Blue), 2
;
("3039"
,Blue), 2
;
("3039"
,OldGray), 1
;
("3660p01"
,Blue), 2
;
("3039p05"
,Blue), 3
;
("3039p34"
,Blue), 2
;
("3039p23"
,Blue), 2
;
("4596"
,Blue), 4
;
("4596"
,OldGray), 1
;
("4596"
,White), 2
;
("3749"
,OldGray), 3
;
("3700"
,OldGray), 1
;
("3700"
,White), 2
;
("3701"
,OldGray), 1
;
("3702"
,Blue), 3
;
("3673"
,OldGray), 1
;
("3068b"
,Blue), 2
;
("4033"
,Blue), 4
;
("3680c01"
,Blue), 1
;
("3641"
,Black), 4
;
("4447"
,Blue), 2
;
("4474"
,Blue), 4
;
("3936"
,OldGray), 1
;
("3935"
,OldGray), 1
;
]
in
let
robot_command_center_info =
{name=
"Robot Command Center"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6951_1"
;
pieces=
size
robot_command_center_parts;
minifigs=
3
}
in
(robot_command_center_info,robot_command_center_parts: model);;
let
set_6951_1 =
robot_command_center;;
let
solar_power_transporter =
let
solar_power_transporter_parts =
make
[
("3957"
,TrRed), 8
;
("4070"
,Blue), 2
;
("4070"
,OldGray), 4
;
("4733"
,Blue), 1
;
("3004"
,OldGray), 6
;
("4595"
,Black), 4
;
("3622"
,OldGray), 4
;
("3010p42"
,OldGray), 4
;
("3963"
,Black), 4
;
("3003"
,OldGray), 4
;
("3001"
,OldGray), 2
;
("3829"
,OldGray), 2
;
("4589"
,TrRed), 14
;
("3937"
,Black), 2
;
("3937"
,Blue), 1
;
("3938"
,OldGray), 3
;
("4593"
,Black), 6
;
("4593"
,OldGray), 2
;
("298"
,Black), 6
;
("298"
,Blue), 2
;
("4315"
,OldGray), 2
;
("3640"
,OldGray), 2
;
("3639"
,OldGray), 2
;
("73590a"
,Black), 2
;
("193b"
,Black), 1
;
("193b"
,Red), 1
;
("193b"
,Yellow), 1
;
("193b"
,White), 1
;
("3626ap01"
,Yellow), 4
;
("970c00"
,Black), 1
;
("970c00"
,Red), 1
;
("970c00"
,Yellow), 1
;
("970c00"
,White), 1
;
("4736"
,Blue), 1
;
("973p90"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,Yellow), 1
;
("973p90"
,White), 1
;
("3024"
,TrGreen), 4
;
("3024"
,TrRed), 4
;
("4073"
,TrYellow), 2
;
("4081a"
,OldGray), 4
;
("4085a"
,OldGray), 4
;
("3023"
,Black), 4
;
("3023"
,OldGray), 24
;
("3794"
,OldGray), 5
;
("3475b"
,Black), 4
;
("4175"
,Black), 2
;
("3710"
,OldGray), 2
;
("4590"
,OldGray), 2
;
("3460"
,OldGray), 6
;
("3022"
,OldGray), 10
;
("3021"
,OldGray), 2
;
("3020"
,OldGray), 7
;
("3795"
,OldGray), 8
;
("3034"
,OldGray), 2
;
("3832"
,OldGray), 1
;
("3032"
,OldGray), 1
;
("3030"
,OldGray), 1
;
("3958"
,OldGray), 2
;
("3033"
,OldGray), 1
;
("4740"
,TrRed), 5
;
("3298"
,OldGray), 2
;
("4228"
,OldGray), 2
;
("3660"
,OldGray), 2
;
("3039p32"
,OldGray), 2
;
("3037"
,OldGray), 4
;
("4735"
,Blue), 3
;
("4737"
,OldGray), 4
;
("4476"
,OldGray), 2
;
("3749"
,OldGray), 6
;
("3700"
,OldGray), 14
;
("3701"
,OldGray), 6
;
("3673"
,OldGray), 6
;
("3709b"
,OldGray), 4
;
("3069bp25"
,OldGray), 2
;
("3069b"
,OldGray), 2
;
("3069bp06"
,OldGray), 4
;
("3068b"
,OldGray), 6
;
("3068bp08"
,OldGray), 4
;
("3634"
,Black), 6
;
("3482"
,Black), 6
;
("4474"
,TrGreen), 2
;
("3936"
,OldGray), 4
;
("3935"
,OldGray), 4
;
]
in
let
solar_power_transporter_info =
{name=
"Solar Power Transporter"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1985
;
home=
"http://guide.lugnet.com/set/6952_1"
;
pieces=
size
solar_power_transporter_parts;
minifigs=
4
}
in
(solar_power_transporter_info,solar_power_transporter_parts: model);;
let
set_6952_1 =
solar_power_transporter;;
let
beta1_command_base =
let
beta1_command_base_parts =
make
[
("3957"
,Black), 2
;
("3957"
,OldGray), 6
;
("3144"
,OldGray), 1
;
("4083"
,OldGray), 2
;
("3947"
,OldGray), 2
;
("3956"
,Black), 4
;
("3956"
,Blue), 1
;
("3956"
,OldGray), 3
;
("3005"
,Blue), 9
;
("3062b"
,TrGreen), 5
;
("3062b"
,TrRed), 4
;
("3004"
,Blue), 23
;
("3004"
,Yellow), 2
;
("3004p90"
,Blue), 1
;
("3004p20"
,Blue), 2
;
("3622"
,Blue), 5
;
("3010"
,Blue), 3
;
("3066"
,TrYellow), 1
;
("3009"
,Blue), 8
;
("3754px7"
,Blue), 1
;
("3008"
,Blue), 3
;
("3008"
,OldGray), 4
;
("3963"
,Black), 2
;
("3003"
,Blue), 5
;
("3941"
,Black), 2
;
("3941"
,White), 4
;
("3001"
,Blue), 6
;
("3006"
,Blue), 2
;
("3829"
,OldGray), 2
;
("3942a"
,White), 2
;
("3943a"
,White), 2
;
("3596c90"
,White), 1
;
("3855a"
,TrYellow), 2
;
("3762"
,TrYellow), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("3149c01"
,Blue), 1
;
("3838"
,Red), 2
;
("3838"
,OldGray), 1
;
("3838"
,White), 3
;
("193a"
,Red), 2
;
("193a"
,White), 2
;
("3962a"
,Black), 3
;
("4079"
,OldGray), 2
;
("4079"
,Yellow), 2
;
("3959"
,Black), 1
;
("3959"
,OldGray), 2
;
("3899"
,Clear), 1
;
("3626ap01"
,Yellow), 4
;
("970c00"
,Red), 2
;
("970c00"
,White), 2
;
("4006"
,Black), 2
;
("973p90"
,Red), 2
;
("973p90"
,White), 2
;
("3024"
,Blue), 8
;
("3024"
,TrRed), 2
;
("4085a"
,OldGray), 5
;
("3023"
,Blue), 2
;
("3023"
,OldGray), 2
;
("3023"
,Yellow), 4
;
("3794"
,OldGray), 3
;
("3839a"
,OldGray), 1
;
("3460"
,OldGray), 2
;
("3022"
,OldGray), 2
;
("122c01"
,OldGray), 2
;
("3020"
,OldGray), 1
;
("3020"
,Yellow), 1
;
("3795"
,OldGray), 1
;
("3795"
,Yellow), 2
;
("3034"
,Blue), 1
;
("3034"
,OldGray), 1
;
("3035"
,OldGray), 3
;
("3029"
,Blue), 5
;
("3036"
,Blue), 1
;
("3036"
,TrYellow), 2
;
("3960"
,OldGray), 2
;
("3961"
,OldGray), 1
;
("3747"
,OldGray), 1
;
("3297p90"
,OldGray), 1
;
("3040b"
,Blue), 2
;
("3665"
,Blue), 2
;
("3039"
,OldGray), 1
;
("3039"
,Yellow), 2
;
("3660"
,Blue), 1
;
("3039p34"
,Blue), 2
;
("3940"
,Black), 2
;
("3940"
,OldGray), 10
;
("3895"
,Blue), 6
;
("3673"
,OldGray), 2
;
("3068b"
,Blue), 3
;
("3228b"
,OldGray), 3
;
("3680c01"
,OldGray), 1
;
("3680c01"
,Yellow), 2
;
("3641"
,Black), 4
;
("3853"
,Blue), 2
;
("3761"
,Blue), 1
;
("3936"
,OldGray), 1
;
("3935"
,OldGray), 1
;
("3933"
,OldGray), 2
;
("3934"
,OldGray), 2
;
]
in
let
beta1_command_base_info =
{name=
"Beta-1 Command Base"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1980
;
home=
"http://guide.lugnet.com/set/6970_1"
;
pieces=
size
beta1_command_base_parts;
minifigs=
4
}
in
(beta1_command_base_info,beta1_command_base_parts: model);;
let
set_6970_1 =
beta1_command_base;;
let
intergalactic_command_base =
let
intergalactic_command_base_parts =
make
[
("3957"
,OldGray), 4
;
("3957"
,TrRed), 2
;
("3947"
,OldGray), 2
;
("4598"
,White), 2
;
("3005"
,Blue), 10
;
("4588"
,Black), 2
;
("3062b"
,TrGreen), 3
;
("3062b"
,TrRed), 8
;
("4070"
,White), 2
;
("3004"
,Blue), 5
;
("3004p06"
,White), 2
;
("3065"
,TrYellow), 1
;
("3622"
,Blue), 2
;
("3008"
,Blue), 6
;
("3963"
,OldGray), 4
;
("3963"
,White), 2
;
("3003"
,Blue), 1
;
("3941"
,Blue), 3
;
("3941"
,White), 3
;
("4591"
,Black), 2
;
("4591"
,White), 2
;
("3829"
,Blue), 2
;
("3829"
,White), 2
;
("4597"
,OldGray), 1
;
("3942b"
,White), 1
;
("3185"
,Blue), 3
;
("3762"
,TrYellow), 2
;
("3937"
,OldGray), 4
;
("3938"
,OldGray), 4
;
("4276a"
,Black), 2
;
("4275a"
,Black), 2
;
("3149c01"
,Blue), 1
;
("x467"
,Black), 2
;
("3838"
,Black), 1
;
("3838"
,Blue), 1
;
("3838"
,Yellow), 1
;
("4360"
,OldGray), 1
;
("193b"
,Black), 1
;
("193b"
,Blue), 1
;
("193b"
,Yellow), 1
;
("3962a"
,Black), 1
;
("3876"
,TrRed), 4
;
("3959"
,Black), 1
;
("3959"
,Blue), 4
;
("3959"
,OldGray), 6
;
("3959"
,White), 2
;
("3626ap01"
,Yellow), 3
;
("970c00"
,Black), 1
;
("970c00"
,Blue), 1
;
("970c00"
,Yellow), 1
;
("4479"
,OldGray), 2
;
("4522"
,Black), 1
;
("4006"
,Black), 1
;
("973p90"
,Black), 1
;
("973p90"
,Blue), 1
;
("973p90"
,Yellow), 1
;
("3024"
,Blue), 6
;
("4073"
,TrGreen), 8
;
("4073"
,TrRed), 12
;
("4073"
,TrYellow), 2
;
("4081a"
,White), 4
;
("4085a"
,Blue), 2
;
("4085a"
,White), 2
;
("3023"
,Black), 9
;
("3023"
,Blue), 11
;
("3023"
,White), 4
;
("3794"
,Blue), 7
;
("3710"
,OldGray), 2
;
("4590"
,Blue), 4
;
("4590"
,OldGray), 2
;
("4590"
,White), 4
;
("3666"
,Blue), 1
;
("3460"
,Blue), 2
;
("3460"
,White), 1
;
("4477"
,Blue), 3
;
("3022"
,OldGray), 2
;
("4032"
,Black), 2
;
("4229"
,White), 3
;
("3021"
,Blue), 1
;
("3795"
,White), 2
;
("3034"
,OldGray), 1
;
("3034"
,White), 1
;
("3832"
,Blue), 4
;
("4282"
,Blue), 1
;
("3030"
,TrYellow), 1
;
("3958"
,TrYellow), 2
;
("3033"
,Blue), 2
;
("3960"
,White), 4
;
("4285a"
,OldGray), 2
;
("4286"
,Blue), 4
;
("4287"
,Black), 6
;
("4287"
,Blue), 4
;
("3298p90"
,White), 1
;
("4228"
,Blue), 2
;
("3040b"
,Blue), 2
;
("3039p34"
,White), 2
;
("3039p23"
,White), 1
;
("4596"
,Blue), 6
;
("4596"
,White), 2
;
("4476"
,Blue), 10
;
("4476"
,OldGray), 2
;
("3705"
,Black), 1
;
("3706"
,Black), 1
;
("3749"
,OldGray), 1
;
("3703"
,Blue), 1
;
("3709b"
,OldGray), 1
;
("3070b"
,TrRed), 2
;
("3069b"
,Blue), 8
;
("4162"
,Blue), 9
;
("4033"
,Blue), 4
;
("3680c01"
,OldGray), 1
;
("3761"
,Blue), 2
;
("4447"
,Blue), 8
;
("4475"
,White), 1
;
]
in
let
intergalactic_command_base_info =
{name=
"Intergalactic Command Base"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1984
;
home=
"http://guide.lugnet.com/set/6971_1"
;
pieces=
size
intergalactic_command_base_parts;
minifigs=
3
}
in
(intergalactic_command_base_info,intergalactic_command_base_parts: model);;
let
set_6971_1 =
intergalactic_command_base;;
let
polaris1_space_lab =
let
polaris1_space_lab_parts =
make
[
("3957"
,TrRed), 3
;
("3947"
,OldGray), 1
;
("3956"
,Black), 2
;
("4598"
,White), 2
;
("3005"
,Black), 2
;
("3005"
,White), 15
;
("3005"
,TrBlue), 2
;
("4588"
,TrRed), 2
;
("3062b"
,Black), 4
;
("4070"
,White), 14
;
("3004"
,White), 40
;
("3065"
,TrBlue), 2
;
("4595"
,Black), 4
;
("4595"
,White), 2
;
("3622"
,White), 17
;
("3003"
,Black), 2
;
("3003"
,White), 2
;
("2357"
,White), 1
;
("3063"
,White), 4
;
("3941"
,Black), 3
;
("3001"
,Black), 2
;
("4589"
,Black), 4
;
("3943"
,Black), 1
;
("4448"
,TrBlue), 4
;
("3937"
,White), 6
;
("3938"
,White), 5
;
("4593"
,Black), 8
;
("298"
,Black), 8
;
("4276"
,White), 8
;
("4275"
,White), 8
;
("3149c01"
,Black), 2
;
("73590a"
,Black), 2
;
("3838"
,Blue), 3
;
("193b"
,Blue), 3
;
("3626ap01"
,Yellow), 3
;
("970c00"
,Blue), 3
;
("973p90"
,Blue), 3
;
("4215a"
,White), 1
;
("2345"
,White), 3
;
("3024"
,Black), 2
;
("3024"
,White), 8
;
("3024"
,TrRed), 6
;
("4085b"
,White), 2
;
("3023"
,Black), 2
;
("3023"
,White), 13
;
("3794"
,Black), 2
;
("4175"
,White), 2
;
("3623"
,White), 6
;
("3710"
,Black), 2
;
("3710"
,White), 8
;
("4590"
,Black), 2
;
("3666"
,White), 3
;
("3460"
,Black), 2
;
("4477"
,White), 4
;
("3022"
,Black), 6
;
("3022"
,White), 2
;
("2420"
,White), 1
;
("4032"
,Black), 2
;
("4032"
,White), 2
;
("4229"
,Black), 2
;
("3021"
,Black), 2
;
("3021"
,White), 2
;
("3020"
,Black), 2
;
("3020"
,White), 6
;
("3795"
,Black), 2
;
("3795"
,White), 2
;
("3034"
,White), 2
;
("3832"
,White), 2
;
("4282"
,Black), 2
;
("2419"
,Black), 4
;
("2419"
,TrRed), 4
;
("3031"
,Black), 1
;
("3035"
,Black), 2
;
("3028"
,Black), 2
;
("4740"
,TrRed), 4
;
("4285a"
,White), 2
;
("3747"
,White), 1
;
("3298p90"
,White), 1
;
("3040b"
,White), 4
;
("3040p32"
,White), 2
;
("3660"
,White), 2
;
("3039p32"
,White), 2
;
("3038"
,White), 2
;
("3037"
,White), 2
;
("4871"
,White), 2
;
("4460"
,White), 6
;
("2342"
,White), 2
;
("3940"
,Black), 2
;
("4737"
,Black), 1
;
("4476"
,White), 6
;
("3706"
,Black), 1
;
("3700"
,Black), 2
;
("3895"
,White), 2
;
("4265a"
,OldGray), 1
;
("3069bp05"
,White), 2
;
("3069b"
,White), 4
;
("2431"
,White), 2
;
("4162"
,White), 8
;
("3068b"
,Black), 6
;
("3068b"
,White), 2
;
("3068bp08"
,White), 2
;
("4035"
,White), 4
;
("4447"
,White), 4
;
("2418a"
,White), 1
;
]
in
let
polaris1_space_lab_info =
{name=
"Polaris-I Space Lab"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1987
;
home=
"http://guide.lugnet.com/set/6972_1"
;
pieces=
size
polaris1_space_lab_parts;
minifigs=
3
}
in
(polaris1_space_lab_info,polaris1_space_lab_parts: model);;
let
set_6972_1 =
polaris1_space_lab;;
let
galaxy_commander =
let
galaxy_commander_parts =
make
[
("3957"
,Blue), 5
;
("3957"
,OldGray), 1
;
("3957"
,White), 8
;
("6099p03"
,OldGray), 1
;
("3956"
,Blue), 3
;
("3956"
,White), 2
;
("3005"
,Blue), 4
;
("3062b"
,TrGreen), 4
;
("3062b"
,TrRed), 14
;
("3062b"
,TrYellow), 4
;
("3004"
,Blue), 4
;
("3004"
,White), 6
;
("3004p06"
,Blue), 2
;
("3004p06"
,White), 5
;
("3010"
,Blue), 2
;
("3010"
,White), 3
;
("3066"
,TrBlue), 8
;
("3009"
,White), 4
;
("3008"
,Blue), 4
;
("3963"
,Blue), 2
;
("3963"
,White), 4
;
("3003"
,Blue), 2
;
("3003"
,White), 2
;
("3941"
,White), 2
;
("3002"
,Blue), 2
;
("3001"
,Blue), 3
;
("3829"
,Blue), 4
;
("3943"
,Blue), 1
;
("3943"
,White), 4
;
("4346"
,Blue), 2
;
("4345a"
,Blue), 2
;
("3937"
,White), 3
;
("3938"
,White), 3
;
("3831"
,Blue), 4
;
("3830"
,Blue), 4
;
("4213"
,Blue), 1
;
("4315"
,Blue), 3
;
("x467"
,Black), 1
;
("3838"
,Red), 1
;
("3838"
,Yellow), 2
;
("3838"
,White), 2
;
("4360"
,White), 4
;
("193a"
,Red), 1
;
("193a"
,Yellow), 2
;
("193a"
,White), 2
;
("3962a"
,Black), 2
;
("4079"
,Blue), 1
;
("3959"
,OldGray), 1
;
("3959"
,White), 2
;
("3626ap01"
,Yellow), 5
;
("970c00"
,Red), 1
;
("970c00"
,Yellow), 2
;
("970c00"
,White), 2
;
("4349"
,Black), 1
;
("4479"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,Yellow), 2
;
("973p90"
,White), 2
;
("3024"
,Blue), 6
;
("3024"
,White), 7
;
("3024"
,TrRed), 8
;
("4073"
,TrGreen), 6
;
("4073"
,TrRed), 7
;
("4081a"
,Blue), 20
;
("4081a"
,White), 10
;
("4085a"
,OldGray), 2
;
("4085a"
,White), 4
;
("3023"
,Blue), 10
;
("3023"
,White), 11
;
("3839b"
,Blue), 1
;
("3839b"
,White), 4
;
("4175"
,Blue), 2
;
("4175"
,OldGray), 1
;
("3623"
,Blue), 4
;
("3623"
,White), 5
;
("3710"
,Blue), 6
;
("3710"
,White), 5
;
("3666"
,Blue), 4
;
("3666"
,White), 2
;
("3460"
,White), 5
;
("4477"
,White), 4
;
("3022"
,Blue), 4
;
("3022"
,White), 3
;
("4032"
,Black), 7
;
("4229"
,Black), 6
;
("122c01"
,OldGray), 4
;
("3021"
,Blue), 4
;
("3021"
,White), 1
;
("3020"
,Blue), 3
;
("3020"
,White), 5
;
("3795"
,Blue), 5
;
("3795"
,White), 4
;
("3034"
,OldGray), 1
;
("3034"
,White), 1
;
("3832"
,Blue), 2
;
("3832"
,White), 2
;
("3035"
,TrBlue), 1
;
("3029"
,White), 1
;
("3033"
,White), 1
;
("3028"
,White), 1
;
("4285a"
,Blue), 1
;
("4286"
,Blue), 2
;
("4287"
,Blue), 2
;
("3298"
,Blue), 4
;
("3298p90"
,Blue), 1
;
("4228"
,White), 2
;
("4228"
,TrBlue), 2
;
("3040b"
,White), 4
;
("3039"
,Blue), 4
;
("3660"
,White), 2
;
("3039p34"
,White), 1
;
("3039p23"
,Blue), 1
;
("3039p23"
,White), 1
;
("3940"
,Black), 3
;
("4476"
,Blue), 4
;
("3479"
,White), 3
;
("3895"
,Blue), 2
;
("3070b"
,White), 2
;
("3069b"
,Blue), 7
;
("3069b"
,White), 7
;
("4162"
,White), 3
;
("3068b"
,Blue), 3
;
("4288"
,Black), 8
;
("4474"
,TrBlue), 2
;
("3933"
,Blue), 2
;
("3933"
,White), 3
;
("3934"
,Blue), 2
;
("3934"
,White), 3
;
("4475"
,White), 2
;
]
in
let
galaxy_commander_info =
{name=
"Galaxy Commander"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1983
;
home=
"http://guide.lugnet.com/set/6980_1"
;
pieces=
size
galaxy_commander_parts;
minifigs=
5
}
in
(galaxy_commander_info,galaxy_commander_parts: model);;
let
set_6980_1 =
galaxy_commander;;
let
cosmic_fleet_voyager =
let
cosmic_fleet_voyager_parts =
make
[
("3957"
,TrRed), 2
;
("3956"
,White), 1
;
("4732"
,White), 2
;
("4588"
,White), 2
;
("3062b"
,TrRed), 4
;
("4070"
,Blue), 14
;
("3004"
,Blue), 20
;
("3004p90"
,Blue), 2
;
("3004p01"
,Blue), 2
;
("4595"
,Blue), 4
;
("3622"
,Blue), 14
;
("3010"
,Blue), 5
;
("3010p04"
,Blue), 2
;
("3066"
,TrYellow), 2
;
("3009"
,Blue), 2
;
("3008"
,Blue), 2
;
("3941"
,TrYellow), 6
;
("4730"
,Blue), 3
;
("4730"
,OldGray), 2
;
("3002"
,Blue), 2
;
("3001"
,Blue), 1
;
("4589"
,White), 2
;
("4589"
,TrRed), 4
;
("3943"
,White), 2
;
("4448"
,Blue), 6
;
("4448"
,TrYellow), 6
;
("3937"
,Blue), 2
;
("3938"
,Blue), 2
;
("4213"
,Blue), 5
;
("4315"
,Blue), 6
;
("4625"
,Blue), 1
;
("73590a"
,White), 2
;
("3838"
,Black), 1
;
("3838"
,Red), 1
;
("3838"
,Yellow), 1
;
("3838"
,White), 1
;
("4360"
,White), 1
;
("193b"
,Black), 1
;
("193b"
,Red), 1
;
("193b"
,Yellow), 1
;
("193b"
,White), 1
;
("3962a"
,Black), 1
;
("3626ap01"
,Yellow), 4
;
("970c00"
,Black), 1
;
("970c00"
,Red), 1
;
("970c00"
,Yellow), 1
;
("970c00"
,White), 1
;
("4479"
,Black), 1
;
("3837"
,Black), 1
;
("3900"
,Black), 1
;
("3841"
,Black), 1
;
("973p90"
,Black), 1
;
("973p90"
,Red), 1
;
("973p90"
,Yellow), 1
;
("973p90"
,White), 1
;
("4215a"
,TrYellow), 6
;
("3024"
,Blue), 2
;
("3024"
,OldGray), 2
;
("3024"
,TrRed), 4
;
("4085a"
,OldGray), 6
;
("3023"
,Blue), 16
;
("3023"
,White), 6
;
("3475b"
,Black), 4
;
("3623"
,Blue), 14
;
("3710"
,Blue), 3
;
("3666"
,Blue), 4
;
("3460"
,Blue), 4
;
("3022"
,Blue), 3
;
("3022"
,OldGray), 2
;
("3022"
,White), 1
;
("4600"
,OldGray), 2
;
("3021"
,Blue), 2
;
("3021"
,OldGray), 3
;
("3020"
,Blue), 2
;
("3020"
,White), 2
;
("3795"
,Blue), 1
;
("3795"
,White), 2
;
("3034"
,Blue), 1
;
("3034"
,OldGray), 1
;
("3034"
,White), 1
;
("3832"
,Blue), 3
;
("3832"
,White), 2
;
("3032"
,Blue), 2
;
("3030"
,White), 1
;
("3030"
,TrYellow), 2
;
("3029"
,White), 2
;
("3958"
,White), 1
;
("3036"
,Blue), 1
;
("3036"
,White), 1
;
("3028"
,White), 1
;
("4740"
,TrRed), 3
;
("4285a"
,Blue), 1
;
("4286"
,Blue), 2
;
("4287"
,Blue), 2
;
("3298"
,Blue), 3
;
("3747"
,Blue), 1
;
("3939"
,TrYellow), 1
;
("3040b"
,Blue), 16
;
("3665"
,Blue), 20
;
("3039"
,Blue), 4
;
("3660"
,Blue), 4
;
("3676"
,Blue), 4
;
("3039p32"
,Blue), 1
;
("3039p34"
,Blue), 1
;
("3039p23"
,Blue), 1
;
("4460"
,Blue), 2
;
("3684"
,Blue), 2
;
("2342"
,OldGray), 1
;
("2342"
,White), 1
;
("2336p35"
,Blue), 1
;
("3940"
,Black), 6
;
("4741"
,Blue), 6
;
("4737"
,Blue), 6
;
("2340"
,White), 4
;
("4746"
,Blue), 2
;
("3706"
,Black), 2
;
("3700"
,Blue), 5
;
("3700"
,OldGray), 2
;
("3895"
,Blue), 2
;
("3703"
,Blue), 2
;
("3070b"
,TrRed), 2
;
("3069bp25"
,Blue), 2
;
("3069b"
,Blue), 8
;
("3069b"
,OldGray), 2
;
("3069bp06"
,Blue), 2
;
("3068b"
,Blue), 2
;
("3641"
,Black), 4
;
("4624"
,OldGray), 4
;
("4474"
,Blue), 1
;
("4474"
,TrYellow), 1
;
("3936"
,White), 3
;
("3935"
,White), 3
;
("3933"
,White), 1
;
("3934"
,White), 1
;
]
in
let
cosmic_fleet_voyager_info =
{name=
"Cosmic Fleet Voyager"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1986
;
home=
"http://guide.lugnet.com/set/6985_1"
;
pieces=
size
cosmic_fleet_voyager_parts;
minifigs=
4
}
in
(cosmic_fleet_voyager_info,cosmic_fleet_voyager_parts: model);;
let
set_6985_1 =
cosmic_fleet_voyager;;
let
space_scooter_885 =
let
space_scooter_parts =
make
[
("3957"
,OldGray), 1
;
("3062a"
,TrBlue), 2
;
("3829"
,OldGray), 1
;
("3633"
,OldGray), 1
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,TrRed), 2
;
("3839a"
,OldGray), 1
;
("3460"
,OldGray), 1
;
("3022"
,OldGray), 2
;
("3034"
,OldGray), 1
;
("3298p90"
,OldGray), 1
;
("3933"
,OldGray), 1
;
("3934"
,OldGray), 1
;
]
in
let
space_scooter_info =
{name=
"Space Scooter"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1978
;
home=
"http://guide.lugnet.com/set/885_1"
;
pieces=
size
space_scooter_parts;
minifigs=
1
}
in
(space_scooter_info,space_scooter_parts: model);;
let
set_885_1 =
space_scooter_885;;
let
space_buggy =
let
space_buggy_parts =
make
[
("3957"
,OldGray), 1
;
("3062a"
,TrGreen), 1
;
("3829"
,OldGray), 1
;
("3838"
,OldGray), 1
;
("3838"
,White), 1
;
("193a"
,White), 1
;
("3959"
,OldGray), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,White), 1
;
("973p90"
,White), 1
;
("3794"
,OldGray), 1
;
("122c01"
,OldGray), 2
;
("3020"
,OldGray), 1
;
("3795"
,OldGray), 1
;
("3039"
,OldGray), 1
;
("3641"
,Black), 4
;
]
in
let
space_buggy_info =
{name=
"Space Buggy"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1979
;
home=
"http://guide.lugnet.com/set/886_1"
;
pieces=
size
space_buggy_parts;
minifigs=
1
}
in
(space_buggy_info,space_buggy_parts: model);;
let
set_886_1 =
space_buggy;;
let
radar_truck =
let
radar_truck_parts =
make
[
("3956"
,OldGray), 1
;
("3787"
,OldGray), 2
;
("3829"
,OldGray), 1
;
("3937"
,OldGray), 1
;
("3938"
,OldGray), 1
;
("3838"
,Red), 1
;
("3838"
,OldGray), 1
;
("193a"
,Red), 1
;
("3959"
,OldGray), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,OldGray), 1
;
("3023"
,OldGray), 2
;
("3794"
,OldGray), 1
;
("3022"
,OldGray), 1
;
("122c01"
,OldGray), 2
;
("3021"
,OldGray), 2
;
("3020"
,OldGray), 1
;
("3795"
,OldGray), 1
;
("3960"
,OldGray), 1
;
("3641"
,Black), 4
;
]
in
let
radar_truck_info =
{name=
"Radar Truck"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1979
;
home=
"http://guide.lugnet.com/set/889_1"
;
pieces=
size
radar_truck_parts;
minifigs=
1
}
in
(radar_truck_info,radar_truck_parts: model);;
let
set_889_1 =
radar_truck;;
let
space_transport =
let
space_transport_parts =
make
[
("3957"
,OldGray), 1
;
("3956"
,Blue), 1
;
("3005"
,Blue), 2
;
("3004"
,Blue), 2
;
("3622"
,Blue), 2
;
("3010"
,Blue), 3
;
("3010p41"
,OldGray), 1
;
("3010p918"
,Blue), 2
;
("3963"
,OldGray), 2
;
("3941"
,OldGray), 1
;
("3829"
,OldGray), 1
;
("3943a"
,OldGray), 1
;
("3822"
,OldGray), 1
;
("3821"
,OldGray), 1
;
("3937"
,Blue), 2
;
("3938"
,Blue), 2
;
("3838"
,Red), 1
;
("193a"
,Red), 1
;
("3626ap01"
,Yellow), 1
;
("970c00"
,Red), 1
;
("973p90"
,Red), 1
;
("3024"
,OldGray), 2
;
("3024"
,TrGreen), 2
;
("3024"
,TrRed), 2
;
("3023"
,OldGray), 4
;
("3839a"
,OldGray), 1
;
("3710"
,Blue), 2
;
("3666"
,OldGray), 2
;
("3022"
,OldGray), 1
;
("3021"
,OldGray), 2
;
("3020"
,Blue), 1
;
("3020"
,OldGray), 2
;
("3795"
,Blue), 1
;
("3795"
,OldGray), 1
;
("3034"
,OldGray), 3
;
("3832"
,OldGray), 1
;
("3031"
,Blue), 1
;
("3032"
,TrYellow), 1
;
("3035"
,OldGray), 1
;
("3939"
,TrYellow), 1
;
("3939p91"
,Blue), 1
;
("3660"
,Blue), 2
;
("3660"
,OldGray), 10
;
("3940"
,OldGray), 3
;
("3479"
,OldGray), 1
;
("3069b"
,Blue), 2
;
("3933"
,OldGray), 3
;
("3934"
,OldGray), 3
;
]
in
let
space_transport_info =
{name=
"Space Transport"
;
theme=
"LEGO/SYSTEM/Space/Classic"
;
year=
1978
;
home=
"http://guide.lugnet.com/set/918_1"
;
pieces=
size
space_transport_parts;
minifigs=
1
}
in
(space_transport_info,space_transport_parts: model);;
let
set_918_1 =
space_transport;;
let
catalog =
([
(* 1498-1 *)
spy_bot;
(* 1499-1 *)
twin_starfire;
(* 1526-1 *)
(* 1557-1 *)
space_scooter_1557;
(* 1558-1 *)
mobile_command_trailer;
(* 1580-1 *)
lunar_scout;
(* 1593-1 *)
unnamed_1593;
(* 1968-1 *)
unnamed_1968;
(* 442-1 *)
space_shuttle; (* 891-1 *)
(* 452-1 *)
mobile_tracking_station; (* 894-1 *)
(* 462-1 *)
rocket_launcher; (* 897-1 *)
(* 483-1 *)
alpha1_rocket_base; (* 920-2 *)
(* 487-1 *)
space_cruiser; (* 924-1 *)
(* 493-1 *)
space_command_center; (* 926-1 *)
(* 497-1 *)
galaxy_explorer; (* 928-1 *)
(* 6750-1 *)
light_sound_sonic_robot;
(* 6780-1 *)
light_sound_xt_starship;
(* 6783-1 *)
sonar_transmitting_cruiser;
(* 6801-1 *)
rocket_sled;
(* 6802-1 *)
space_probe;
(* 6803-1 *)
space_patrol;
(* 6804-1 *)
surface_rover;
(* 6805-1 *)
astro_dasher;
(* 6806-1 *)
surface_hopper;
(* 6807-1 *)
unnamed_6807;
(* 6808-1 *)
galaxy_trekkor;
(* 6809-1 *)
xt5_and_droid;
(* 6820-1 *)
starfire1;
(* 6821-1 *)
shovel_buggy;
(* 6822-1 *)
space_shuttle;
(* 6823-1 *)
surface_transport;
(* 6824-1 *)
space_dart1;
(* 6825-1 *)
cosmic_comet;
(* 6826-1 *)
crater_crawler;
(* 6827-1 *)
strata_scooter;
(* 6841-1 *)
mineral_detector;
(* 6842-1 *)
shuttle_craft;
(* 6844-1 *)
seismologic_vehicle;
(* 6845-1 *)
cosmic_charger;
(* 6846-1 *)
tri_star_voyager;
(* 6847-1 *)
space_dozer;
(* 6848-2 *)
interplanetary_shuttle;
(* 6849-1 *)
satellite_patroller;
(* 6861-1 *)
x1_patrol_craft;
(* 6870-1 *)
space_probe_launcher;
(* 6871-1 *)
star_patrol_launcher;
(* 6872-1 *)
lunar_patrol_craft;
(* 6874-1 *)
moonrover;
(* 6880-1 *)
surface_explorer;
(* 6881-1 *)
lunar_rocket_launcher;
(* 6882-1 *)
walking_astro_grappler;
(* 6883-1 *)
terrestrial_rover;
(* 6890-1 *)
cosmic_cruiser;
(* 6891-1 *)
gamma_v_laser_craft;
(* 6892-1 *)
modular_space_transport;
(* 6901-1 *)
mobile_lab;
(* 6926-1 *)
mobile_recovery_vehicle;
(* 6927-1 *)
all_terrain_vehicle;
(* 6928-1 *)
uranium_search_vehicle;
(* 6929-1 *)
starfleet_voyager;
(* 6930-1 *)
space_supply_station;
(* 6931-1 *)
fx_star_patroller;
(* 6940-1 *)
alien_moon_stalker;
(* 6950-1 *)
mobile_rocket_transport;
(* 6951-1 *)
robot_command_center;
(* 6952-1 *)
solar_power_transporter;
(* 6970-1 *)
beta1_command_base;
(* 6971-1 *)
intergalactic_command_base;
(* 6972-1 *)
polaris1_space_lab;
(* 6980-1 *)
galaxy_commander;
(* 6985-1 *)
cosmic_fleet_voyager;
(* 885-1 *)
space_scooter_885;
(* 886-1 *)
space_buggy;
(* 889-1 *)
radar_truck;
(* 918-1 *)
space_transport;
]:catalog);;
end
;;
Enfin, dernière opération, nous allons connaître la liste des boîtes à acheter et grâce auxquelles il nous manquera moins de 180 briques sur les 777 nécessaires :
# open
LegoBricks;;
# let
my_order =
collect ChoamFrigate.parts LegoSpace.catalog 180
;;
val
my_order : LegoBricks.order =
{Inventory.items =
[({name =
"Cosmic Charger"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1986
; home =
"http://guide.lugnet.com/set/6845_1"
; pieces =
53
;
minifigs =
1
},
1
);
({name =
"Cosmic Fleet Voyager"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1986
; home =
"http://guide.lugnet.com/set/6985_1"
;
pieces =
412
; minifigs =
4
},
1
);
({name =
"Intergalactic Command Base"
;
theme =
"LEGO/SYSTEM/Space/Classic"
; year =
1984
;
home =
"http://guide.lugnet.com/set/6971_1"
; pieces =
328
;
minifigs =
3
},
1
);
({name =
"Light & Sound XT - Starship"
;
theme =
"LEGO/SYSTEM/Space/Classic"
; year =
1987
;
home =
"http://guide.lugnet.com/set/6780_1"
; pieces =
204
;
minifigs =
1
},
1
);
({name =
"Lunar Rocket Launcher"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1984
; home =
"http://guide.lugnet.com/set/6881_1"
; pieces =
98
;
minifigs =
1
},
1
);
({name =
"Mobile Recovery Vehicle"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1986
; home =
"http://guide.lugnet.com/set/6926_1"
;
pieces =
150
; minifigs =
2
},
1
);
({name =
"Modular Space Transport"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1986
; home =
"http://guide.lugnet.com/set/6892_1"
;
pieces =
150
; minifigs =
2
},
1
);
({name =
"Sonar Transmitting Cruiser"
;
theme =
"LEGO/SYSTEM/Space/Classic"
; year =
1988
;
home =
"http://guide.lugnet.com/set/6783_1"
; pieces =
354
;
minifigs =
2
},
1
);
({name =
"Space Dart-I"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1984
; home =
"http://guide.lugnet.com/set/6824_1"
; pieces =
48
;
minifigs =
1
},
1
);
({name =
"Space Shuttle"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1981
; home =
"http://guide.lugnet.com/set/6822_1"
; pieces =
33
;
minifigs =
1
},
2
);
({name =
"Walking Astro Grappler"
; theme =
"LEGO/SYSTEM/Space/Classic"
;
year =
1985
; home =
"http://guide.lugnet.com/set/6882_1"
; pieces =
94
;
minifigs =
1
},
1
)];
Inventory.missing =
[(("2342"
, Blue), 3
); (("2412b"
, OldGray), 8
); (("3001"
, Blue), 14
);
(("3002"
, Blue), 9
); (("3003"
, Blue), 2
); (("3004p06"
, Blue), 2
);
(("3006"
, Blue), 1
); (("3007"
, Blue), 3
); (("3009"
, Blue), 2
);
(("30116"
, OldGray), 4
); (("3020"
, Blue), 7
); (("3022"
, Black), 3
);
(("3028"
, Blue), 2
); (("3029"
, Blue), 2
); (("3030"
, Blue), 2
);
(("3030"
, White), 1
); (("3032"
, Blue), 2
); (("3032"
, White), 2
);
(("3034"
, White), 9
); (("3035"
, Blue), 1
); (("3036"
, White), 1
);
(("30363"
, Blue), 4
); (("3039"
, Blue), 3
); (("3039p05"
, Blue), 2
);
(("3039p32"
, Blue), 1
); (("3039p32"
, OldGray), 4
); (("3068b"
, Blue), 1
);
(("3070b"
, Blue), 4
); (("3070b"
, TrRed), 2
); (("3710"
, Black), 4
);
(("3795"
, Blue), 6
); (("3832"
, Blue), 3
); ((...), ...); ...];
Inventory.extras =
...}
La réponse désigne 11 boîtes (cliquez sur les liens soulignés pour voir ces boîtes), la boîte 6822: Space Shuttle étant présente en double exemplaire cela nous fait un total de 12 boîtes.
Combien de briques nous manquera-t-il avec ces 12 boîtes ?
# size
my_order.Inventory.missing;;
-
: int
=
172
C'est effectivement un peu mieux que 180 briques.
Et combien de briques "en trop" ?
# size
my_order.Inventory.extras;;
-
: int
=
1352
Ce nombre peut paraître élevé, mais pour qui connaît les legos il est en fait très raisonnable, car le prix des briques au détail est bien supérieur au double du prix des briques en boîte. Et puis ce nombre inclut les pièces des minifigurines qui peupleront notre vaisseau de frêt et les pièces qui serviront à fabriquer les véhicules qu'il transportera d'une planète à une autre, on n'a jamais trop de legos…