# Preset Number Slider Value

Gotcha. That does make it more involved. As others have mentioned, an extension is probably the way to go.

Only other suggestion I can give you with ootb nodes is to use two points. One point as your “control point” that can be dragged around and a second point that’s just a translation of your control point but with an offset of your specified elevation. But that only works if your points are close enough to view at the same time.

2 Likes

Thats a way that I already thought of, but this isn’t handy enough for e.g 50 control points, like you already assumed.

I already contacted the developer of the DynaShape Package as they managed to make points movable in any direction whithout a number slider. But dragging these points only in z-direction is a mess. I hope I get a reply to my message to him soon.

I looked at the code on github (DynaShape/Solver.cs at master · LongNguyenP/DynaShape · GitHub), but couldn’t figure it out completely, but it has something to do with this:

solver.EnableMouseInteraction = enableManipulation

as you switch the manipulation or dragging of points on with a boolean node.

1 Like

Consider this, you’ll need to manually enter the initial Z coordinate values of the 50 control points in the number sliders by referring to the values in the Watch Node.
The example below has only 3 control points. Similar to your approach, but using Design Script.

ReplacePointAtIndexWithHandlePoints1.dyn (21.1 KB)

``````// Grid of Points
pnt1 = Point.ByCoordinates((1..7)<1>,(1..7)<2>,1);

pnt2 = List.Flatten(pnt1, -1);

// Indices of Points to Replace
ind1 = [12,25,40];

// Initial Positions of Replaced Points
rpl1 = List.GetItemAtIndex(pnt2,ind1);
rpx1 = rpl1[0].X;
rpy1 = rpl1[0].Y;
rpx2 = rpl1[1].X;
rpy2 = rpl1[1].Y;
rpx3 = rpl1[2].X;
rpy3 = rpl1[2].Y;

pnt3 = List.ReplaceItemAtIndex(pnt2,ind1[0],rep1);
pnt4 = List.ReplaceItemAtIndex(pnt3,ind1[1],rep2);
pnt5 = List.ReplaceItemAtIndex(pnt4,ind1[2],rep3);
pnt6 = List.Chop(pnt5,List.Count(pnt1));
``````

I’m confused again.

You want the flexibility to drag but when you open the graph you want it to default to the original Z value? Or you want to programmatically push other Z values while maintaining a manual geometry manipulation capacity?

You can use a Z value to offset another point and adjust those values as desired, but I think what you are actually looking for is a tool which isn’t out of the box Dynamo (ie: DynaShape, or a custom UI tool for point manipulation).

I want a point that can be placed at a specific coordinate and afterwards still be moved in the z-axis in 3D view with my mouse.

Or a code that inserts a specific value for each number slider once, so that I don’t have to enter it in each number slider manually.

Is there a way to do this automatically?

Hey there,

first of all I want to say thank you to all of you for your suggestions and advices. I managed to solve my problem with the DynaShape Package as I found out how to drag the handle points only in z-axis

As this fits better to my other topic, where I am looking for a Package that allows to drag points in only z-axis, I will upload a video this evening there where I show you what I came up with.

@JacobSmall

Nevertheless I am still really interested in your approach on presetting a number slider via a view extension!