用途:在Blender的Sverchok节点树中嵌入自定义Python逻辑与参数化表达式,适用于几何生成、参数化建模与程序化艺术。主要能力:覆盖四类脚本节点——SNLite内联脚本、SN Functor B结构化脚本(functor_init/process/draw_buttons)、Formula Mk5安全数学表达式(最多4条公式,safe_eval仅允许白名单数学函数与abs、sign、max等,禁止import os或文件操作)、Profile Mk3类SVG 2D型线DSL。SNLite通过脚本文档字符串声明套接字,类型标识如s(标量)、v(顶点)、m(矩阵)、o(对象)、C(曲线)、D(字典)等,支持default、nested、required选项;内置别名包括bpy、np、bmesh_from_pydata、pydata_from_bmesh、get_user_dict、reset_user_dict、cprint、sv_njit等;支持setup()一次性初始化、ui()自定义面板、sv_internal_links()、自定义枚举(最多2个)、file handler、includes导入文本数据块。使用方式:在节点中按上述约定编写脚本,输出数据需注意嵌套层级,如verts写成[[(x,y,z),...]];持久状态用get_user_dict(),勿用脚本体变量跨次保存。Profile Mk3中default变量自动成为输入套接字,let变量仅内部计算,表达式用花括号,H/V命令须以分号结尾。限制:Formula Mk5禁用所有Python内建与文件系统操作;SNLite自定义枚举最多2个;Functor B预置5个int、5个float、5个bool属性;模板位于node_scripts/SNLite_templates/。参考资料:references/methods.md、examples.md、anti-patterns.md及Sverchok官方文档、GitHub源码。
sverchok-syntax-scripting
设计与创作
更新于 10-15 22:17