+ stl += "endsolid " + name + "\n";
+ return stl;
+ },
+ go: function() {
+ // Remove any previous download links
+ var old_download_link = document.getElementById("nt3d_download");
+ if (old_download_link) {
+ old_download_link.parentNode.removeChild(old_download_link);
+ }
+
+ // Continue in a callback, so that there's not a stale download
+ // link hanging around while we process.
+ setTimeout(function(the_this) { (function() {
+
+ // Get params from form
+ var params = [];
+ for (var i = 0; i < this.user_params.length; i++) {
+ var as_string = this.form.elements["param"+i].value;
+ var as_num = +as_string;
+ params[i] = isNaN(as_num) ? as_string : as_num;
+ }
+
+ this.points = this.user_function.apply(null, params);
+
+ this.validate(this.points);
+
+ this.remove_degenerate_faces(this.points);