DC METRO

If you have a design you're proud of, share the cfdg file here. It's also a good place to ask for feedback and collaborate.

Moderators: MtnViewJohn, chris, mtnviewmark

Post Reply
kryptology
Posts: 3
Joined: Fri Jul 15, 2005 4:07 pm

DC METRO

Post by kryptology »

My first CFDG, based on Underground. I got too lazy to add in letters and turns, but maybe later. Probably could have simplied the rule set as well, but it is still fun.

DC Metro Map
Image

Code: Select all

startshape METRO

rule METRO
{
	4_WAY {  }
	NORTH { x -40 y -40 }
}

rule 4_WAY {
	SQUARE{ y 1 b .5 }
	SQUARE{ y -1 b .5 }
	SQUARE{ x 1 b .75 }
	SQUARE{ x -1 b .75 }
	CIRCLE{ s 2 }
	CIRCLE{ s 1.6 b 1 }
	CIRCLE{ s 1.2 }
        CIRCLE{ s .8 b 1}
	L_BRANCH{ r 180 x -2 }
	L_BRANCH{ x 2 }
	D_BRANCH{ r 180 y -2 }
	D_BRANCH{ y 2 }
}

rule D3_WAY {
	SQUARE{ x -1 b .75 }
	SQUARE{ y 1 b .5 }
	SQUARE{ y -1 b .5 }
	SQUARE{ x 1 b .75 }
	CIRCLE{ s 2 }
	CIRCLE{ s 1.6 b 1 }
	CIRCLE{ s 1.2 }
      CIRCLE{ s .8 b 1}
	L_BRANCH{ r 180 x -2 }
	L_BRANCH{ x 2 }
	D_BRANCH{ y 2 }
}


rule D3R_WAY {
	SQUARE{ x -1 b .75 }
	SQUARE{ y 1 b .5 }
	SQUARE{ x 1 b .75 }
	CIRCLE{ s 2 }
	CIRCLE{ s 1.6 b 1 }
	CIRCLE{ s 1.2 }
      CIRCLE{ s .8 b 1}
	L_BRANCH{ r 180 x -2 }
	L_BRANCH{ x 2 }
	D_BRANCH{ y 2 }
}


rule L3_WAY {
	SQUARE{ x -1 b .75 }
	SQUARE{ y 1 b .5 }
	SQUARE{ y -1 b .5 }
	SQUARE{ x 1 b .75 }
	CIRCLE{ s 2 }
	CIRCLE{ s 1.6 b 1 }
	CIRCLE{ s 1.2 }
      CIRCLE{ s .8 b 1}
	L_BRANCH{ x 2 }
	D_BRANCH{ y 2 }
	D_BRANCH{ r 180 y -2 }
}

rule L3R_WAY {
	SQUARE{ y 1 b .5 }
	SQUARE{ y -1 b .5 }
	SQUARE{ x 1 b .75 }
	CIRCLE{ s 2 }
	CIRCLE{ s 1.6 b 1 }
	CIRCLE{ s 1.2 }
      CIRCLE{ s .8 b 1}
	L_BRANCH{ x 2 }
	D_BRANCH{ y 2 }
	D_BRANCH{ r 180 y -2 }
}


rule D_BRANCH 6 {
	SQUARE{ b .5}
	D_BRANCH { y 1}
}

rule D_BRANCH  {
	D_STATION{ }
}

rule D_BRANCH .06 {
	SQUARE{ b .5}
	D3_WAY{ y 1}
}

rule D_BRANCH .06 {
	SQUARE{ b .5}
	D3R_WAY{ r 45 y 1}
}

rule L_BRANCH 4 {
	SQUARE{ b .75}
	L_BRANCH { x 1}
}

rule L_BRANCH  {
	L_STATION{ }
}

rule L_BRANCH .06 {
	SQUARE{ b .75}
	L3_WAY{ x 1}
}


rule L_BRANCH .06 {
	SQUARE{ b .75}
	L3R_WAY{ r 45 x 1}
}

rule D_STATION .5  {
	SQUARE{ b .5}
	CIRCLE{ s .9 }
      CIRCLE{ s .5 b 1}
}

rule D_STATION  {
	SQUARE{ b .5}
	CIRCLE{ s .9 }
      CIRCLE{ s .5 b 1}
	D_BRANCH{ y 1}
}

rule L_STATION .5 {
	SQUARE{ b .75}
	CIRCLE{ s .9 }
      CIRCLE{ s .5 b 1}
}

rule L_STATION {
	SQUARE{ b .75}
	CIRCLE{ s .9 }
      CIRCLE{ s .5 b 1}
	L_BRANCH{ x 1}
}

rule NORTH {
	ARROW { y -2.2 r 90 b 1 }
	CIRCLE { s 3.5 }
}

rule ARROW {
SQUARE { s 0.6 x 1.0 }
SQUARE { s 0.6 x 1.5 }
SQUARE { s 0.6 x 2.0 }
SQUARE { s 0.6 x 2.5 }
TRIANGLE { s 1.2  x 3 r 30 }
} 


User avatar
LaT3x
Posts: 68
Joined: Wed Jul 06, 2005 3:11 pm
Location: Madrid, Spain

Post by LaT3x »

Good job!!

kryptology
Posts: 3
Joined: Fri Jul 15, 2005 4:07 pm

Thanks

Post by kryptology »

Thanks LaT3x! Love your work.

Cheers,
K

ism
Posts: 4
Joined: Tue Jul 12, 2005 9:20 pm
Location: New Jersey

Post by ism »

Wow, that's pretty complex. Could see adapting it for other systems, like NYC subway. Can imagine what it'll be like once color is an option.

Post Reply