CN116257715A - 一种Modelica模型在web环境的属性渲染方法 - Google Patents
一种Modelica模型在web环境的属性渲染方法 Download PDFInfo
- Publication number
- CN116257715A CN116257715A CN202310100018.8A CN202310100018A CN116257715A CN 116257715 A CN116257715 A CN 116257715A CN 202310100018 A CN202310100018 A CN 202310100018A CN 116257715 A CN116257715 A CN 116257715A
- Authority
- CN
- China
- Prior art keywords
- attribute
- rendering
- graphic
- model
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Abstract
本发明公开了一种Modelica模型在web环境的属性渲染方法,包括以下步骤:以Modelica语言为规范,采用Json数据格式描述Modelica模型中的物理属性和前端属性;其中物理属性包括:参数属性和变量属性;前端属性为界面属性;利用经过Json描述后的界面属性对Modelica模型中的前端属性进行渲染;利用经过Json描述后的参数属性和变量属性,对Modelica模型中的参数和变量进行渲染。本发明有益效果是:实现了Modelica模型属性的在线渲染。
Description
技术领域
本发明涉及软件工程领域,尤其涉及一种Modelica模型在web环境的属性渲染方法。
背景技术
Modelica模型是具有特定物理拓扑结构的模型,包含物理属性和前端属性,物理属性一般不可见,通常使用参数和变量表示。前端属性一般可见,通常是指界面,用图形来表示。
传统的Modelica模型属性渲染解决方案是通过xml文本来实现的,但是其存在几个比较突出的问题,即数据大传输慢、读取不方便、不易扩展、模型渲染慢。
发明内容
为了解决传统Modelica模型存在的问题,本申请提供一种Modelica模型在web环境的属性渲染方法,采用轻量的数据交换格式可以从根本上解决Modelica模型属性在浏览器环境中显示的问题。
本发明提供的一种Modelica模型在web环境的属性渲染方法,包括以下步骤:
S1、以Modelica语言为规范,采用Json数据格式描述Modelica模型中的物理属性和前端属性;其中物理属性包括:参数属性和变量属性;前端属性为界面属性;
S2、利用经过Json描述后的界面属性对Modelica模型中的前端属性进行渲染;
S3、利用经过Json描述后的参数属性和变量属性,对Modelica模型中的参数和变量进行渲染。
本发明提供的有益效果是:使用轻量的JSON数据传输格式,实现了一套描述Modelica模型的JSON-Attribute数据表达协议,基于此协议,可以在http、websocket网络协议上面远程传输,作为Modelica模型属性的数据交换格式,从而实现Modelica模型属性在线渲染的目的。
附图说明
图1是本发明方法流程示意图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
请参考图1,图1是本发明系统结构图。本发明提供了一种Modelica模型在web环境的属性渲染方法,包括以下步骤:
S1、以Modelica语言为规范,采用Json数据格式描述Modelica模型中的物理属性和前端属性;其中物理属性包括:参数属性和变量属性;前端属性为界面属性;
需要说明的是,JSON-Attribute是一个适用于远程传输的、可描述Modelica图形信息的轻量级协议。
本申请以Modelica语言为规范,协议内容由Json进行描述,定义了一些数据结构及其相关处理规则,允许运行在基于socket,http等诸多不同消息传输环境的同一进程中。
具体的说,本申请将Modelica进行描述,具体结构如下:
参考表1,表1是对Modelica模型中前端属性(界面属性)的描述。
所述界面属性中的描述字段包括:形状类型、图形原点坐标、图形坐标、图形样式、文本/图片和图形描述。所述图形描述包括:是否可见、是否继承和是否可编辑;所述图形样式包括:旋转角度、线条颜色、填充样式、填充颜色、线条样式、填充模式、线条宽度、边框模式、拐角半径、箭头样式。
表1界面属性描述
参考表2,表2是对Modelica模型中参数属性进行描述,参数属性描述模型中不可变化的结构信息。
表2参数属性描述
参数名 | 参数描述 | 参数类型 | 备注 |
ident | 组件简名 | Ident | |
typeName | 组件类型名 | String | |
extent | 组件大小 | Array<Array<Number>> | [[left,bottom],[right,top]] |
origin | 原点坐标 | Object | [x,y] |
rotation | 旋转角度 | Number | 90 |
ports | 端口 | Array<Component> | [{…}] |
icon | 图形信息 | Graph | [{…}] |
coordSysExtent | 坐标映射大小 | Array<Array<Number>> | [[left,bottom],[right,top]] |
editable | 是否可编辑 | Boolean | False |
connectable | 是否可连接 | Boolean | False |
visible | 是否可见 | Boolean | False |
inherited | 是否继承 | Boolean | False |
请参考表3,表3是对Modelica模型中变量属性进行描述。
变量属性描述模型中可变化的结构信息,包含线的两个端点和线的图形信息。
表3变量属性描述
参数名 | 参数描述 | 参数类型 | 备注 |
port1 | 端点1变量名 | String | 组件简名.端口名 |
port2 | 端点2变量名 | String | 组件简名.端口名 |
line | 连线图形 | Graph |
S2、利用经过Json描述后的界面属性对Modelica模型中的前端属性进行渲染;
需要说明的是,基于JSON-Attribute协议,和前述生成图形的JSON数据结构,利用AST语法原理进行解析,遍历数据结构。
具体的,对前端属性进行渲染的过程如下:
S21、读取界面属性描述字段中的形状类型字段,采用图形文件格式svg中的形状标签元素对图形形状进行绘制;
具体的,首先读取图形形状shapeType字段,使用svg中的rect(矩形)、ellipse(椭圆)、path(线)、polygon(多边形)、polyline(多线段)、line(线段)形状标签元素进行绘制。
S22、读取界面属性描述字段中的图形坐标字段,设置图形位置几何信息;
具体的,读取图形坐标信息,当读取到origin(起点)、points(坐标点个数)、extend(延长线)相关key(键值),开始设置图形位置几何信息。
S23、读取界面属性描述字段中的图形样式字段,根据图形样式采用JavaScript的setAttribute方法设置相应样式;
具体的,读取图形样式属性信息,当读取到rotation(旋转角度)、lineColor(线条颜色)、fillColor(填充颜色)、linePattern(线条样式)、fillPattern(填充模式)、lineThickness(线条宽度)、borderPattern(边框模式)、radius(拐角半径)相关key,使用JavaScript的setAttribute方法设置样式;
S24、读取界面属性描述字段中的图形描述字段,根据图像描述字段对应的信息,采用图形文件格式svg中text标签绘制文本信息,完成前端属性的渲染。
具体的,当读取到description(图形描述)相关key,使用svg中text标签进行绘制文本信息,至此即完成图形的渲染。
S3、利用经过Json描述后的参数属性和变量属性,对Modelica模型中的参数和变量进行渲染。
需要说明的是,参数的结构分为基本类型和复杂类型;基本类型由信息、图形和端口组成,参见表2;复杂类型由基本类型嵌套组合形成;
下文主要介绍基本类型的参数渲染方法,复杂类型的同理。
步骤S3中,对Modelica模型中的参数进行渲染的具体过程如下:
S31、读取参数属性描述字段中的组件简名、参数描述,并采用图形文件格式svg中的text标签将组件简名和参数描述中的文本内容进行填充;
具体的,依次遍历JSON数据结构,当读取到ident(组件简名)、(参数描述)description、相关key的时候,停止遍历,使用svg中的text标签元素进行绘制,将文本内容填充进去即可完成模型描述信息的渲染。
S32、读取参数属性描述字段中的图形信息、图形的绘图信息,采用JavaScript的setAttribute方法设置相应信息;
具体的,继续遍历数据结构,当读取到icon(图形信息)、diagram(图形的绘图信息)、相关key的时候,停止遍历,然后参照图形渲染的方法绘制图形即可完成模型图形的渲染。
S33、读取参数属性描述字段中端口信息,采用图形文件格式svg中text标签绘制端口信息。
具体的,继续遍历数据结构,当读取到port(端口)、visible(是否可见)相关key的时候,停止遍历,然后参照图形渲染的方法绘制即可完成模型端口的渲染,遍历结束,完成参数的渲染。
步骤S3中,对Modelica模型中的变量进行渲染的具体过程为:为变量属性描述字段中的第一端点变量名和第二端点变量名设置对应的组件简名进行标识,使端口可被识别为组件;采用图形文件格式svg中的text标签将组件简名中的文本内容进行填充,完成变量的渲染。
作为一种实施例,本申请中渲染的部分核心代码如下:
第一段代码表示Modelica模型的属性,第二段代码是解析Modelica模型,并提取其中的属性结构代码,重新包装转化为JSON字符串。
综合来看,本发明的有益效果是:使用轻量的JSON数据传输格式,实现了一套描述Modelica模型的JSON-Attribute数据表达协议,基于此协议,可以在http、websocket网络协议上面远程传输,作为Modelica模型属性的数据交换格式,从而实现Modelica模型属性在线渲染的目的。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种Modelica模型在web环境的属性渲染方法,其特征在于:包括以下步骤:
S1、以Modelica语言为规范,采用Json数据格式描述Modelica模型中的物理属性和前端属性;其中物理属性包括:参数属性和变量属性;前端属性为界面属性;
S2、利用经过Json描述后的界面属性对Modelica模型中的前端属性进行渲染;
S3、利用经过Json描述后的参数属性和变量属性,对Modelica模型中的参数和变量进行渲染。
2.如权利要求1所述的一种Modelica模型在web环境的属性渲染方法,其特征在于:所述界面属性中的描述字段包括:形状类型、图形原点坐标、图形坐标、图形样式、文本/图片和图形描述。
3.如权利要求2所述的一种Modelica模型在web环境的属性渲染方法,其特征在于:所述图形描述包括:是否可见、是否继承和是否可编辑;所述图形样式包括:旋转角度、线条颜色、填充样式、填充颜色、线条样式、填充模式、线条宽度、边框模式、拐角半径、箭头样式。
4.如权利要求1所述的一种Modelica模型在web环境的属性渲染方法,其特征在于:所述参数属性中的描述字段包括:组件简名、组件类型名、组件大小、图形信息、图形的绘图信息、端口和参数描述;
所述图形的绘图信息包括:原点坐标、旋转角度、坐标映射大小;
所述参数描述包括:是否可编辑、是否可连接、是否可见和是否继承。
5.如权利要求1所述的一种Modelica模型在web环境的属性渲染方法,其特征在于:所述变量属性中的描述字段包括:第一端点变量名、第二端点变量名和连线图形。
6.如权利要求3所述的一种Modelica模型在web环境的属性渲染方法,其特征在于:步骤S2中进行前端属性渲染的具体过程如下:
S21、读取界面属性描述字段中的形状类型字段,采用图形文件格式svg中的形状标签元素对图形形状进行绘制;
S22、读取界面属性描述字段中的图形坐标字段,设置图形位置几何信息;
S23、读取界面属性描述字段中的图形样式字段,根据图形样式采用JavaScript的setAttribute方法设置相应样式;
S24、读取界面属性描述字段中的图形描述字段,根据图像描述字段对应的信息,采用图形文件格式svg中text标签绘制文本信息,完成前端属性的渲染。
7.如权利要求4所述的一种Modelica模型在web环境的属性渲染方法,其特征在于:步骤S3中,对Modelica模型中的参数进行渲染的具体过程如下:
S31、读取参数属性描述字段中的组件简名、参数描述,并采用图形文件格式svg中的text标签将组件简名和参数描述中的文本内容进行填充;
S32、读取参数属性描述字段中的图形信息、图形的绘图信息,采用JavaScript的setAttribute方法设置相应信息;
S33、读取参数属性描述字段中端口信息,采用图形文件格式svg中text标签绘制端口信息。
8.如权利要求5所述的一种一种Modelica模型在web环境的属性渲染方法,其特征在于:步骤S3中,对Modelica模型中的变量进行渲染的具体过程为:为变量属性描述字段中的第一端点变量名和第二端点变量名设置对应的组件简名进行标识,使端口可被识别为组件;采用图形文件格式svg中的text标签将组件简名中的文本内容进行填充,完成变量的渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310100018.8A CN116257715A (zh) | 2023-02-07 | 2023-02-07 | 一种Modelica模型在web环境的属性渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310100018.8A CN116257715A (zh) | 2023-02-07 | 2023-02-07 | 一种Modelica模型在web环境的属性渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257715A true CN116257715A (zh) | 2023-06-13 |
Family
ID=86687442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310100018.8A Pending CN116257715A (zh) | 2023-02-07 | 2023-02-07 | 一种Modelica模型在web环境的属性渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257715A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991531A (zh) * | 2023-09-27 | 2023-11-03 | 中汽数据(天津)有限公司 | 一种云端渲染方法、装置、设备及介质 |
CN117313429A (zh) * | 2023-11-28 | 2023-12-29 | 南京亚信软件有限公司 | SVG和Modelica结合的模型仿真结果显示方法 |
-
2023
- 2023-02-07 CN CN202310100018.8A patent/CN116257715A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991531A (zh) * | 2023-09-27 | 2023-11-03 | 中汽数据(天津)有限公司 | 一种云端渲染方法、装置、设备及介质 |
CN117313429A (zh) * | 2023-11-28 | 2023-12-29 | 南京亚信软件有限公司 | SVG和Modelica结合的模型仿真结果显示方法 |
CN117313429B (zh) * | 2023-11-28 | 2024-02-23 | 南京亚信软件有限公司 | SVG和Modelica结合的模型仿真结果显示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116257715A (zh) | 一种Modelica模型在web环境的属性渲染方法 | |
CN102915375B (zh) | 一种基于布局分区的网页加载方法 | |
CN104216691B (zh) | 一种创建应用的方法及装置 | |
Bostock et al. | Protovis: A graphical toolkit for visualization | |
CN106484408A (zh) | 一种基于html5的节点关系图显示方法及系统 | |
CN105278946B (zh) | 一种RESTful API可视化方法 | |
CN107423322B (zh) | 网页页面的标签嵌套层级的显示方法和装置 | |
CN106354786A (zh) | 一种可视分析方法及系统 | |
CN103873277A (zh) | 一种分层的网络拓扑可视化方法及系统 | |
CN109871206B (zh) | Json树的视图化方法、装置、设备及可读存储介质 | |
CN102163340A (zh) | 计算机系统中实现三维动态几何图形数据信息标注的方法 | |
CN107391743A (zh) | 一种基于动态地图符号的移动gis可视化方法 | |
CN105303506A (zh) | 一种基于html5的数据并行处理方法及系统 | |
CN104679453A (zh) | 一种信息录入、储存及排版打印的通用系统及方法 | |
CN114443577A (zh) | 图纸处理方法、装置、设备及存储介质 | |
CN114637939A (zh) | 模型的在线渲染方法及装置 | |
CN106846431B (zh) | 一种支持多表现形式的统一Web图形绘制系统 | |
CN115439609A (zh) | 基于地图服务的三维模型渲染方法、系统、设备及介质 | |
CN107438194A (zh) | 一种智能电视ui对象绘制方法及智能电视 | |
CN112396681A (zh) | 一种动画生成方法、装置和存储介质 | |
CN116402937A (zh) | 一种基于web的复杂数据3D可视化简化开发方法 | |
CN112614218B (zh) | 一种实现二维文字转换三维文字的展示方法 | |
CN114818616A (zh) | 一种web编辑器的数据编辑分析处理方法及装置 | |
CN111768823B (zh) | 基于svg元素医学表达式编辑方法、装置、设备和介质 | |
CN114637732A (zh) | 一种dwg图纸数据的转换方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |