"Not enough input arguments" error using add_line()

1 view (last 30 days)
Lucas S
Lucas S on 28 Jun 2019
Commented: Lucas S on 28 Jun 2019
Hello !
I'm trying to use add_line() function and to organize link with the 'autorouting' parameter. Here is my code :
add_line(sprintf('%s',diagrammeName), [pos_array_out{pos_out};pos_array_in{pos_in}], 'autorouting','on');
where pos_array_out is a cell of Output position and pos_array_in is a cell of Input position.
And pos_in and pos_out are index of cell.
But it returns me an error :
Not enough input arguments
And i don't understnd why

Answers (1)

Stephen23
Stephen23 on 28 Jun 2019
Edited: Stephen23 on 28 Jun 2019
"...i don't understnd why"
Read the error message!
According to the add_line documentation you can supply these input arguments:
add_line(sys,out,in,'autorouting',autoOption)
but in your code you have concatenated out and in into one array. Try this:
add_line(sprintf('%s',diagrammeName),...
[pos_array_out{pos_out}],... OUT
[pos_array_in{pos_in}],... IN
'autorouting','on');
  2 Comments
Lucas S
Lucas S on 28 Jun 2019
The problem is that pos_array_out{pos_out} is a Position from get_param('System', 'PortConnectivity') (for example 150 75) and so it returns me Invalid Simulink port handle when i do like you say
Lucas S
Lucas S on 28 Jun 2019
I'm using this way of {add_line()function : h = add_line(sys,points)`

Sign in to comment.

Categories

Find more on Programmatic Model Editing 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!