首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >亲属的麻烦(范利卡://.)Dymola的路径名

亲属的麻烦(范利卡://.)Dymola的路径名
EN

Stack Overflow用户
提问于 2021-12-02 02:59:36
回答 1查看 240关注 0票数 2

史上第一次堆叠溢出柱!

我在Dymola2021x工作,我试图运行一个模型,一个同事提供给我。其中一个组件的package.mo文件正在用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
```fileName=ModelicaServices.ExternalReferences.loadResource("modelica://Master_Branch/components.../filename.mos")```
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Now, as far as I understood, what **should** happen is that "modelica://" in that path is the working directory, so that the recources can be found no matter where I place the project folder. However, what **does** happen is the following:

When I try to simulate the component, I get messages during translation that all the files referenced with "modelica://..." can't be found. I get errors like the following:

```javascript

无法打开文件"C:/Program /Dymola 2021x/Modelica/Master_Branch/modelica:/Master_Branch/.../filename.mos“,以便读取:

无效参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Now _I think_ what happens is that the program does not recognise that modelica:// is supposed to be the working directory, and instead tries to find the directory modelica:// INSIDE the working directory.

My colleague does not get this error. We are both not super well-versed in Dymola, and so I was wondering if there is something basic that I might be missing? For reference, the libraries that I am using are:

```javascript

MSL3.2.3

ModelicaServices 3.2.3

AixLib 0.10.7

BuildingSystems 2.0.0-Beta

Modelica_Synchronous 0.92.2

NCDataReader2 2.5

SDF 0.41

Modelica_DeviceDrivers 1.7.0

ExternData 2.5.0

代码语言:javascript
代码运行次数:0
运行
复制

我试过查看https://specification.modelica.org/v3.4/Ch13.html上的modelica文档(13.2.3外部资源),但并没有从中获得多少信息,以及https://doc.modelica.org/om/Modelica.Utilities.Files.loadResource.html上的load.Resource()命令的文档

欢迎任何帮助或建议!干杯,谢谢,泰斯

EN

回答 1

Stack Overflow用户

发布于 2021-12-03 00:22:33

函数ModelicaServices.ExternalReferences.loadResource()不返回工作目录的路径。它有着不同的用途--见下文。如果加载的库列表是正确的,它将无法工作,因为您必须引用已加载的类。

引用的错误信息似乎很奇怪。但如果没有一个不完整的例子,就很难在这一具体案例中提供帮助。不过,我会尽量提供一些可能有帮助的一般资料。

获取工作目录

要获取当前工作目录,请使用以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Modelica.Utilities.System.getWorkDirectory();
 = "C:/tmp/dymola"

loadResource()的用法

loadResource()允许您检索存储在硬盘上的modelica库中的资源(非模型文件)的绝对文件路径。典型用法是引用图像、脚本或数据集。

例如,您可以通过以下调用在硬盘上获取Modelica库的位置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import Modelica.Utilities.Files.loadResource;
loadResource("modelica://Modelica/");
 = "C:/Program Files/Dymola 2022x/Modelica/Library/Modelica 4.0.0/"

这会将绝对文件路径返回到存储当前加载的Modelica库的目录。现在,您可以扩展此调用以引用资源:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
loadResource("modelica://Modelica/Resources/Scripts/Dymola/Mechanics/Rotational/CoupledClutches.mos")
= "C:/Program Files/Dymola 2022x/Modelica/Library/Modelica 4.0.0/Resources/Scripts/Dymola/Mechanics/Rotational/CoupledClutches.mos"

因此,传递给loadResource的参数可以分解如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[modelica-uri][top-level-package]/[relative-file-path]

通过以下方式:

  • [modelica-uri]:modelica://
  • [package]:当前加载的package
  • /:的绝对类路径斜杠是至关重要的。来自modelica规范:在包名之后包含斜杠的任何Modelica方案URI都被解释为对资源

的引用。

  • [relative-file-path]:路径到文件,相对于package

的位置

请记住这一点:

引用的类必须是loaded

  • loadResource()不检查的,如果引用的文件存在

  • 使用正斜杠,也可以在Windows

  • 上引用没有资源的库,不要忘记尾随斜杠。loadResource("modelica://Modelica/")

  • this不工作:loadResource("modelica://Modelica")

ModelicaServices对Modelica.Utilities

ModelicaServices.ExternalReferences.loadResource()等同于Modelica.Utilities.Files.loadResource(),但我建议使用后者。用户可以看到Modelica库。ModelicaSerivces也是由Dymola在启动时自动加载的,但是它隐藏在包浏览器中。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70198203

复制
相关文章
已知三角形边长,求三角形面积
利用海伦公式求面积: 1.编写三角形类 package com.sanj.bean; import com.sanj.exception.NotSanjiaoException; import java.math.BigDecimal; public class Sanj { private int x; private int y; private int z; public Sanj() { } public Sanj(int
Twcat_tree
2022/11/30
5120
已知三角形边长,求三角形面积
进阶渲染系列(二)——曲面细分(细分三角形)
本教程介绍如何向自定义着色器添加对曲面细分的支持。它以“平面和线框着色 ”教程为基础。
放牛的星星
2020/07/10
4.7K0
进阶渲染系列(二)——曲面细分(细分三角形)
即将开源STD:用于3D位置识别的稳定三角形描述子
文章:STD: Stable Triangle Descriptor for 3D place recognition
点云PCL博主
2022/12/27
1.8K0
即将开源STD:用于3D位置识别的稳定三角形描述子
计算三角形的面积
3.1首先,需要知道三角形是如何根据三边的长度计算面积的。在这里,就需要知道海伦公式。
算法与编程之美
2022/02/17
4690
在编程中发现数学之美——使用python和Processing绘制几何图形
在几何课上,你学的所有东西都是关于空间里的形状和尺寸。一般来说你先学习一维的直线,然后学习二维的圆、正方形或三角形,然后学习三维的物体如立方体和球体。当今时代,利用很多先进的技术和免费的软件可以很容易地创建几何图形,但是要处理和改变你的图形,可能就有点挑战性了。
fanzhh
2020/04/24
6.5K0
在编程中发现数学之美——使用python和Processing绘制几何图形
【GAMES101-现代计算机图形学课程笔记】Lecture 05 Rasterization 1 (Triangles)
的立方体内,那么下一步所要做的事情(把立方体画在屏幕上,即光栅化)就是这一节所要介绍的。
marsggbo
2020/06/12
1.1K0
计算三角形面积_三角形怎么算平方
处女座的签到题 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld
全栈程序员站长
2022/09/20
7690
计算三角形面积_三角形怎么算平方
计算三角形的周长和面积
根据输入的三个数判断是否能组成一个三角形,如果可以就进行下一步的面积和周长的计算,周长就采用三条边相加,求面积就采用海伦公式去求,这样可以避免用一般的公式造成繁琐。
算法与编程之美
2022/02/17
5120
计算三角形面积
/* 功能:计算三角形面积 日期:2013-06-08 */ #include<stdio.h> #include<stdlib.h> #include<math.h> double countAreaOfTtriangle (double a,double b,double c); int main(void) { double a,b,c,area; printf("请输入三角形三条边的边长:"); scanf("%lf%lf%lf",&a,&b,&c); area = c
WindCoder
2018/09/20
5790
Python升级之路(五) 函数
第一章 Python 入门 第二章 Python基本概念 第三章 序列 第四章 控制语句 第五章 函数
时间静止不是简史
2022/06/02
5580
Python升级之路(五) 函数
三角形面积的计算公式小学_正三角形面积公式
1、三角形面积=1/2*底*高(三边都可做底) 2、三角形面积=1/2absinC=1/2acsinB=1/2bcsinA 3、三角形面积=abc/4R(其中R是三角形外接圆半径) 你看看理解一下,其中1是比较常用的。4、 三角形面积S=√x*(x-a)*(x-b)*(x-c) 其中"√"是大根号,"x"为三角形周长的一半,a,b,c为边长 三角形的面积的平方=p(p-a)(p-b)(p-c) p=1/2(a+b+c) Jetbrains全家桶1年46,售后保障稳定 版权声明:本文内容由
全栈程序员站长
2022/11/16
1K0
【GAMES101-现代计算机图形学课程笔记】Lecture 09 Shading 3 (纹理映射)
这里补充一下上一节遗漏的一丢丢知识点,见下图。左边是渲染后的平面图,右边是对应的纹理。另外无论纹理平面原始有多大,最后都会被映射在
marsggbo
2020/06/12
2.3K0
C++编程之美-数学之趣(代码清单4-1)
代码清单4-1 struct point { double x, y; }; double Area(point A, point B, point C) { // 边长 double a, b, c = 0; // 计算出三角形边长,分别为a、b、c Computer(A, B, C, a, b, c) Double p = (a + b + c) / 2; return sqrt((p - a) * (p - b) * (p
cwl_java
2022/11/30
1250
图形学入门(二):光栅化
光栅化(Rasterize)就是将一些矢量形状转换为位图(Raster Image)形式。经过这样的变换后,这些形状才可以在屏幕上进行显示,也可以被打印机打印出来。
zhiruili
2021/08/10
4.2K0
图形学入门(二):光栅化
使用python程序计算三角形的周长
针对用python计算三角形周长的问题,提出用int()和input()的方法,通过python实验,证明该方法是有效的,本实验只限于三角形存在的情况,若三角形不存在,无法进行判断,未来可以增加一个三角形是否成立的验证,使实验过程更加完善。
算法与编程之美
2023/08/22
2260
使用python程序计算三角形的周长
Python升级之路( Lv5 ) 函数
第一章 Python 入门 第二章 Python基本概念 第三章 序列 第四章 控制语句 第五章 函数
时间静止不是简史
2022/12/02
1.2K0
Python升级之路( Lv5 ) 函数
Python 分形算法__代码里开出来的数学之花
分形几何是几何数学中的一个分支,也称大自然几何学,由著名数学家本华曼德勃罗( 法语:BenoitB.Mandelbrot)在 1975 年构思和发展出来的一种新的几何学。
一枚大果壳
2022/08/23
1.3K0
Python 分形算法__代码里开出来的数学之花
进阶渲染系列(一)——平坦和线框着色(导数和几何体)
本教程介绍如何添加对平面着色的支持以及如何显示网格的线框。它使用了高级渲染技术,并假定您熟悉“渲染”系列中介绍的材质。
放牛的星星
2020/07/10
2.5K0
进阶渲染系列(一)——平坦和线框着色(导数和几何体)
密铺平面:基于2,φ,ψ,χ,ρ 的12个新的代入镶嵌
本文所涉及的新功能即将在Wolfram语言第12版中发布。可复制的输入表达式和可下载的笔记本将在新版本发布后为您提供。
WolframChina
2019/04/30
1.6K0
密铺平面:基于2,φ,ψ,χ,ρ 的12个新的代入镶嵌
点击加载更多

相似问题

三角形的边长有效吗?

16

三角形顶点- Lua计算?

11

OpenGL:指定三角形的意外顶点位置

12

球面三角形边长

17

计算三角形内的位置

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文