Si creo que tenes razón el ShapeTrapezoidal se ajusta mejor a lo que necesitas, para poder agregar un Target (por ej: Profile) en el archivo .vb tenes que declar las variabels como corresponde, para esto podrías usar como ayuda algún otro subassembly que permita agregar algún target, por ejemplo el linkslopetoelevation.vb esto es para ver como se declaran las variables.
El subassembly studio es un muy buen programa y sencillo de usar pero solo sirve para Civil 2009 y 2010, en nuestra empreza trabajamos con Civil 2008 y nuestro presupuesto no nos permite migrar a una versión superior.