Invalid constraint attribute name for addCrossPa​rameterCon​straint

8 views (last 30 days)
I am building a Simulink mask programatically and came across an issue while trying to add a cross-parameter constraint with maskObj.addCrossParameterConstraint. It requires a constraint name and a rule (error message is optional). However, 'Rule' comes up as an invalid constraint attribute name. Anyone else come across this or know what the attribute name should be?
**My script:
blockMask.addCrossParameterConstraint('Name','UniquePortNames',...
'Rule','strcmpi(PortName_1,PortName_2)==0',...
'ErrorMessage','Some ports are not accounted for.');
**Result in command line:
Invalid constraint attribute name, 'Rule'.

Answers (1)

MJ Canavate Sanchez
MJ Canavate Sanchez on 19 Mar 2021
Hi Rachel, try setting the property name to 'MATLABexpression' rather than 'Rule':
CrossConstraint = maskHandle.addCrossParameterConstraint('Name','constraint1',...
'MATLABexpression','mod(parameter1,parameter2) == 0','ErrorMessage','Invalid parameter')

Categories

Find more on Author Block Masks in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!