You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Revit 2020读取链接模型Project Base Point与Survey Point技术问询

Revit 2020 读取链接模型基点参数适配方案

Revit 2020 对 BasePoint 类的 API 做了优化,原有 2019 版本的代码需要做两处核心调整:一是取消依赖固定索引取基点的逻辑,避免不同项目返回顺序变动报错;二是支持直接用内置属性读取参数,不需要依赖本地化的参数名,兼容性更强。适配后的实现代码如下:

import math
# 前置步骤:先获取目标链接实例对应的文档对象,2020不支持直接从当前文档过滤链接内的BasePoint元素
link_doc = target_revit_link_instance.GetLinkDocument()
# 从链接文档内过滤BasePoint元素
link_base_pts = FilteredElementCollector(link_doc).OfClass(BasePoint).ToElements()

linkProjBasePt_final = []
linkSurveyPt_final = []

# 遍历判断基点类型,替代原有固定索引取值逻辑
for pt in link_base_pts:
    if pt.Category.Name == "Project Base Point":
        # 兼容原有LookupParameter写法,也可直接用2020新增的内置属性读取,适配多语言版本更稳定
        # 内置属性对应关系:E/W→EastWest,N/S→NorthSouth,Elev→Elevation,Angle to True North→AngleToTrueNorth
        lpbpEW = pt.LookupParameter('E/W')
        lpbpNS = pt.LookupParameter('N/S')
        lpbpElev = pt.LookupParameter("Elev")
        lpbpAngle = pt.LookupParameter('Angle to True North')
        linkProjBasePt_final.append(format_length(lpbpEW.AsDouble()))
        linkProjBasePt_final.append(format_length(lpbpNS.AsDouble())) 
        linkProjBasePt_final.append(format_length(lpbpElev.AsDouble())) 
        linkProjBasePt_final.append(str(round(lpbpAngle.AsDouble() * 180/math.pi,6)))
    elif pt.Category.Name == "Survey Point":
        lpbpEW = pt.LookupParameter('E/W')
        lpbpNS = pt.LookupParameter('N/S')
        lpbpElev = pt.LookupParameter("Elev")
        linkSurveyPt_final.append(format_length(lpbpEW.AsDouble()))
        linkSurveyPt_final.append(format_length(lpbpNS.AsDouble())) 
        linkSurveyPt_final.append(format_length(lpbpElev.AsDouble()))

注意事项

  • 如果需要适配多语言版本的Revit,不要用硬编码的参数名,直接调用BasePoint的内置属性即可,不需要处理参数名的语言差异
  • 读取链接内的所有元素都需要先通过RevitLinkInstance.GetLinkDocument()获取链接专属的文档对象,再在该文档内执行过滤器查询

内容的提问来源于stack exchange,提问作者John Kuldeep Roshan Kerketta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 20:36:00