Here is a quick summary of things coming to AngelCAD. This thread is for discussing already planned features as listed. If you want to propose new features, feel free to start a new thread with a suitable subject heading.
Import of DXF files
This is not a language feature, but instead an external application (dxfread) that can be used alone, or from a new File -> Import DXF .. menu item in the AngelCAD IDE. When used, it generates an AngelCAD *.as file containing a function returning a shape2d@ object that you can use with linear_extrude, rotate_extrude, sweep etc. For example, if you have a file "nice_drawing.dxf" and import it, you get a file "nice_drawing.as" containing a function with signature
shape2d@ nice_drawing_dxf();
In your main AngelCAD script you include the file
#include "nice_drawing.as"
And then call the nice_drawing_dxf() as required.
Support for script arguments
This allows some of the script variables to be defined outside the script. The variables become available via the the "args" input argument of the main_shape() function, and the script can extract the values as shown below and in the attached screenshot. If the variable is not provided by the user, a default value is specified in the script
// AngelCAD code.
#include "DXF447.as"
shape@ main_shape(as_args@ args)
{
double height = args.get_unsigned_double("height",def:1.0);
return linear_extrude(DXF447_dxf(),height);
}
Optional "post-build" export of generated files to a predefined directory
Using this option, a disk folder can be defined as the export directory for generated files, regardless of where the AngelCAD source is executed. This is a convenient feature where for example your slicer program can pick up STL files.
Processing of OpenSCAD csg files in AngelCADs xcsg engine
If you have an OpenSCAD .scad file, for example "myfile.scad", you can use OpenSCAD to generate "myfile.csg"
$ openscad --o myfile.csg myfile.scad
The above is a fast process, even for large models because no boolean operations are involved (CGAL is not involved). Given the generated .csg file, you will then be able to use it as input to AngelCADs xcsg engine and create e.g. an STL file ! :
$ xcsg --stl myfile.csg
This can be many times faster than doing it directly in OpenSCAD. Granted, there are some limitations, not all .csg commands will be supported. This includes import, surface, text and resize and some other things. But many models do not use these features, and sometimes this can be a big time saver. There is also a possibility that using this feature from the AngelCAD IDE might become possible, no decision yet.