[CM] strange path behaviour in clm/dlocsig
Bill Schottstaedt
bil at ccrma.Stanford.EDU
Sun, 23 Mar 2008 05:46:43 -0700
> Argument X is not a NUMBER: (* 0.8 R)
I think it's checking in the closed case that the start and end are the
same, but, as it says, '(* 0.8 R) is not a number (it's using = to check
numerical equality). X is the slot name, I believe. In your lisp code,
you need to change let to let* and use list to make sure the expressions
like (* 0.8 r) are numbers when passed in the argument to make-path:
(let* ((r 1.0)
(path-1 (make-path :3d t
:polar t
:closed t
:path (list (list (* 0.8 r) 45 45 1)
(list (* 0.75 r) 45 45 1)
(list (* 0.7 r) 45 45 1)
(list (* 0.75 r) 45 45 1)
(list (* 0.8 r) 45 45 1)))))
(print path-1))
The examples in dlocsig.html can get away with the '() form because
they involve just bare numbers.