【C#】【SAP2000】读取SAP2000中frame单元列表到Grasshopper中

  private void RunScript(bool build, ref object p1, ref object p2, ref object Profile, ref object stressRatio, ref object temperatureLoad, ref object displacement, ref object frameList)
  {

    if (build == true)
    {
      // 声明变量
      int ret;
      int Numit = 0;
      int[] ObjType = new int[0];
      string[] ObjName = new string[0];
      cOAPI mySapObject = null;


      // 连接到正在运行的 SAP2000
      mySapObject = (cOAPI) System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000.API.SapObject");
      cSapModel mySapModel;
      mySapModel = mySapObject.SapModel;

      //解锁
      mySapModel.SetModelIsLocked(false);
      // 执行一次计算
      ret = mySapModel.Analyze.RunAnalysis();
      //全选所有对象
      mySapModel.SelectObj.All(false);
      // 获取选中的对象(全选/框选)
      ret = mySapModel.SelectObj.GetSelected(ref Numit, ref ObjType, ref ObjName);

      // 声明所需变量
      string[] framenamelist = new string[10]; //[10]是什么意思?
      int count = 0;

      //1.获取单元编号
      mySapModel.FrameObj.GetNameList(ref count, ref framenamelist);
      frameList = framenamelist;
      // SecList 应该是 string[] 类型
      string[] FrameList = frameList as string[];

    }
  • SAP2000模型
    在这里插入图片描述

  • Rhino读取结果
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hmywillstronger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值