|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
将udf培训材料上的Scheme出错加载时出现如下错误:
Error: eval: unbound variable
Error Object: my/int。
知道是变量的有问题,但是不知道那里出错,高人请指点。
附scheme文件内容:
;;
;;FLUENT User Define Scheme program
;;
;;Define User Scheme Variables
;;
;;Flunet Inc.
(define(set-new-var s v t)
(if(not(rp-var-obect s))
(rp-var-define s v t #f)
)
)
(for-each
(lambda(var)(apply set-new-var var))
(
(my/int 1 integer) ;user integer
(my/real 0.5 real) ;user real
(my/text "abc" string) ;user text
)
)
;;
;;Create a panel for the udf
;;
(define gui-my-input-panel
(let((panel#f)
;declare variables-assign values later
(mybox)
(my-int-entry)
(my-real-entry)
(my-text-entry)
)
;;;;Function whichis called when pane is opened
;set panel variales to values in set-new-var section
;
(define(update-cb.args)
(cx-set-integer-entry my-int-entry (rpgetvar';my/int))
(cx-set-real-entry my-real-entry (rpgetvar';my/real))
(cx-set-text-entry my-text-entry (rpgetvar';my/text))
}
;;;
;;;Function which is called when OK button is hit.
;;;assigns variable values that were set in panel after clicking "ok"
;;;
(define(apply-cb.args)
(rpsetvar';my/int (cx-show-integer-entry my-int-entry))
(rpsetvar';my/real (cx-show-real-entry my-real-entry))
(rpsetvar';my/text (cx-show-text-entry my-text-entry))
)
(lambda args
;;; if panel does not exit, make panel
(if(not panel)
;;;create panel
(let((table))
(set!panel(cx-create-panel "MY Input Panel" apply-cb update-cb))
;;Create Custom Variable input.
(set!table(cx-create-table panel ""';border#f';below 0';right-of 0 ))
;;;Create Custom Variable input.
(set!mybox(cx-create-table table "My Inputs"';border#t';row 0))
(set!my-int-entry (cx-create-integer-entry mybox "my integer"';row 0';col 0))
(set!my-real-entry (cx-create-real-entry mybox "my real"';row 1';col 0))
(set!my-text-entry (cx-create-text-entry mybox "my text"';row 2';col 0))
)
)
;;tell solver to display the panel
(cx-show-panel panel)
)
)
)
;;
;;Add new panel to end of Oser-Defined menu.
;;no need to modify here except panel name and menu location
;;
(cx-add-item
"Define"
"My Input Panel..."
#\U
#f
cx-client?
gui-my-input-panel
)
|
|