//получаем точки проекта
BasePoint surveyPoint = BasePoint.GetSurveyPoint(doc);
BasePoint projectPoint = BasePoint.GetProjectBasePoint(doc);
if (surveyPoint != null && projectPoint != null)
{
Transform transform = null;
//поворачиваем под углом истинного севера
double angleTrueNorth = projectPoint?.get_Parameter(BuiltInParameter.BASEPOINT_ANGLETON_PARAM)?.AsDouble() ?? double.NaN;
if (!double.IsNaN(angleTrueNorth))
{
XYZ axis = new XYZ(0, 0, 1);
transform = Transform.CreateRotation(axis, angleTrueNorth);
}
else
{
transform = Transform.Identity;
}
if (transform != null)
{
transform.Origin = surveyPoint.Position;//задаем точку вставки
PointCloudInstance instance = PointCloudInstance.Create(doc, typeCloud.Id, transform);
}