Hello,
I have written a fairly simple script that follows the edge of an elipse and places cylinders at regualr points along it.
I'm stuggling to get the Bool subtract working. The output is currently 95% of the way there, but it breaks the solid and meshes very strangely.
commenting the line out and bool subtracting manually works fine BUT seems to use a different 'path' through the window menu.
resetMaxFile #noPrompt
print "start of script ----------------------------------------------------------"
rad = 15
rv = 60
rh = 30
a =cylinder()
a.radius = 1
a.height=8
a.pos =[0,0,1]
scale a [rv,rh,1]
c = boolObj.createBooleanObject a
for i = -1 to 1 by 2 do
(
spaci = 1.8*rad -- use less then dia = 2 rad to ensure some small overlap
for j = -1 to 1 by 2 do
(
print " start quadrant - - - - - - - - - - - - - - - -"
prev_x = 0 -- an inital value
prev_y = 0 -- an initial value
for t= 0 to 90 by 1 do
(
x = i*rv*cos(t)
y = j*rh*sin(t)
diff_x = x-prev_x
diff_y = y-prev_y
-- use pythag to see if we are a diamter away.
gap = (spaci*spaci) - (diff_x*diff_x )- (diff_y * diff_y) --sqrt gap for actual gap
-- trigger first cirle and sets up prex x and y
if t == 0 then gap =-1
-- does mean that 2 perfectly overlapped circles at tips, but for this cutout role that's ok
if (gap < 0) then
(
b=cylinder()
b.radius=rad
b.height=10
b.sides=36
b.pos=[x, y, 0]
prev_x = x
prev_y = y
print b.pos
c = boolObj.createBooleanObject c b 4 4
)
)
)
)