PowerShell, 88 bytes
param($n,$d)$x="|/\"
$n..1|%{" "*(0,$_,($n-$_))[$d]+($y=$x[$d])+(" "," $y ")[$_%2]+$y}
Uses [0,1,2] for North, NW, NE.
param($n,$d)$x="|/\"
$n..1|%{" "*(0,$_,($n-$_))[$d]+($y=$x[$d])+(" "," $y ")[$_%2]+$y}
Uses [0,1,2] for North, NW, NE.