Еще почему-то никто не написал, что "примитив" швеллер можно гораздо меньшими силами сделать через Overrule (то есть из любого .Net языка) - время обучения сократится раз в пять.
ИХМО - перед тем как лезть в построение пользовательских примитивов, вначале неплохо-бы "помучаться" с чем-то более близким к автокаду - AutoLisp'ом например - чтоб потом велосипеды не изобретать. Не нужно брать пример создания своего примитива и пытаться его понять (или просить других объяснить) - хоть это сделать и не сложно - но в этих знаниях будут такие пробелы - которые заполнить в последствии будет гораздо сложней - то есть вроде как делать сможете - но поймете не правильно.