procedurally wiring from point to point

   1943   6   2
User Avatar
Member
70 posts
Joined: March 2015
Offline
Procedural wiring, what would be a good, but straightforward approach, is there any tutorials out there for example. I want to wire several parts together but also need to run the wires around existing geometry to get to each end point.

My first test used a curve sop, followed by a point sop iterating with the $PT expression ( ch(“../../null`$PT`/tx”)) to reflect different nulls' transforms (I started with three nulls, null0, null1, null2). That sort of works I think, but controlling the shape is obviously difficult with just three nulls, so then I started adding more and it got unweidly.

I'm just trying to get my head around what would be a good way to do this procedurally so if I wanted to change things it would be simple enough. Having mountains of nulls hanging around, even if they are eventually hidden from display, seems an ugly way of doing it - and what if I need more nulls in future, or less? Or maybe that's the best way to do it I don't know, but thought I'd ask the experts to point me in the right direction whatever that may be.
User Avatar
Member
258 posts
Joined:
Offline
I am very confused by what you want to do, but if you want to make a lot of individual curves with some control, and be able to access their endpoints then look into the the foreach sop or sop solver.
User Avatar
Member
70 posts
Joined: March 2015
Offline
I've uploaded a hip file of sort of what I mean;

Basically I'm wondering how you'd go about wiring up multiple end points (for which there isn't a mathematical pattern/range). I found using the curve tool in 3D space around objects - particularly more complicated objects than a torus and tube - is a bit of a pain, especially if you want many wires, not just three or four.

What I'd like to be able to do is basically provide a start and end point with goal posts in between for the curve to aim for, but I don't know how many in between goalposts each wire would need in advance and I'd obviously have to be able to adjust the position of each wire more accurately afterwards.

Attachments:
wireTravesty.hiplc (214.0 KB)

User Avatar
Member
258 posts
Joined:
Offline
Can't look at your file until I am at work tomorrow…

Often times a curve will have to be drawn, or with placed points like an addSop, but then you use that curve to make how many curves you would want. There are various methods to make them look non uniform. I usually like to control them with ramps and attributes. It is fairly easy to have your end points be exactly where you want.

If you need to attach some thing to the endpoints you can partition your curves and use forEach to extract just the 0 and last point.

Sorry if I am off base with what you want, I will check your file tomorrow, and if applicable will send you a file I have
User Avatar
Member
70 posts
Joined: March 2015
Offline
I'm not sure if you ever got a chance to look at my file sl0throp - I've added a picture for brevity. Just to be clear;

I know where the start and end point for each curve should be, but rather than drawing out each curve manually I'd like to be able to generate a curve for each individually and then tweak it afterwards. It'd be ideal if I could specify some goal posts for the curve to aim for in-between like I mentioned earlier as well. In my example I'm using nulls but I'm thinking that's a bad idea as it means having a subnet for each individual wire so if the nulls don't drown me the subnets will.

Should I be using nulls to define the start and end points of each curve in that case, or is there a better way?

Attachments:
Untitled.png (8.7 KB)

User Avatar
Member
70 posts
Joined: March 2015
Offline
That looks promising yeah.

I can add the start and end points as a beginning, and the way the point sop works you can not only copy and paste relative references for each point, but it is far more organised than one long string of coordinates like in the curve sop - adding (and removing) additional points thereafter is also a doddle.

Definitely makes things much easier and more organised, thanks.

Attachments:
houdiniThing.png (33.2 KB)

  • Quick Links