Getting array size error when using plotIGESentity?

I'm using the function plotIGESentity from IGES toolbox as follow.
for i=1:length(ParameterData);
plotIGESentity(ParameterData,i);
view(60,42)
grid on
end
It used to work fine before I compile the C files and run the makeIGESmex. but now when i run it with the same IGES file I get the following error!!!
Error using nrbSrfRegularEvalIGES
Requested 12884903802x480 (23040.0GB) array exceeds maximum array size preference. Creation of arrays greater than
this limit may take a long time
and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.
Error in retSrfCrvPnt (line 54)
[P,UV,TRI]=nrbSrfRegularEvalIGES(ParameterData{ind}.nurbs,ParameterData{ind}.u(1),ParameterData{ind}.u(2),nu,ParameterD
ata{ind}.v(1),ParameterData{ind}.v(2),nv);
Error in plotIGESentity (line 137)
[P,isSCP,isSup,TRI]=retSrfCrvPnt(1,ParameterData,0,i,subd);
And when i run the code one another PC it works fine !!!
Any help is appreciated

 Respuesta aceptada

Is the parameter data being extracted from the command line? If so then remember that for compiled executables the command line information is always received as strings.
Interactive MATLAB:
plot4me(1, 2,3)
plot4me receives numeric 1, 2, and 3
Compiled, command line:
plot4me 1, 2,3
plot4me receives '1,' and '2,3'

10 comentarios

Faez Alkadi
Faez Alkadi el 19 de Sept. de 2017
Editada: Faez Alkadi el 19 de Sept. de 2017
what do you mean by "parameter data being extracted from the command line "?
It is extracted from iges2matlab function
Thanks
How is the user expected to invoke the executable? Are they clicking on an icon? Or are they going to a Windows shell and typing in the name of the executable and typing something after the name to indicate what specific work they want done?
Faez Alkadi
Faez Alkadi el 20 de Sept. de 2017
Editada: Faez Alkadi el 20 de Sept. de 2017
Load parameter data from IGES-file as follow in the editor window:
[ParameterData,EntityType,numEntityType,unknownEntityType,numunknownEnti
tyType]=iges2matlab('File Name.IGS');
And then and then after i get the ParameterData I plot IJES part as follow in the editor window too:
for i=1:length(ParameterData);
hold on
plotIGESentity(ParameterData,i);
view(60,42)
grid on
end
This code used to work find before I compile c-files. and still works fine on other PC which is not compiled.
I do not know. You will need to put in debugging statements. I would especially suggest testing class(ParameterData)
Faez Alkadi
Faez Alkadi el 20 de Sept. de 2017
Do you know how to de-activate the compiler ?
? Just don't compile the code?
If you mean something like how to selectively have some parts compiled but some parts interpreted, then that cannot be done with MATLAB Compiler. There are some potential workaround involving using the automation interface to talk to an interactive MATLAB if you are using Windows
Faez Alkadi
Faez Alkadi el 21 de Sept. de 2017
Editada: Faez Alkadi el 21 de Sept. de 2017
Walter,
Thanks for the explanation:
The thing is I used to run the code normally until I downloaded Microsoft Windows SDK 7.1 (C) and then I ran makeIGESmex !!!
Since then the code is always giving me the error !!!
I tried to close both the code and Matlab and open them again and run the code with out running the makeIGESmex first.
But I still have the error.
Thank you
You will need to put in debugging statements. I would especially suggest testing class(ParameterData)
Faez Alkadi
Faez Alkadi el 22 de Sept. de 2017
sorry,
I'm a beginner Matlab user and don't know how to put in debugging statements.
can you help with that ?
Thanks
Put in fprintf() or disp() statements or msgbox() calls.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Manage Products en Centro de ayuda y File Exchange.

Preguntada:

el 19 de Sept. de 2017

Comentada:

el 22 de Sept. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by