- Рейтинг
- 5
Как создать круг в квадратном полигоне?
- Автор темы Anti Pirate
- Дата создания
- Рейтинг
- 47
Инструмент рассчитан на вынос в квадроменя. При нажатии на названии "Kvadrat_v_Krug" при зажатом Алте, в окружности будет больше промежуточных точек (то есть круг будет более гладким)
Если полигон не будет четырехугольным, то окружность сформируется не по центру полигона (но это не смертельно, можно будет подвинуть) И еще, чем больше будет вершин в полигоне, тем больше точек в итоге получится в окружности.
Если полигон не будет четырехугольным, то окружность сформируется не по центру полигона (но это не смертельно, можно будет подвинуть) И еще, чем больше будет вершин в полигоне, тем больше точек в итоге получится в окружности.
Код:
macroScript Kvadrat_v_Krug_2011
category:"Poly_Tools_Chern"
toolTip:"Kvadrat_v_Krug"
(
fn Remove=
(
case (getSelectionLevel $) of
(
#Vertex: $.EditablePoly.Remove selLevel:#Vertex
#Edge:(
sel = #{}
edgesel = polyOp.getEdgeSelection $
vertsel = polyOp.getVertsUsingEdge $ edgesel
$.EditablePoly.Remove selLevel:#Edge
for i = 1 to vertsel.numberset do
if ($.GetVertexEdgeCount (vertsel as array)[i]) == 2 then sel = sel + #{(vertsel as array)[i]}
polyop.setVertSelection $ sel
$.EditablePoly.Remove selLevel:#Vertex
)
#Face:
(
sel = #{}
facesel = polyOp.getFaceSelection $
edgesel = polyOp.getEdgesUsingFace $ facesel
for i = 1 to edgesel.numberset do
if (((polyOp.getEdgeFaces $ (edgesel as array)[i]) as bitarray)*(facesel as bitarray)).numberset == 2 then sel= sel + #{(edgesel as array)[i]}
polyop.setEdgeSelection $ sel
$.EditablePoly.Remove selLevel:#Edge
)
)
)
if keyboard.altPressed then (
$.tesselateBy = 0
$.EditablePoly.tessellate #Face
$.insetAmount = 1
$.EditablePoly.buttonOp #inset
macros.run "PolyTools" "GeoPoly"
Remove ()
macros.run "PolyTools" "GeoPoly"
$.tesselateBy = 0
$.EditablePoly.tessellate #Face
Remove ()
macros.run "PolyTools" "GeoPoly"
$.tesselateBy = 0
$.EditablePoly.tessellate #Face
Remove ()
macros.run "PolyTools" "GeoPoly"
$.tesselateBy = 0
$.EditablePoly.tessellate #Face
Remove ()
macros.run "PolyTools" "GeoPoly"
max select
macros.run "Editable Polygon Object" "EPoly_FOutline"
)
else
(
$.tesselateBy = 0
$.EditablePoly.tessellate #Face
$.insetAmount = 1
$.EditablePoly.buttonOp #inset
macros.run "PolyTools" "GeoPoly"
Remove ()
macros.run "PolyTools" "GeoPoly"
$.tesselateBy = 0
$.EditablePoly.tessellate #Face
Remove ()
macros.run "PolyTools" "GeoPoly"
$.tesselateBy = 0
$.EditablePoly.tessellate #Face
Remove ()
macros.run "PolyTools" "GeoPoly"
max select
macros.run "Editable Polygon Object" "EPoly_FOutline"
)
)
- Рейтинг
- 5
Никогда не пользовался скриптами, но ввиду того что в одном из прочитаных мною постов, Александр указал ссылку на быстрое внедрение скриптов и их использование, то и я делюсь с ней!
http://www.render.ru/forum/viewtopic.php?post_id=886002#886002
Да, этот метод и есть то самое, что я искал!
Уже в который раз, Александр спасает наши души =)
Моё почтение!
http://www.render.ru/forum/viewtopic.php?post_id=886002#886002
Да, этот метод и есть то самое, что я искал!
Уже в который раз, Александр спасает наши души =)
Моё почтение!
- Рейтинг
- 5
Пока читал несколько постов, наткнулся на видео где показывают ещё один альтернативный метод.
Create\Geometry\Compound Objects\ShapeMerge
Выбираем обьект, в котором хотим создать дополнительные рёбра любой формы. Создаём "shapes", нужной нам формы отдельно и выравниваем по нашему обьекту. После чаго вибираем наш обьект, жмём pickshape и наша форма(shape) отражается на обьекте.
Create\Geometry\Compound Objects\ShapeMerge
Выбираем обьект, в котором хотим создать дополнительные рёбра любой формы. Создаём "shapes", нужной нам формы отдельно и выравниваем по нашему обьекту. После чаго вибираем наш обьект, жмём pickshape и наша форма(shape) отражается на обьекте.
- Рейтинг
- 47
Для этой цели можно использовать и ПроБулеан и ШейпМердж, но все таки для создания окружности в одном полигоне я предпочитаю скрипт. Так как им банально быстрее (не нужно создавать дополнительного объекта, лесть в Compound Objects и т.д.). А вот для создания круга в нескольких полигонах, базара нема, нужно использовать Составные Объекты. Я предпочитаю ShapeMerge, так как он сразу не вырезает и есть возможность сделать инсет (что бы потом был ровненький чамфер).