每個專案都具有專案基準點和測量點
,但因為可見性設定和視圖裁剪的原因,可能不會在所有視圖中都可見。您無法刪除它們。專案基準點定義專案座標系統的原點 (0,0,0)。它也可用於在敷地上定位建築,或在營造期間尋找建築的設計元素。參考專案座標系統的定點座標和定點高程會相對於此點加以顯示。測量點表示真實世界中的已知點,例如大地測量標記。測量點用於以其他座標系統 (如土木工程應用程式所用的座標系統) 來正確定向建築幾何圖形。
Project base point clip removed in revit 2020.2 https://forums.autodesk.com/t5/revit-architecture-forum/project-base-point-clip-removed-in-revit-2020-2/td-p/9157101
【技術研究】客座BIM平台_ Autodesk Revit BIM在營建工程中實現測量與放樣座標位置點之可行性研究 http://www.yesdir.com.tw/?p=738
在revit api中查找基點的座標
ElementCategoryFilter filter = new ElementCategoryFilter(BuiltInCategory.OST_ProjectBasePoint);
FilteredElementCollector collector = new FilteredElementCollector(doc);
IList<Element> elements = collector.WherePasses(filter).ToElements();
foreach (Element element in elements)
{
double x = element.get_Parameter(BuiltInParameter.BASEPOINT_EASTWEST_PARAM).AsDouble();
double y = element.get_Parameter(BuiltInParameter.BASEPOINT_NORTHSOUTH_PARAM).AsDouble();
double elevation = element.get_Parameter (BuiltInParameter.BASEPOINT_ELEVATION_PARAM).AsDouble();
}
Setting up Survey Point programtically https://forums.autodesk.com/t5/revit-api-forum/setting-up-survey-point-programtically/td-p/5856398
//1: Set Survey point values
ProjectLocation projectLocation = uidoc.Document.ActiveProjectLocation;
ProjectPosition projectPosition = projectLocation.get_ProjectPosition(origin);
projectPosition.NorthSouth = <double value>;
projectPosition.EastWest = <double value>;
projectPosition.Elevation = <double value>;;
projectLocation.set_ProjectPosition(origin, projectPosition);
//2: Move survey point wrt Project base coordinate
var locations = collector.OfClass(typeof(BasePoint)).ToElements();
foreach (var locationPoint in locations)
{
BasePoint basePoint = locationPoint as BasePoint;
if (basePoint.IsShared)
{
basePoint.Pinned = false;
basePoint.Location.Move(new XYZ(0, 1, 0));
}
}