0 1 1 633619495144062500 0 5 90 true true Shaded massDeformations 633546699176250000 1 633619474483437500 <Enter revision information here...> -231 -24 0.8 0 14 59e0b89a-e487-49f8-bab8-b5bab16be14c Panel Panel 4423e956-b6ca-470b-992d-712959bbb510 true false 1 5a40ca3d-1d8c-4760-8fb8-deb9658b3512 0 Double click to edit panel content… true 1 false 516.4375 458.6875 276 86.9375 518.4375 459.6875 272 84.9375 516.4375 458.6875 false true false 57da07bd-ecab-415d-9d86-af36d7073abc Number Slider Attractor Force 9401ac67-c9d5-4594-91d1-17b664b4005a true false 0 0 369.075 172.6875 847.175 20 369.075 172.6875 86 20 369.075 172.6875 false true false 0.75386967023766127 -50 50 4 0 fbac3e32-f100-4292-8692-77240a42fd1a Point Pt e1191c51-ae93-4476-8309-c94f2f7606de true false 0 0 6 367.8125 117.125 60 20 367.8125 117.125 60 20 367.8125 117.125 false true false 00db2e4c-7f9f-42bb-b927-2d8cfa505ecc -1 0 0 point_object 4af2246b-b8cb-4ce9-86c6-bb8ddfc100a6 -1 0 0 point_object 41c9810c-27a2-4240-8590-6f11acf15a62 -1 0 0 point_object 4bc58e96-452b-4ec3-9f9e-5038dd8f3860 -1 0 0 point_object 9a0ada1f-50d7-4277-bfab-9309a54631c7 -1 0 0 point_object 8cb27d52-f49a-4702-989d-cb5204cdffd8 -1 0 0 point_object 57da07bd-ecab-415d-9d86-af36d7073abc Number Slider Treshold 68abfbec-a4ce-4ba5-807e-adca404c6667 true false 0 0 370.325 148.6875 612.8 20 370.325 148.6875 56 20 370.325 148.6875 false true false 300 0 300 4 0 fb6aba99-fead-4e42-b5d8-c6de5ff90ea6 VB.NET Script ''' <your code> Dim dist As New List(Of On3dPoint), d As Double Dim _lines As New List (Of OnLine), l As OnLine Dim _lines2 As New List (Of OnLine) Dim pt As On3dPoint, at As On3dPoint Dim _points As New List (Of On3dPoint) Dim _points2 As New List (Of On3dPoint) Dim v As New On3dVector For Each pt In srfPT 'for each attractor check agains all surface points Dim k As Integer k = 0 Dim vlist As New List (Of On3dVector) For Each at In attPT 'for each surface point caclulate the distance to the attractor d = pt.DistanceTo(at) 'if the distance < treshold then calculate the deformation total for each point If (d < treshold) Then k += 1 l = New OnLine(pt, at) _lines.Add(l) v = l.Direction(): v.Reverse() v = v * force * 10 / (l.Length() * l.Length()) v.Set((v.x + pt.x), (v.y + pt.y), (v.z + pt.z)) l = New OnLine(New On3dPoint(v), pt) _lines2.Add(l) pt = (l.from()) vlist.Add(l.from()) End If Print("Point deform array done; size " + CStr(vlist.Count)) Next 'add deformations Dim sum As New On3dPoint If k > 1 Then Dim i As Integer i = 0 For Each v In vlist dist.Add(v) sum += New On3dPoint(v) i += 1 Next sum /= i 'dist.Add(attPt.Count) _points.Add(sum) Else _points.Add(pt) End If Next Print("TOTAL affected points: " + Cstr(_points.Count)) A = _lines2 lines = _points2 points = _points out3 = dist ''' </your code> 0 att_code f660275d-9c45-41db-beaf-e0d84979b46c false longest_list 4 srfPT attPT treshold force 5 A lines points out3 out4 359.3196 349.0697 123 124 412.3196 351.0697 27 120 412.3196 351.0697 false true false srfPT 70c7400f-e1d5-4f55-8ea8-99c6d26fb90a true true 1 d907bb19-aa15-43e3-bc78-d6687cfdb0be 0 On3dPoint true 0 0 0 0 359.3196 351.0697 53 30 359.3196 351.0697 false true false attPT a59a567e-363f-469c-a8b7-7401b29bbe49 true true 1 e1191c51-ae93-4476-8309-c94f2f7606de 0 On3dPoint true 0 0 0 0 359.3196 381.0697 53 30 359.3196 381.0697 false true false treshold 15c59b3b-07ad-4964-b9ec-1858c10242fd true false 1 68abfbec-a4ce-4ba5-807e-adca404c6667 0 Double true 0 0 0 0 359.3196 411.0697 53 30 359.3196 411.0697 false true false force 71902696-8ed8-4797-a3a8-1b7002e9c6bd true false 1 9401ac67-c9d5-4594-91d1-17b664b4005a 0 Double true 0 0 0 0 359.3196 441.0697 53 30 359.3196 441.0697 false true false out 1747245b-e758-4452-87da-37866a107325 true false 0 0 0 0 0 0 0 439.3196 351.0697 43 20 439.3196 351.0697 false true false A b2f92fc6-d8c4-4d93-b945-66da78d4a040 true false 0 0 0 0 0 0 439.3196 371.0697 43 20 439.3196 371.0697 false true false lines 525b8333-7eb8-4df2-b4db-77245bb53cec true false 0 0 0 0 0 0 439.3196 391.0697 43 20 439.3196 391.0697 false true false points a0fb2b71-f62d-4dbc-955e-ffad2093d70f true false 0 0 0 0 0 0 439.3196 411.0697 43 20 439.3196 411.0697 false true false out3 476f2cd5-45b6-4b2a-a4ca-fa68949b1ffc true false 0 0 0 0 0 0 439.3196 431.0697 43 20 439.3196 431.0697 false true false out4 a8917639-4063-4e91-a748-108dcfd0a132 true false 0 0 0 0 0 0 439.3196 451.0697 43 20 439.3196 451.0697 false true false d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 Curve Crv 1c39f68b-82b6-4c5b-b74b-50003ed91bc3 false false 0 0 31 false 366.975 93.02499 60 20 366.975 93.02499 60 20 366.975 93.02499 false true false 5fd71737-b9a3-45dc-a1dd-60bb5dbad5fe -1 231c4030-5fa5-48d4-b6a5-e6b5f30354c0 -1 d9f8c5a4-8fbf-445c-8c25-ab34bca93cd4 -1 f791e289-fc1e-47e8-a701-1545fc53223c -1 581fb0f7-7a63-40ed-97e3-7fe01f486ca1 -1 17f76fd7-9973-4e18-9167-3b21918e745c -1 687d62c6-20d9-4e2f-9270-4025c937c1eb -1 56a7eb2d-b257-418e-bddf-4f3b4e4af44a -1 e1b751b4-6005-4f6c-a5f9-278de5702504 -1 99252c69-c212-4a7d-b640-37a9b6ebe74e -1 a9616a57-01d5-4d54-8a6e-eddc8aecca89 -1 72442d4b-6dc1-46a0-a57f-e79a1ec78df3 -1 695c2570-7e67-4489-a62e-28bf40b9504c -1 19d24a69-23f4-41ed-ba1e-2bbd3ad8db1e -1 39bd8d89-6358-4b9d-8b58-41996325a6ef -1 f25b67ab-9306-4898-a84d-2ed9fea315d5 -1 85518907-fe7f-49e5-b026-a9d1ad6a94f6 -1 aa1944bc-0990-4b3d-8d46-69ee81666921 -1 9578fa2b-b1eb-4ae4-905d-f6eff7eed2cb -1 ab14598a-45df-4948-a130-be4e5fcce0e8 -1 48b22aad-484d-424b-8f36-67a95701d7bd -1 859829b3-7cb1-4297-b0c2-3cb8c1bc6500 -1 d844490b-83e4-4517-882d-9e6c2b33b280 -1 95ed8f50-3c6b-4b0b-a13b-57df88c715d0 -1 4f56dadd-4136-4998-89d1-821843510241 -1 1ca6da72-907f-48b5-a7f7-8759ac4e7e4a -1 631edba4-5793-4cc7-8f2a-a473437da681 -1 2d9f7ea6-2167-4039-84f4-5350e8c117f3 -1 bc1c1c2c-f708-42fe-8b0c-3aec5585881a -1 5528d1b3-df2e-4d38-ab8c-392ed14209fe -1 22f89413-d20b-4b50-b5c0-53fac0fb93a0 -1 fbac3e32-f100-4292-8692-77240a42fd1a Point Pt 1c57b093-e9dc-4fe5-81e6-a3e2ed7bd732 true false 1 a0fb2b71-f62d-4dbc-955e-ffad2093d70f 0 0 807.1875 332.4375 60 20 807.1875 332.4375 60 20 807.1875 332.4375 false true false fb6aba99-fead-4e42-b5d8-c6de5ff90ea6 VB.NET Script ''' <your code> y = int(y) Dim pt As on3dPoint Dim i As Double i = -1 Dim crvs As New List(Of onNurbsCurve) 'Dim arr As New List (Of on3dPoint) Dim crvarr() As On3dPoint ReDim crvarr(y) For Each pt In x i = i + 1 crvarr(i) = pt If (i Mod (y) = 0) And (i <> 0) Then Dim crvv As New OnNurbsCurve crvv.CreateClampedUniformNurbs(3, 4, crvarr) crvs.Add(crvv) Print("curveout " + CStr(crvs.Count)) ReDim crvarr(y) i = -1 End If Next A = crvs ''' </your code> 0 curve_gen 856e654d-6857-48d8-b1a2-73ede953c987 true longest_list 2 x y 1 A 426.9375 455.4375 76 85 446.9375 457.4375 27 81 446.9375 457.4375 false true false x 64693a30-47d9-49c9-aacf-c7555fe03ec5 true true 1 1c57b093-e9dc-4fe5-81e6-a3e2ed7bd732 0 On3dPoint true 0 0 0 0 426.9375 457.4375 20 40.5 426.9375 457.4375 false true false y b5ca67b1-d782-46bd-b4b3-2b3df2057f24 true false 1 9c6bb106-02e7-42fd-af94-910e14828ee0 0 true 0 0 0 0 426.9375 497.4375 20 40.5 426.9375 497.4375 false true false out 5a40ca3d-1d8c-4760-8fb8-deb9658b3512 true false 0 0 0 0 0 0 0 473.9375 457.4375 29 40.5 473.9375 457.4375 false true false A 3c70969f-88d2-4dfa-829e-4c43f875b206 true false 0 0 0 0 0 0 473.9375 497.4375 29 40.5 473.9375 497.4375 false true false d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 Curve Crv df9ca57b-3387-45a3-8b57-030d3f5e9b24 true false 1 3c70969f-88d2-4dfa-829e-4c43f875b206 0 0 false 808.1875 457.6875 60 20 808.1875 457.6875 60 20 808.1875 457.6875 false true false 57da07bd-ecab-415d-9d86-af36d7073abc Number Slider LoD 9c6bb106-02e7-42fd-af94-910e14828ee0 true false 0 0 373.325 199.4375 606.05 20 373.325 199.4375 33 20 373.325 199.4375 false true false 41 0 50 4 1 c75b62fa-0a33-4da7-a5bd-03fd0068fd93 Length Len 660d0ea9-27a2-4ab0-bf20-d2465cd1b450 true longest_list 370.2501 228.75 69 41 392.2501 230.75 27 37 392.2501 230.75 false true false C 51f53105-cb94-46af-99f8-cbcceca9aa41 true false 1 1c39f68b-82b6-4c5b-b74b-50003ed91bc3 0 0 false 0 0 0 0 370.2501 230.75 22 37 370.2501 230.75 false true false L 51381b20-19f5-4b5e-a869-fc2e9f974602 true false 0 0 0 0 0 0 0 419.2501 230.75 20 37 419.2501 230.75 false true false fdc466a9-d3b8-4056-852a-09dba0f74aca Divide Length Divide b4ca23ab-831c-4aed-a2e2-0e5cb089929c false longest_list 563.7501 228.25 70 64 585.7501 230.25 27 60 585.7501 230.25 false true false C b6328b18-d2c0-4eb1-aa9c-934eda40e35f true false 1 1c39f68b-82b6-4c5b-b74b-50003ed91bc3 0 0 false 0 0 0 0 563.7501 230.25 22 30 563.7501 230.25 false true false L ae5a9990-6ef8-4910-9464-0d835cee108e true false 1 3f0f4ce6-82fb-490b-a02e-c3031bbb3030 0 0 0 0 0 0 563.7501 260.25 22 30 563.7501 260.25 false true false P d907bb19-aa15-43e3-bc78-d6687cfdb0be true false 0 0 0 0 0 0 0 612.7501 230.25 21 20 612.7501 230.25 false true false T 1f7d8874-4d36-4f8c-9976-e29967d7faaa true false 0 0 0 0 0 0 0 612.7501 250.25 21 20 612.7501 250.25 false true false t 94d07593-be92-4c47-96ea-a6d1df03820a true false 0 0 0 0 0 0 0 612.7501 270.25 21 20 612.7501 270.25 false true false ec875825-61e4-4c1c-a343-0e0cee0b321b Division Div 57b845ea-6fe5-43cf-80f9-0983b5de90ab true longest_list 452.2501 229.75 70.00003 44 473.2501 231.75 27 40 473.2501 231.75 false true false A 36cc82b6-148c-425f-bb1e-df5a61fe6f1a true false 1 51381b20-19f5-4b5e-a869-fc2e9f974602 0 0 0 0 0 0 452.2501 231.75 21 20 452.2501 231.75 false true false B 28b0b7bb-105d-4794-9d4e-548591bdba85 true false 1 9c6bb106-02e7-42fd-af94-910e14828ee0 0 0 0 0 0 0 452.2501 251.75 21 20 452.2501 251.75 false true false R 3f0f4ce6-82fb-490b-a02e-c3031bbb3030 true false 0 0 0 0 0 0 0 500.2501 231.75 22 40 500.2501 231.75 false true false 59e0b89a-e487-49f8-bab8-b5bab16be14c Panel Panel 5e48f075-f262-4613-9cd4-ecfb3a9b3ac8 true false 1 1747245b-e758-4452-87da-37866a107325 0 Double click to edit panel content… true 1 false 516.6875 331.625 276 123 518.6875 332.625 272 121 516.6875 331.625 false true false Courier New 8.25 false false