Flowing Fabrication
Fabrication
1
pnts01 = Point.ByCoordinates(
2
[-0.98,-4.99,-11.28,-12,-15,-15,-15,-15,-15,-15,-14.5,-13,-11,-9,-6.5,-4]*304.8,
3
[-7.47,-9.86,-6.26,-6.26,-6.26,-9,-12,-16,-18,-19.5,-20,-20,-20,-20,-20,-19]*304.8,
4
[15.3,15.3,15.3,15.3,12.3,8,7,6.25,6,5.75,5.5,5,4.75,4.5,4.25,4]*304.8);
5
6
pnts02 = Point.ByCoordinates(
7
[-0.98,-4.99,-11.28,-12,-15,-15,-15,-15,-15,-15,-14.5,-13,-11,-9,-6.5,-4]*304.8,
8
[-7.47,-9.86,-6.26,-6.26,0.26,-4,-7,-11,-18,-19.5,-20,-20,-20,-20,-20,-19]*304.8,
9
[22.3,21.3,20.3,19.3,13.3,4,4,4,4,4,4,3,2,1,0.75,0.5]*304.8);
10
11
crv001 = NurbsCurve.ByPoints(pnts01);
12
crv002 = NurbsCurve.ByPoints(pnts02);
13
14
hrDvCt = 40;
15
vrDvCt = 3;
16
pnts03 = [crv001,crv002].PointsAtEqualChordLength((hrDvCt*2)-1);
17
pnts04 = [crv001,crv002].StartPoint;
18
pnts05 = [crv001,crv002].EndPoint;
19
pnts5A = List.AddItemToFront(pnts04<1>,pnts03<1>);
20
pnts06 = List.AddItemToEnd(pnts05<1>,pnts5A<1>);
21
lins01 = Line.ByStartPointEndPoint(pnts06[0],pnts06[1]);
22
23
srf001 = Surface.ByLoft(lins01);
24
25
pnts07 = lins01<1>.PointAtParameter(0..1..#(vrDvCt*4));
26
27
pnt111 = List.TakeEveryNthItem(pnts07,2,1);
28
pnt112 = List.Transpose(List.TakeEveryNthItem(pnt111<1>,4,[2,3])<1>);
29
30
pnt211 = List.TakeEveryNthItem(pnts07,2,0);
31
pnt212 = List.Transpose(List.TakeEveryNthItem(pnt211<1>,4,[1,0])<1>);
32
33
pnt311 = List.Flatten(List.Insert(pnt212<1><2>,pnt112<1><2>,1)<1>,-1);
34
pln311 = Plane.ByBestFitThroughPoints(pnt311);
35
pln312 = pln311.Translate(Vector.ByTwoPoints(pln311.Origin,List.FirstItem(pnt311<1>)));
36
cds312 = CoordinateSystem.ByPlane(pln312);
37
pnt312 = pnt311.Transform(cds312,CoordinateSystem.Identity());
38
pnt313 = Point.ByCoordinates(Math.Round(pnt312.X,2),Math.Round(pnt312.Y,2));
39
pnt314 = pnt313.Transform(CoordinateSystem.Identity(),cds312);
Copied!
Pattern-15.zip
24KB
Binary
Last modified 1yr ago
Copy link