Hello!
I've been trying to tackle the second bug in the BUGS file, namely a
crash of g-iges in count_non_union_ops(). Most probably, this happens
because of an infinite recursion, since it is not checked if tp points
to an internal node or a leaf of the tree and could be simply resolved
by using the tr_op field.
Also, there seems to be a problem with write_freeform() where a string
is split into lines, because spaces are not regarded as separators, so
if you have a space followed by a string (e. g. ' 4Test'), the length
will not be identified as a number but read together with the space
and the string as a regular field which cannot be split, which
sometimes leads to infinite loops.
After I modified the function by handling spaces the same way as
commas and semicolons, the application neither crashed nor looped
anymore, but the generated IGES file (example[1]) is not valid (I
tried opening it with gCAD3D 2.20 and FreeCAD 0.14 without success,
even though I can open the sample file on Wikipedia[2]).
I initially thought that it was not going to be hard to understand the
MGED file format as long as I have the source code of both g-iges and
iges-g, but there are some problems. For example, look at the file
below[1] on line 26, where an empty string (the third field) is not
displayed at all (which is explicitly set in iges.c, lines 2723 ->
2726), whereas iges-g (more precisely the Readname() function) can
only recognize empty strings as "0H", otherwise crashes.
I looked for some specifications of this standard but I didn't find
anything complete. I'd be especially interested in a comprehensive
reference of all the entities and their parameters. Any help would be
appreciated. Also, should I submit patches with the changes I made so
far even thought the converter still doesn't work as expected?
Thanks,
Stefan
[1] http://pastebin.com/9W9vdGCb
[2] http://en.wikipedia.org/wiki/IGES#File_format
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel