Error when a figure is saved in DXF format

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Error when a figure is saved in DXF format

Octave - General mailing list

Dear All,

During the execution of an Octave script it appears the error:
"error: gl2ps_renderer::draw: internal pipe error"

After its execution the following error is displayed:

>> error: parse error
error: called from
    __opengl_print__ at line 193 column 7
    print at line 710 column 16
    SplInt at line 1184 column 4


I found: C:\Octave\Octave-5.1.0.0\mingw32\share\octave\5.1.0\m\plot\util\private\__opengl_print__.m

The code sequence in __opengl_print__.m where Octave crashes (line 193) is:

180
181  opts.pipeline = pipeline;
182
183  for n = 1:numel (pipeline)
184    if (opts.debug)
185      fprintf ("opengl-pipeline: '%s'\n", pipeline{n});
186    endif
187
188    if (strcmp (get (opts.figure, "visible"), "on")
189        || (strcmp (get (opts.figure, "__graphics_toolkit__"), "qt")
190            && (strcmp (get (opts.figure, "__gl_window__"), "on")
191                || __have_feature__ ("QT_OFFSCREEN"))))
192      ## Use toolkits "print_figure" method
193      drawnow (gl2ps_device{n}, ['|' pipeline{n}]);
194    else
195      error ("print: figure must be visible or qt toolkit must be used with __gl_window__ property 'on' or QT_OFFSCREEN feature available");
196    endif
197  endfor
198

The sequence in my code is:

1182   %
1183   disp(strcat("Stage: print the diagram(s) in the following dxf file: ",dxf_filename));
1184   print(fig,"dxf",dxf_filename);
1185   pause(2);
1186   %

If I replace print with

1184   saveas (fig, dxf_filename, "dxf");

it results the same error!


I use 32-bit GNU Octave
>> version
ans = 5.1.0

under

Windows 10 Pro
...
64-bit Operating System, x64-based processor

Any suggestion is highly appreciated.

Thank you,

Emil




Reply | Threaded
Open this post in threaded view
|

Re: Error when a figure is saved in DXF format

PhilipNienhuis
help-octave-3 wrote

