diff options
-rw-r--r-- | contrib/scad-mode.el (renamed from contrib/scad.el) | 21 | ||||
-rw-r--r-- | src/linearextrude.cc | 9 |
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(); |