diff options
-rw-r--r-- | examples/example015.scad | 4 | ||||
-rw-r--r-- | examples/example016.scad | 2 | ||||
-rw-r--r-- | import.cc | 21 |
3 files changed, 18 insertions, 9 deletions
diff --git a/examples/example015.scad b/examples/example015.scad index 21789b4..b123496 100644 --- a/examples/example015.scad +++ b/examples/example015.scad @@ -19,8 +19,8 @@ module shape() rotate(-45) scale([ 0.7, 1.3 ]) circle(5); } - import_dxf(filename = "example009.dxf", - layername = "body", convexity = 6, scale=2); + import_dxf(file = "example009.dxf", layer = "body", + convexity = 6, scale=2); } // linear_extrude(convexity = 10, center = true) diff --git a/examples/example016.scad b/examples/example016.scad index 0dfe50b..d75fafb 100644 --- a/examples/example016.scad +++ b/examples/example016.scad @@ -21,7 +21,7 @@ module blk2() { module chop() { translate([ -14, 0, 0 ]) - import_stl(filename = "example016.stl", convexity = 12); + import_stl(file = "example016.stl", convexity = 12); } difference() { @@ -61,21 +61,30 @@ AbstractNode *ImportModule::evaluate(const Context *ctx, const ModuleInstantiati QVector<QString> argnames; if (type == TYPE_DXF) { - argnames = QVector<QString>() << "filename" << "layername" << "convexity" << "origin" << "scale"; + argnames = QVector<QString>() << "file" << "layer" << "convexity" << "origin" << "scale"; } else { - argnames = QVector<QString>() << "filename" << "convexity"; + argnames = QVector<QString>() << "file" << "convexity"; } QVector<Expression*> argexpr; + // Map old argnames to new argnames for compatibility + QVector<QString> inst_argnames = inst->argnames; + for (int i=0; i<inst_argnames.size(); i++) { + if (inst_argnames[i] == "filename") + inst_argnames[i] = "file"; + if (inst_argnames[i] == "layername") + inst_argnames[i] = "layer"; + } + Context c(ctx); - c.args(argnames, argexpr, inst->argnames, inst->argvalues); + c.args(argnames, argexpr, inst_argnames, inst->argvalues); node->fn = c.lookup_variable("$fn").num; node->fs = c.lookup_variable("$fs").num; node->fa = c.lookup_variable("$fa").num; - node->filename = c.lookup_variable("filename").text; - node->layername = c.lookup_variable("layername", true).text; + node->filename = c.lookup_variable("file").text; + node->layername = c.lookup_variable("layer", true).text; node->convexity = c.lookup_variable("convexity", true).num; if (node->convexity <= 0) @@ -201,7 +210,7 @@ QString ImportNode::dump(QString indent) const struct stat st; memset(&st, 0, sizeof(struct stat)); stat(filename.toAscii().data(), &st); - text.sprintf("import_dxf(filename = \"%s\", cache = \"%x.%x\", layer = \"%s\", " + text.sprintf("import_dxf(file = \"%s\", cache = \"%x.%x\", layer = \"%s\", " "origin = [ %f %f ], scale = %f, convexity = %d, " "$fn = %f, $fa = %f, $fs = %f);\n", filename.toAscii().data(), (int)st.st_mtime, (int)st.st_size, |