the paths.
Structure one (paths = 2)
{1;0;0;0;0}(N=10)
{2;0;0;0;0}(N=10)
Structure two (paths = 2)
{1;0;0;0}(N=10)
{2;0;0;0}(N=10)
If i merge the two lists i don't get a structure with 2 paths:
Structure result af merging (2 paths)
{1}(N=20)
{2}(N=20)
as i had expected, but instead a structure with 4 paths because of the difference in amount of zeroes:
Structure result af merging (4 paths)
{1;0;0;0;0}(N=10)
{2;0;0;0;0}(N=10)
{1;0;0;0}(N=10)
{2;0;0;0}(N=10)
The amount of zeroes changes all the time when working on the definition, so what im asking is if there some way to adress paths with * number of zeroes behind.…
cenPt As New On3dPoint(0, 0, 0)
Dim tSphere As New OnSphere
Dim rad As Double = 5.0
tSphere.Create(cenPt, rad)
Dim nSphere As New OnNurbsSurface
tSphere.GetNurbForm(nSphere)
Dim tSrf As New OnNurbsSurface
Dim ptList As New List (Of On3dPoint)
ptList.Add(New On3dPoint(-5, -5, 0))
ptList.Add(New On3dPoint(-5, 5, 0))
ptList.Add(New On3dPoint(5, 5, 0))
ptList.Add(New On3dPoint(5, -5, 0))
tSrf = RhUtil.RhinoCreateSurfaceFromCorners(ptList(0), ptList(1), ptList(2), ptList(3))
Dim arrCrv(0) As OnCurve
RHUtil.RhinoIntersectSurfaces(nSphere, tSrf, tol, arrCrv, Nothing)
A = arrCrv…
ep is to understan the logics of what you want to do, in your case, build 4 point surfaces (u also need to know the right direction to build the surfaces). Then you can write an hipotetic list (by hand in a paper) of what you want. In your case the list was (0, 1, 3, 2) (2, 3, 5, 4) (4, 5, 7, 6), etc... if you can imagine building 2 lists, each one with the sequences (0, 2, 4, 6, etcc) and (1, 3, 5, 7, etc..) then you can manage with shift and graft to finally have four lists. A( 0 1 2 3 ...) B (1 3 5 etc..) C(3 5 7 etc..) D (2 4 6 etc..). And to achieve the 2 first lists, you need to get the odd and the pair numbers. The cull pattern does that amazingy well. With a pattern True-False you get de pair numbers, and with the False-True pattern you get de odd numbers.
Hope it was clear enough…
Added by Pep Tornabell at 5:32am on November 19, 2009
nce to graft:
{A}(i) --> {A;i}
becomes
{0}(0) --> {0;0}
{0}(1) --> {0;1}
{0}(2) --> {0;2}
...
{0}(n) --> {0;n}
So now to apply this to any complex situation that the Path Mapper might be able to do. A recent post here on the Forum asked about duplicating every branch to the next branch. For example:
{0;0} = 1
{0;1} = 2
{0;2} = 3
needs to be
{0;0} = 1
{0;1} = 1
{0;2} = 2
{0;3} = 2
{0;4} = 3
{0;5} = 3
First we need to make a gap for the duplicated data to be slotted into.
{A;B} --> {A;2*B}
becomes
{0;0} --> {0;2*0} = {0;0}
{0;1} --> {0;2*1} = {0;2}
{0;2} --> {0;2*2} = {0;4}
Then we need to map the same branches into the next branch
{A;B} --> {A;2*B+1}
becomes
{0;0} --> {0;2*0+1} = {0;1}
{0;1} --> {0;2*1+1} = {0;3}
{0;2} --> {0;2*2+1} = {0;5}
Now when these two paths structures are combined you will get the desired results.
So it comes down to how you wish to map your paths and coming up with a formula to do so.
…
Added by Danny Boyes at 2:50pm on October 20, 2011