> Dear All,
>
> During the execution of an Octave script it appears the error:
> "error: gl2ps_renderer::draw: internal pipe error"
>
> After its execution the following error is displayed:
>
>>> error: parse error
> error: called from
>     __opengl_print__ at line 193 column 7
>     print at line 710 column 16
>     SplInt at line 1184 column 4
>
>
> I found:
> C:\Octave\Octave-5.1.0.0\mingw32\share\octave\5.1.0\m\plot\util\private\__opengl_print__.m
>
> The code sequence in __opengl_print__.m where Octave crashes (line 193)
> is:
>
> 180
> 181  opts.pipeline = pipeline;
> 182
> 183  for n = 1:numel (pipeline)
> 184    if (opts.debug)
> 185      fprintf ("opengl-pipeline: '%s'\n", pipeline{n});
> 186    endif
> 187
> 188    if (strcmp (get (opts.figure, "visible"), "on")
> 189        || (strcmp (get (opts.figure, "__graphics_toolkit__"), "qt")
> 190            && (strcmp (get (opts.figure, "__gl_window__"), "on")
> 191                || __have_feature__ ("QT_OFFSCREEN"))))
> 192      ## Use toolkits "print_figure" method
> 193      drawnow (gl2ps_device{n}, ['|' pipeline{n}]);
> 194    else
> 195      error ("print: figure must be visible or qt toolkit must be used
> with __gl_window__ property 'on' or QT_OFFSCREEN feature available");
> 196    endif
> 197  endfor
> 198
>
> The sequence in my code is:
>
> 1182   %
> 1183   disp(strcat("Stage: print the diagram(s) in the following dxf file:
> ",dxf_filename));
> 1184   print(fig,"dxf",dxf_filename);
> 1185   pause(2);
> 1186   %
>
> If I replace print with
> 1184   saveas (fig, dxf_filename, "dxf");
>
> it results the same error!
>
>
> I use 32-bit GNU Octave
>>> version
> ans = 5.1.0
>
> under
>
> Windows 10 Pro
> ...
> 64-bit Operating System, x64-based processor
>
> Any suggestion is highly appreciated.

If I try the following with Octave-5.1.1 (next version to become stable
5.2.0):

plot (0:10)
print ('tst.dxf', '-ddxf')

I get:
warning: print: "dxf" format is no more officially supported

TBH, I didn't even know that DXF format was once supported.

Philip




--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html


Reply | Threaded
Open this post in threaded view
|

Re: Error when a figure is saved in DXF format

Octave - General mailing list

Dear All,

The same script run in Ubuntu under Octave version 4.2.2 has the warning:

Stage: save the diagram(s) in the following png file:/home/emil/octave-workspace/Interpolari/00099_Speed-Torque_Mech_Charact_01/00099_Speed-Torque_Mech_Charact_01_laws_2019_05_09_17_06_15.png
warning: print.m: fig2dev binary is not available.
Some output formats are not available.
warning: called from
    __print_parse_opts__ at line 388 column 9
    print at line 316 column 8
    saveas at line 105 column 3
    SplInt at line 1176 column 4

in the following sequence of my script

1174   %
1175   disp(strcat("Stage: save the diagram(s) in the following png file: ",png_filename));
1176   saveas(fig, [png_filename], "png");
1177   pause(2);
1178   %

In   /usr/share/octave/4.2.2/m/plot/util/private/__print_parse_opts__.m   the according sequence is

379
380  if (warn_on_missing_binary)
381    if (isempty (arg_st.ghostscript.binary))
382      warning ("print:missing_gs", "print.m: Ghostscript binary is not available.\nOnly eps output is available.");
383    else
384      if (isempty (arg_st.epstool_binary))
385        warning ("print:missing_epstool", "print.m: epstool binary is not available.\nSome output formats are not available.");
386      endif
387      if (isempty (arg_st.fig2dev_binary))
388        warning ("print:missing_fig2dev", "print.m: fig2dev binary is not available.\nSome output formats are not available.");
389      endif
390      if (isempty (arg_st.pstoedit_binary))
391        warning ("print:missing_pstoedit", "print.m: pstoedit binary is not available.\nSome output formats are not available.");
392      endif
393    endif
394    warn_on_missing_binary = false;
395  endif
396

The automatically generated PNG file is OK while the automatically generated DXF file cannot be used (it has only 43 lines).

There were no warnings or errors regarding the DXF format.

Thank you for the answers,

Emil




On Wednesday, May 8, 2019, 8:44:18 PM GMT+3, PhilipNienhuis <[hidden email]> wrote:


help-octave-3 wrote

> Dear All,
>
> During the execution of an Octave script it appears the error:
> "error: gl2ps_renderer::draw: internal pipe error"
>
> After its execution the following error is displayed:
>
>>> error: parse error
> error: called from
>     __opengl_print__ at line 193 column 7
>     print at line 710 column 16
>     SplInt at line 1184 column 4
>
>
> I found:
> C:\Octave\Octave-5.1.0.0\mingw32\share\octave\5.1.0\m\plot\util\private\__opengl_print__.m
>
> The code sequence in __opengl_print__.m where Octave crashes (line 193)
> is:
>
> 180
> 181  opts.pipeline = pipeline;
> 182
> 183  for n = 1:numel (pipeline)
> 184    if (opts.debug)
> 185      fprintf ("opengl-pipeline: '%s'\n", pipeline{n});
> 186    endif
> 187
> 188    if (strcmp (get (opts.figure, "visible"), "on")
> 189        || (strcmp (get (opts.figure, "__graphics_toolkit__"), "qt")
> 190            && (strcmp (get (opts.figure, "__gl_window__"), "on")
> 191                || __have_feature__ ("QT_OFFSCREEN"))))
> 192      ## Use toolkits "print_figure" method
> 193      drawnow (gl2ps_device{n}, ['|' pipeline{n}]);
> 194    else
> 195      error ("print: figure must be visible or qt toolkit must be used
> with __gl_window__ property 'on' or QT_OFFSCREEN feature available");
> 196    endif
> 197  endfor
> 198
>
> The sequence in my code is:
>
> 1182   %
> 1183   disp(strcat("Stage: print the diagram(s) in the following dxf file:
> ",dxf_filename));
> 1184   print(fig,"dxf",dxf_filename);
> 1185   pause(2);
> 1186   %
>
> If I replace print with
> 1184   saveas (fig, dxf_filename, "dxf");
>
> it results the same error!
>
>
> I use 32-bit GNU Octave
>>> version
> ans = 5.1.0
>
> under
>
> Windows 10 Pro
> ...
> 64-bit Operating System, x64-based processor
>
> Any suggestion is highly appreciated.

If I try the following with Octave-5.1.1 (next version to become stable
5.2.0):

plot (0:10)
print ('tst.dxf', '-ddxf')

I get:
warning: print: "dxf" format is no more officially supported

TBH, I didn't even know that DXF format was once supported.

Philip




--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html