设置属性的组件

3视图(30天)
AstroJon
AstroJon 2021年3月23日
编辑: 艾梅汗 2021年6月18日
我有一个模型与几个嵌套级别(例如-飞船> >有效载荷组件)。我有麻烦更新属性的有效载荷组件通过命令行。组件有一个仿真软件模型我希望能够重用在其他体系结构和模型和产万博1manbetx生相同的行为。组件也有一个组件原型应用的三个属性:质量,力量和体积。我想更新的质量价值负载的特定实例化组件以我目前的模型使用“setProperty”命令。这里有一些我的代码:
%加载模型和创建对象系统作曲家的架构模型
模型= systemcomposer.loadModel ();
拱= get(模型,“架构”);
%为组件创建对象,需要更新
comp = get(拱门,“组件”);
%更新组件属性
setProperty(排版,“< profile > <刻板印象> .mass '。,“7”,“公斤”)
然而,我得到以下错误:
没有方法与匹配签名发现“setProperty”类“systemcomposer.arch.Element”。
错误在systemcomposer.arch.Component / setProperty
奇怪的是,“薪酬”是空的——一个0 x0组件。如果我使用:导出模型
systemcomposer。exportModel(<载荷组件仿真软件模型>)万博1manbetx
我得到1 x1结构,第一个元素是1×8“组件”表,其中一个是我想更新质量属性。我缺少什么?
1评论
艾梅汗
艾梅汗 2021年6月18日
编辑:艾梅汗 2021年6月18日
错误消息并不是帮助诊断问题。它会更容易,如果我们可以看到你的代码没有标记< >替换你的输入。你用的什么版本的MATLAB ?

登录置评。

接受的答案

AstroJon
AstroJon 2021年6月18日
我认为迟到总比不到好,但我们已经解决了这个问题自己几个月前。我忘记了这个问题,否则很快就会关闭它。这是原始的代码:
%加载模型和创建对象系统作曲家的架构模型
模型= systemcomposer.loadModel (激光雷达的);
拱= get(模型,“架构”);
%为组件创建对象,需要更新
comp = get(拱门,“组件”);
%加载配置文件
= systemcomposer.loadProfile(教授“Spacecraft_Architecture”);
类型= getStereotype(教授,激光雷达的);
%更新组件属性
setProperty(排版,“Spacecraft_Architecture.LiDAR.mass”,“7”,“公斤”)
问题是试图利用“薪酬”setProperty命令。这里的代码:
%加载模型和创建对象系统作曲家的架构模型
模型= systemcomposer.loadModel (激光雷达的);
拱= get(模型,“架构”);
%加载配置文件
= systemcomposer.loadProfile(教授“Spacecraft_Architecture”);
类型= getStereotype(教授,激光雷达的);
%更新组件属性
setProperty(拱,“Spacecraft_Architecture.LiDAR.mass”,“7”,“公斤”);
我们的解决方案是不同的 setProperty文档页面 作为一个例子。不确定的地方断开。
1评论
艾梅汗
艾梅汗 2021年6月18日
编辑:艾梅汗 2021年6月18日
的区别可能是,您已经定义了刻板印象而不是从头开始创建它们使用API,你只加载你的资料。getStereotype行不需要在这里。
如果你想添加你的财产来的架构模型,那么解决方案工作。需要创建一个新组件 addComponent 。发现现有的组件需要 查找

登录置评。

答案(1)

艾梅汗
艾梅汗 2021年6月18日
编辑:艾梅汗 2021年6月18日
设置属性为组件意味着一个原型的属性应用于组件。为了有一个刻板印象和概要文件定义,进入概要文件编辑器,并创建一个与属性适用于组件原型。有关更多信息,请参见 定义配置文件和刻板印象 然后, 使用原型和概要文件 。对于一个代码示例,看到的例子 setProperty 。找到一个组件模型中设置一个属性,看看 查找
这里有一个例子与现有模型:
项目启动无钥匙进入系统。
scKeylessEntrySystem
负荷模型并寻找FOB定位器系统组件。
模型= systemcomposer.loadModel (“KeylessEntryArchitecture”);
comp =查找(模型,“路径”,“KeylessEntryArchitecture / FOB定位系统”);
设置成本属性的组件。
setProperty(排版,“AutoProfile.System.Cost”,“200”,“美元”)

类别

找到更多的在系统的作曲家帮助中心文件交换

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!