summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-07-11 01:42:59 (GMT)
committerMarius Kintel <marius@kintel.net>2012-07-11 01:42:59 (GMT)
commit5e47342406583c694207637f2e2b5dfb52f6e807 (patch)
treeff434802fc2568f9ed01b73e3b3d4c3356775949
parent694382bba9d1645547afc3ece9920e48f8767295 (diff)
parentdeaeafea8d950814081bdf77097ac3170ce4660a (diff)
Merge branch 'master' into value
Conflicts: src/linearextrude.cc
-rw-r--r--contrib/scad-mode.el (renamed from contrib/scad.el)21
-rw-r--r--src/linearextrude.cc9
2 files changed, 23 insertions, 7 deletions
diff --git a/contrib/scad.el b/contrib/scad-mode.el
index 912b7ae..e3eee0d 100644
--- a/contrib/scad.el
+++ b/contrib/scad-mode.el
@@ -1,10 +1,11 @@
-;;; scad.el --- SCAD mode derived mode
+;;; scad-mode.el --- SCAD mode derived mode
;; Author: Len Trigg
;; Maintainer: Len Trigg <lenbok@gmail.com>
;; Created: March 2010
-;; Modified: November 2011
-;; Version: $Revision: 88 $
+;; Modified: 06 July 2012
+;; URL: https://raw.github.com/openscad/openscad/master/contrib/scad-mode.el
+;; Version: $Revision: 89 $
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -28,7 +29,7 @@
;;
;; To use, insert the following into your emacs startup:
;;
-;; (autoload 'scad-mode "scad" "Major mode for editing SCAD code." t)
+;; (autoload 'scad-mode "scad-mode" "Major mode for editing SCAD code." t)
;; (add-to-list 'auto-mode-alist '("\\.scad$" . scad-mode))
;;; To Do:
@@ -152,8 +153,14 @@
:syntax-table scad-mode-syntax-table
(set (make-local-variable 'font-lock-defaults) '(scad-font-lock-keywords))
(set (make-local-variable 'indent-line-function) 'scad-indent-line)
- ;(set (make-local-variable 'imenu-generic-expression) scad-imenu-generic-expression)
- ;(set (make-local-variable 'outline-regexp) scad-outline-regexp)
+ ;(set (make-local-variable 'imenu-generic-expression) scad-imenu-generic-expression)
+ ;(set (make-local-variable 'outline-regexp) scad-outline-regexp)
+ ;; set comment styles for scad mode
+ (set (make-local-variable 'comment-start) "//")
+ (set (make-local-variable 'comment-end) "")
+ (set (make-local-variable 'block-comment-start) "/*")
+ (set (make-local-variable 'block-comment-end) "*/")
+
)
@@ -219,4 +226,4 @@
(call-process scad-command nil 0 nil (buffer-file-name)))
(provide 'scad)
-;;; scad.el ends here
+;;; scad-mode.el ends here
diff --git a/src/linearextrude.cc b/src/linearextrude.cc
index b193181..7a006f7 100644
--- a/src/linearextrude.cc
+++ b/src/linearextrude.cc
@@ -75,6 +75,15 @@ AbstractNode *LinearExtrudeModule::evaluate(const Context *ctx, const ModuleInst
node->filename = c.getAbsolutePath(file.toString());
}
+ // if height not given, and first argument is a number,
+ // then assume it should be the height.
+ if (c.lookup_variable("height").type == Value::UNDEFINED &&
+ inst->argnames.size() > 0 &&
+ inst->argnames[0] == "" &&
+ inst->argvalues[0].type == Value::NUMBER) {
+ height = Value(inst->argvalues[0]);
+ }
+
node->layername = layer.isUndefined() ? "" : layer.toString();
node->height = height.toDouble();
node->convexity = (int)convexity.toDouble();
contact: Jan Huwald // Impressum