Полностью параметрическая модель силовой конструкции стола в Version 5 SR8 64-bit
Для параметрического моделирование использовал Grasshopper 0.9.0072
залить картинку на форум Мое первое знакомство с данными продуктами очень позитивное, однако:
"В грассхоппере можно сделать многое, а что нельзя, можно сделать скриптом на C# или VB"
Первое что оказалось сложно сделать средствами самого грассхоппера, это натянуть гексагональную сетку на поверхность.
Нашел готовое решение в виде скрипта: hexy01_0043.ghx
далее манипулированием контрольных точек, можем добиться каких угодно растяжений и сжатий, в принципе возможны и скручивания. т.е. поверхность может быть любой, но не должно быть самопересечений. Что уже в принципе дает массу возможностей:
фотохостинг Далее делаем проекцию этой поверхности на плоскость XY:
хостинг изображений Далее нужно было создать 4 группы гексагонов, и ранжировать их.
хостинг картинок для форумов Для этого я использовал возможность грассхоппера Point in Curve.
однако тут же пришлось допиливать результат собственноручным скриптом:
Private Sub RunScript(ByVal x As List(Of Object), ByRef A As Object)
For i As Integer = 0 To x.Count - 1
If x.Item(i) <> 2 Then
A = 0
Return
End If
Next
A = 1
End Sub
Таким образом сразу весь гексагон либо внутри (А = 1) либо снаружи (A = 0)
Строим выдавливанием "столбики", все это контролируется средней высотой поверхности в зоне центров гексагонов соответствующего ранга. Для определения зоны, делаем проекцию, используем Closest Point on Surface получаем UV координаты и находим высоту уже оригинальной поверхности в конкретной UV точке.
хостинг изображений png Далее возникла проблема с дупликатами, и потребовалась дополнительная логика по исключению ребер дубликатов между ранжированными множествами геклсагонов (ребра гексагонов первого ранга выигрывают у гексагонов второго и т.д.)
image uploader и последнее, нужно добавить было логику для плавного перехода между четвертым рангом и третьим рангом:
а также исключить эти ребра из построения, выдавливанием гексагонов.
фото хостинг Файл грассхоппера:
http://www.sendspace.com/file/ar4477файл тестовой сцены:
http://www.sendspace.com/file/kbva6y