Skip to main content
Participating Frequently
June 28, 2013
Answered

Invalid Argument exception

  • June 28, 2013
  • 1 reply
  • 877 views

Hi,

Am trying to send commands to the Illustrator from C#. I can create a new document, draw some simple paths/objects, copy/paste things. But when I try to do anything with the Group/Page Items like changing their position or size I get "Invalid Argument exception".

There is no C# scripting reference, so I use Visual Basic one. And it worked well for simpliest things.

Please tell me what is wrong with this code:

illustrDoc.GroupItems[0].Top = 1.0;

illustrDoc.GroupItems[0].PathItems[0].Top = 1.0;

illustrDoc.Layers[0].PathItems[0].Top = 1.0;

double scale = 10.0;

illustrDoc.GroupItems[0].Resize(scale, scale, true, true, true, true, scale, Illustrator.AiTransformation.aiTransformCenter);

All the lines listed above (except "double scale = 10.0;", of course) generate the same exception. That is wierd.

All the layers/groups/items are unlocked and visible.

Thank you.

This topic has been closed for replies.
Correct answer CarlosCanto

I don't know about C#, but visual basic uses parenthesis instead of brackets, and the object arrays are 1 based...so, to access the first group, in visual basic you need to write it like this

illustrDoc.GroupItems(1).Top = 1.0;

1 reply

CarlosCanto
Community Expert
CarlosCantoCommunity ExpertCorrect answer
Community Expert
June 28, 2013

I don't know about C#, but visual basic uses parenthesis instead of brackets, and the object arrays are 1 based...so, to access the first group, in visual basic you need to write it like this

illustrDoc.GroupItems(1).Top = 1.0;

OnnelAuthor
Participating Frequently
June 29, 2013

Thank you Carlos, that helped. The array starts from 1, not from 0. This is non-standard and strange, but works.