Скрипт AttacheSplines
Иногда необходимо приаттачить (сшить) сплайны или геометрию, например, - чертежи из автокада (там часто, помимо сплайнов попадается и геометрия), - можно воспользоваться этим скриптом:
----------------------------------------------------------
(
arrShape = for o in objects where superclassOf o == shape collect o
arrMesh = for o in objects where (classOf o == Editable_mesh or classOf o == Editable_poly) collect o
arrShapeC = arrShape.count
arrMeshC = arrMesh.count
convertToSplineShape arrShape[1]
progressstart "Attach shapes..."
for i = 2 to arrShapeC do
(
convertToSplineShape arrShape[i]
addAndWeld arrShape[1] arrShape[i] -1
progressupdate (i as float /arrShapeC*100)
gc()
freescenebitmaps()
clearUndoBuffer()
)
updateShape arrShape[1]
progressend ()
convertToMesh arrMesh[1]
progressstart "Attach mesh..."
for i = 2 to arrMeshC do
(
convertToMesh arrMesh[i]
meshop.attach arrMesh[1] arrMesh[i]
progressupdate (i as float /arrMeshC*100)
gc()
freescenebitmaps()
clearUndoBuffer()
)
update arrMesh[1]
progressend ()
)
----------------------------------------------------------
В итоге все сплайны должны стать одним сплайном и, также, вся геометрия - станет одним мешем.
Иногда необходимо приаттачить (сшить) сплайны или геометрию, например, - чертежи из автокада (там часто, помимо сплайнов попадается и геометрия), - можно воспользоваться этим скриптом:
----------------------------------------------------------
(
arrShape = for o in objects where superclassOf o == shape collect o
arrMesh = for o in objects where (classOf o == Editable_mesh or classOf o == Editable_poly) collect o
arrShapeC = arrShape.count
arrMeshC = arrMesh.count
convertToSplineShape arrShape[1]
progressstart "Attach shapes..."
for i = 2 to arrShapeC do
(
convertToSplineShape arrShape[i]
addAndWeld arrShape[1] arrShape[i] -1
progressupdate (i as float /arrShapeC*100)
gc()
freescenebitmaps()
clearUndoBuffer()
)
updateShape arrShape[1]
progressend ()
convertToMesh arrMesh[1]
progressstart "Attach mesh..."
for i = 2 to arrMeshC do
(
convertToMesh arrMesh[i]
meshop.attach arrMesh[1] arrMesh[i]
progressupdate (i as float /arrMeshC*100)
gc()
freescenebitmaps()
clearUndoBuffer()
)
update arrMesh[1]
progressend ()
)
----------------------------------------------------------
В итоге все сплайны должны стать одним сплайном и, также, вся геометрия - станет одним мешем.
Комментариев нет:
Отправить комментарий