• S sverchok
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Задачи 148
    • Задачи 148
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 21
    • Запросы на слияние 21
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • nikitronn
  • sverchok
  • Wiki
  • Custom Defaults

Custom Defaults · Изменения

История страницы
Updated Custom Defaults (markdown) создал Дек 05, 2020 по автору Ilya V. Portnov's avatar Ilya V. Portnov
Скрыть пробелы
Построчно Рядом
Custom-Defaults.md
Просмотреть страницу @9bad4c12
from -- https://github.com/nortikin/sverchok/issues/1653 ### Default Presets
the following document is now deprecated (without replacement). per https://github.com/nortikin/sverchok/pull/3483 When we (as coders) submit a node, we decide on sane defaults. Sometimes those defaults are not optimal for you (the user). If you find yourself always tweaking the parameters of a node before using it, then you might want to define custom node defaults. This is done by using Presets mechanism.
---- How it works:
### Node Defaults * You configure the node as you wish
* You go to it's Presets menu (in the N panel, or in the node's context menu, or you can press Shift-P), and select "Save current settings as node preset"
* Enter **Default** (case sensitive) as the name of the preset.
When we (as coders) submit a node, we decide on sane defaults. Sometimes those defaults are not optimal for you (the user). If you find yourself always tweaking the parameters of a node before using it, then you might want to define custom node defaults. These are not the same as presets. Now, when you create node of the same type by any usual way (from Shift-A menu, from T panel, from Search menu), this Default preset will be automatically applied. This preset will not be applied when the node is created as part of another (multi-node) preset being imported.
we can configure two things:
- (**node props**) any property on the node, including props that are not available from the UI
- (**node function**) we can write a function, (explained below) and call this function on a specific node whenever it is created.
We can now configure node defaults from a _.json_ file located in `..datafiles/sverchok/node_defaults/`. We can tell sverchok where to find this file by including the location of datafiles/sverchok in the user preferences of sverchok. It will look something like this:
![image](https://user-images.githubusercontent.com/619340/91434592-54301680-e865-11ea-83d0-dece782d4f78.png)
##### datafiles/sverchok/node_defaults/node_defaults.json
```json
{
"SvGenNumberRange": {
"props": [
["stop_float", 1.0],
["count_", 20],
["range_mode", "RANGE_COUNT"]
]
},
"SvVDExperimental": {
"props": [],
"function": "view3d.init_vdmk3"
}
}
```
All we have to do is create `(key, value pair)` for each node.
- key: ( the node's `bl_idname`)
- value: Currently the `value` accepts two directives (but can be extended later)
1. `props` ( _push props in sequence with a list of prop_name, prop_value pairs._ )
2. `function` ( _push a function:_ in the example below the function is referenced as `view3d.init_vdmk3`. read that as `filename.function` and filename shall be located in `datafiles/sverchok/node_defaults/` )
![shows file layout in dir](https://user-images.githubusercontent.com/619340/91434393-09ae9a00-e865-11ea-8e60-1dc135a3e10a.png)
##### datafiles/sverchok/node_defaults/view3d.py
```python
import random
import colorsys
import bpy
def init_vdmk3(node):
def fold_color(color, shift):
h, s, v = colorsys.rgb_to_hsv(*color)
return list(colorsys.hsv_to_rgb(shift, s, v))
A = [0.938000, 0.948000, 0.900000, 1.000000]
B = [0.500000, 0.752000, 0.899000, 1.000000]
C = [0.030100, 0.488000, 0.899000, 1.000000]
shift = random.random()
node.vertex_color = fold_color(A[:3], shift) + [1.0]
node.edge_color = fold_color(B[:3], shift) + [1.0]
node.face_color = fold_color(C[:3], shift) + [1.0]
node.line_width = 1.0
node.point_size = 2.0
```
this default function will generate nicely shifted colour palettes for the viewer node, whenever you add a new viewnode with that bl_idname, like this
![show repeated adding of viewernode results](https://cloud.githubusercontent.com/assets/619340/26029259/f58e2708-3830-11e7-8d8e-e3626734a507.png)
------------------
Each time you add a node, the `node_default_dict` is checked if the `bl_idname` has an entry.
- this has no effect on nodes that you duplicate, they clone their properties according to `self.copy()`
- this doesn't offer a visual way to set the preferences yet, that would be the next step.
These Default presets are available in the Presets panel under T panel; you can rename them, or remove as well as others.
\ No newline at end of file
Клонировать репозиторий
  • For Users:
    • Web resources about Sverchok
    • Dependencies and their installation
    • Sverchok for Blender 2.8x Release Notes
    • Profile Node Examples
    • Set up GitHub account for exporting node trees from Sverchok
    • Custom Defaults
    • Installation on Gentoo-based systems
    • Non-standard Python modules installation
    • Sverchok for Blender 2.79 Installation
  • For Developers:
    • Install Development version
    • Contributing
      • Git practices
    • Building documentation tarball
    • Macros
    • Sverchok Node Tutorial
      • High-level node howto
      • Details