Hi there,
I’m trying to use Viktor’s nodes in Dynamo.
I would like to retrieve the data I stored.
Here is the very simple code.
import viktor
import viktor.geometry as vg
from viktor.core import ViktorController
from viktor.views import GeometryView, GeometryResult, GeometryAndDataView, GeometryAndDataResult
from viktor.parametrization import Parametrization, NumberField, IntegerField
class LineParameter(Parametrization):
xDir = NumberField("xDir", default=0.4, step=0.1, suffix="m")
yDir = NumberField("yDir", default=0.2, step=0.1, suffix="m")
zDir = NumberField("zDir", default=1, min=1, max=10, step=0.5, suffix="m", variant="slider")
nDiv = IntegerField("nDiv", default=1, min=1, max=2)
class Controller(ViktorController):
label = 'First Beam'
parametrization = LineParameter
@GeometryView("Pattern", duration_guess=1)
def line_vis(self, params, **kwargs):
storage = viktor.core.Storage()
pt = vg.Vector(0, 0, 0)
sphere = []
points = []
for i in range(5):
dir = vg.Vector(params.xDir*i, params.yDir*i, params.zDir*i)
temp_vec = pt + dir
temp_pt = vg.Point(temp_vec.x, temp_vec.y, temp_vec.z)
points.append(temp_pt)
sphere.append(vg.Sphere(temp_pt, 1))
file = viktor.File.from_data(f'pt:{temp_pt.coordinates}')
storage.set(f'pt{i}', data=file, scope='workspace')
#test = storage.get('pt4', scope='workspace')
#print(test.getvalue())
return GeometryResult( sphere )
the information are stored.
Viktor workspace.
Here is where I am getting F entity, but how do I reach the storage?
What is the best way to store information like points?
Is possible to store a csv file?
Because once I am in dynamo I need a way to read that information.
Thanks for the support.