How to create a command that takes entity list as input?

Hi @xsj617603321,

you could take a look at this post from @karl.

I personally didn’t accomplish a command syntax that can use the extended selection from cubit with the sdk yet. If you want a command syntax that obtains a list of entities, you could also use keywords and the value type, it could look like this

std::vector<std::string> ccxResultConvertJobCommand::get_syntax()
{
  std::vector<std::string> syntax_list;

  std::string syntax = "ccx ";
  syntax.append("result convert job <value:label='job_id',help='<job_id>'> [partial] ");
  syntax.append("[block <value:label='block_ids',help='<block_ids>'>...] " );
  syntax.append("[nodeset <value:label='nodeset_ids',help='<nodeset_ids>'>...] " );
  syntax.append("[sideset <value:label='sideset_ids',help='<sideset_ids>'>...] " );
  syntax_list.push_back(syntax);
  
  return syntax_list;
}

in the execute you could query the values like this

std::vector<int> block_ids;
if (data.find_keyword("BLOCK")){
  data.get_values("block_ids", block_ids);
}

for more examples you could take a look at the commands in my opensource calculix component.