【C#】【SAP2000】读取SAP2000中所有Frame对象在指定工况的温度荷载值到Grasshopper中

if (build == true)
{// 连接到正在运行的 SAP2000// 使用 COM 接口获取 SAP2000 的 API 对象cOAPI mySapObject = (cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000.API.SapObject");// 获取 SAP2000 模型对象cSapModel mySapModel = mySapObject.SapModel;// 获取所有框架单元的总数int numberFrames = 0; // 存储框架单元的总数string[] frameNames = null; // 存储所有框架单元的名称// 调用 SAP2000 API 的 GetNameList 函数获取框架单元的总数和名称int ret = mySapModel.FrameObj.GetNameList(ref numberFrames, ref frameNames);// 声明温度荷载列表List<double> _temp = new List<double>(); // 存储每个框架单元的温度荷载值// 遍历所有单元for (int i = 0; i < numberFrames; i++){// 获取当前框架单元的名称string frameName = frameNames[i];// 获取当前框架单元的温度荷载int NumberItems = 0; // 存储当前框架单元的荷载数量string[] FrameName = new string[0]; // 存储当前框架单元的名称string[] LoadPat = new string[0]; // 存储荷载工况的名称int[] MyType = new int[0]; // 存储荷载类型double[] Val = new double[0]; // 存储荷载值string[] PatternName = new string[0]; // 存储荷载工况的名称// 调用 SAP2000 API 的 GetLoadTemperature 函数获取当前框架单元的温度荷载信息ret = mySapModel.FrameObj.GetLoadTemperature(frameName, ref NumberItems, ref FrameName, ref LoadPat, ref MyType, ref Val, ref PatternName);// 检查是否为 "PRE-F" 工况下的温度荷载bool hasTempLoad = false; // 标记是否找到 "PRE-F" 工况下的温度荷载for (int j = 0; j < NumberItems; j++){// 如果找到 "PRE-F" 工况下的温度荷载if (LoadPat[j] == "PRE-F" && MyType[j] == 1){_temp.Add(Val[j]); // 将温度荷载值添加到列表中hasTempLoad = true; // 标记已找到温度荷载break; // 跳出循环,因为每个框架单元只能有一个温度荷载}}// 如果没有找到 "PRE-F" 工况下的温度荷载,则添加0if (!hasTempLoad){_temp.Add(0); // 为当前框架单元添加0作为温度荷载值}}// 将温度荷载列表赋值给输出参数 TempLoadsTempLoads = _temp; // 将获取到的温度荷载列表赋值给 Grasshopper 组件的输出参数
}

SAP2000中该工况下的温度荷载
在这里插入图片描述
grasshopper中该工况下的荷载
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542843.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编译原理-实现识别标识符的词法分析器——沐雨先生

实验任务&#xff1a; 实现识别标识符的词法分析器 实验要求&#xff1a; 根据编译原理理论课教材中图2.3“标识符的转换图”&#xff0c;用C语言编写识别标识符的词法分析器&#xff0c;以文本文件为输入&#xff0c;控制台&#xff08;或文件&#xff09;输出识别出的每个…

Vue.js 应用实现监控可观测性最佳实践

前言 Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0c;Vue 都可以胜任。 TinyPro 是一套使用 Vue …

Javaweb--CSS

一&#xff1a;概述 CSS &#xff08;Cascading Style Sheet&#xff08;层叠样式表&#xff09;&#xff09;是一门语言&#xff0c;用于控制网页表现。 W3C标准规定了网页是由以下组成&#xff1a; 结构&#xff1a;HTML 表现&#xff1a;CSS 行为&#xff1a;JavaScrip…

人民艺术家、中国书画院院士王家才

人民艺术家王家才 在中国画坛的广袤土地上&#xff0c;一位名叫王家才的艺术家以其深厚的艺术造诣和独特的艺术风格&#xff0c;赢得了“人民艺术家”的殊荣。她的作品不仅在国内受到广泛赞誉&#xff0c;还多次走出国门&#xff0c;成为中外文化交流的桥梁。 王家才女士是一…

RTT——stm32f103的can总线通信

1.创建工程 2.配置时钟和引脚 引脚配置使能CAN 时钟配置&#xff0c;采用外部高速时钟 生成MDK工程后复制相关初始化函数到RTT-studio中 将void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle)函数复制至broad.c文件中 将时钟配置函数复制到drv_clk.c中&#xff0c;只复制函数…

状态管理工具 PInia 初步上手指南

Vuex 作为一个老牌 Vue 状态管理库&#xff0c;大家都很熟悉了。 Pinia 是 Vue.js 团队成员专门为 Vue 开发的一个全新的状态管理库&#xff0c;并且已经被纳入官方 github&#xff0c;为什么有 Vuex 了还要再开发一个 Pinia &#xff1f; 先来一张图&#xff0c;看下当时对于…

机器学习之客户违约预测模型搭建之案例实战

1. 决策数模型搭建 1.1 数据预处理 客户违约预测模型的目的是通过已有的客户信息和违约表现来搭建合适的模型&#xff0c;从而预测之后的客户是否会违约。首先通过pandas库读取数据相关知识读取客户的证信数据以及其交易表现&#xff0c;即是否违约记录&#xff0c;代码如下&…

RK3568平台开发系列讲解(pinctrl篇)什么是 pinctrl子系统

🚀返回专栏总目录 文章目录 一、pinctrl 设备树二、pinctrl 驱动沉淀、分享、成长,让自己和他人都能有所收获!😄 Linux 中的 pinctrl 子系统(Pin Control Subsystem) 是一个用于管理和配置通用输入/输出(GPIO) 引脚的框架。 它提供了一种标准化的方法, 以在 Linux 内…

JAVA实战开源项目:森林火灾预警系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 系统基础模块2.3 烟雾传感器模块2.4 温度传感器模块2.5 历史记录模块2.6 园区数据模块 三、系统设计3.1 用例设计3.1.1 森林园区基础系统用例设计3.1.2 森林预警数据用例设计 3.2 数据库设计3.2.1 烟雾…

Halcon图像预处理、阈值分割

1、blob&#xff08;Binary Large Object&#xff09;是指二值图像中连通区域。 预处理通常包括一系列步骤&#xff0c;例如去噪、形态学操作、特征提取等。 read_image(Image,claudia) get_image_size(Image,Width,Height) dev_open_window_fit_size (0, 0, Width, Width, -1,…

java学习之路-程序逻辑控制

目录 1.分支结构 1.1 if语句 栗子 判断奇数还是偶数 判断一个年份是否为闰年 1.2switch语句 栗子 2. 循环结构 2.1while 循环 栗子 2.2break和continue break continue 2.3for循环 基本语法 栗子 2.4 do while 循环 3.输入输出 3.1输出 3.2从键盘输入 栗子…

Webapi(.net6) 批量服务注册

如果不考虑第三方库&#xff0c;如Autofac这种进行服务注入&#xff0c;通过本身的.Core Weabpi实现的&#xff0c;总结了两种实现方法&#xff0c; 1.一种是参考abp框架里面的形式; 1.1 新建个生命周期的文件夹: 三个接口分别为: public interface IScopedDependency { }pu…