algorithmic modeling for Rhino
This looks nice! Are you planning to share the source code?
I was thinking of doing a devsurf component in python to take advantage of the new multithreading thing, but I know nothing about python and don't have much time right now...
I thought I'd add a link to my own work on developable surfaces. It may be a little bit broken, it's been a while since I made this stuff...
This started as a way to test approaches and not really as a production product. Its pretty crude in places, but I'm learning some things from it.
I've tried to read quickly what you did, and forgive me if I've missed big parts.
I think the general approach is similar - to make a way to evaluate twist across a ruling and try to find rulings with the least twist.
I do it by sampling points up and down the rails in a somewhat controlled way, moving one ruling at a time, but only in the range that doesn't cross adjacent rulings, then repeat since the ranges are now changed.
The test I use for twist is:
Get a surface normal at each end of the ruling by Cross product (ruling_direction, rail_tangent) then cos(twist) = dot product of the surface normals and look for biggest result.
It really becomes a problem of book keeping to make sure things don't cross and that the rulings don't all migrate to easy to solve areas and to isolate areas that need more refinement etc.
Do you mean that you're interested in the c# code for the GH component?
I should add that the Phasma system is very impressive, especially in attention to detail and completeness.
Way beyond what I'm doing, which is experimenting with algorithms to find rulings in developable surfaces.
Thanks for your kind comments. Yes I'd love to see the c#!
OK, Its kind of a mess now trying to get a couple of features sorted out and lots of old stuff lying around. When I get to something a little more concise, I'll post it.
Hi there Lowell,
Well behind the trend but I am playing with some developable surfaces and wondered if you had ever posted the C# code for the tool you wrote? Fascinated to have a look and see if I have understood the method correctly, particularly the method by which you are finding the best ruling within the allowable domain.