Ну тут с азов надо начинать. Светильники - это пользовательские семейства. Пользовательские семейства могут поддерживать различные опции размещения. Светильники, вероятнее всего, реализованы как семейства на основе грани. Сначала посмотри, как они работают в UI, потом глянь значение свойства Family.FamilyPlacementType.
Дальше смотрим в API методы для размещения семейства - NewFamilyInstance, видим, что там их аж 12 штук. Сразу отбрасываем 4 - где идёт речь о размещении семейства на основе линии, в оставшихся 8 смотрим, где речь идёт о host-овых элементах. Да, можно попробовать использовать метод из совета Агента выше, если работает - хорошо, если нет, или ожидаемый результат отличается от желаемого - окей, остается 2 метода:
public FamilyInstance NewFamilyInstance(
Face face,
XYZ location,
XYZ referenceDirection,
FamilySymbol symbol
)
Здесь обрати внимание, что пишут в SDK насчёт параметра referenceDirection. Начни со значения XYZ.Zero/
И 2 метод:
public FamilyInstance NewFamilyInstance(
Reference reference,
XYZ location,
XYZ referenceDirection,
FamilySymbol symbol
)
Он тебе может пригодиться позже, когда потребуется размещать семейства на поверхностях элементов из связанных файлов.