a week ago
does anyone have a lattice or deck skirt object that can be stretched to fit and maintain a pattern?
I'm trying to avoid using the curtain wall at all costs!
Operating system used: Mac Apple Silicon
Solved! Go to Solution.
a week ago
I have an object from 25 years ago I use all the time. It works fine as long as you are less than 8' high. I don't know if I can attach it, so if it is not here PM me and I'll send it.
a week ago
I would use the chain link fence surface material and adapt it for a timber lattice.
New symbol fill if you want it exactly as your image and a new texture with alpha channel.
Barry
a week ago
I thought about that; but didn't want to deal with the transparency in elevation issues... that, and it feels cheap enough to show a lattice on a $6m house, even worse if it's a flat surface...
...
maybe some day when I get a ton of free time, I'll work on scripting something for future use
a week ago - last edited Monday
do you want it to be an object or a window?
do you want it to be just a rectangle or polygon?
the old draw a slab as the outline of the lattice,
then make the lattice oversized,
2d Script
project2 2,270,3
3d Scrpt
group "main block"
block a,b,zzyzx
endgroup
group "lattice"
addx 0-zzyzx*tan(angle1)
for j_loop = 0 to a+(zzyzx*tan(angle1)) step (slat1x+slat1space)
roty angle1
block slat1x,slat1y,zzyzx/(cos(angle1))
del 1
addx (slat1x+slat1space)/(cos(angle1))
next j_loop
del top
addx 0-zzyzx*tan(angle2)
addy slat1y
for j_loop = 0 to (a+(zzyzx*tan(angle2)))*2 step (slat2x+slat2space)
roty -angle2
block slat2x,slat2y,zzyzx/(cos(angle2))
del 1
addx (slat2x+slat2space)/(cos(angle2))
next j_loop
endgroup
placegroup ISECTGROUP("main block","lattice")
killgroup "lattice"
killgroup "main block"
parameters
parameter script
b= slat1y+slat2y
parameters b=b
values "angle1" range[5,85]
values "angle2" range[5,85]
that should work
I hope this helps
P.S.
add different materials for different sides
and to fix the 90 degree angle problem by,
make different rules for angles greater than 45, up to 90, (draw along sides rather than across bottom)
make rules for angles past 90, up to 180
then use modulo command for angles past 180,
group "main block"
building_material slat1Mat
block a,slat1y,zzyzx
addy slat1y
building_material slat2Mat
block a,slat2y,zzyzx
del 1
endgroup
group "lattice"
blockWide = slat1y
blockHeight = slat1x
blockSpace = slat1space
building_material slat1Mat
angle1a = angle1 mod 180
if angle1a > 45 and angle1a < 135 then
roty 90
addx 0-zzyzx-zzyzx*(angle1a > 90 )
limitWide = zzyzx
limitHeight = a
limitAngle = angle1a-90
gosub "draw block loop":
else
limitWide = a
limitHeight = zzyzx
limitAngle = angle1a
add 0-limitHeight*(tan(limitAngle))-a*((angle1a > 90 ))/cos(angle1a),0,0+zzyzx*(angle1a > 90 )
gosub "draw block loop":
endif
del top
addy slat1y
building_material slat2Mat
blockWide = slat2y
blockHeight = slat2x
blockSpace = slat2space
angle2a = angle2 mod 180
if angle2a > 45 and angle2a < 135 then
roty 90
addx 0-zzyzx-zzyzx*(angle2a > 90 )
limitWide = zzyzx
limitHeight = a
limitAngle = 90-angle2a
addx 0-limitHeight*tan(limitAngle)
gosub "draw block loop":
else
limitWide = a
limitHeight = zzyzx
limitAngle = 0-angle2a
add 0-limitHeight*(tan(limitAngle))-2*a*((angle2a > 90 ))/cos(angle2a),0,zzyzx*(angle2a > 90 )
gosub "draw block loop":
endif
endgroup
placegroup ISECTGROUP("main block","lattice")
killgroup "lattice"
killgroup "main block"
end
"draw block loop":
for j_loop = 0 to limitWide+(limitHeight*abs(tan(limitAngle)))*2+(blockHeight +blockSpace )*2 step (blockHeight +blockSpace )
roty limitAngle
addz -blockHeight*abs(tan(limitAngle))
block blockHeight,blockWide ,limitHeight/(abs(cos(limitAngle)))+2*blockHeight*abs(tan(limitAngle))
del 2
addx (blockHeight +blockSpace )/(cos(limitAngle))
next j_loop
return
The fist (simple) option was done at the end of a Friday just before home time, just the basics to survive from 5 to 85 angle.
Hopefully this is simple enough to understand/learn so other people can modify, develop their own in the future.
you could add features to....
change the origin,
change the main block to a polygon shape,
add a boundary around to tidy it up,
etc...
a week ago
I have an object from 25 years ago I use all the time. It works fine as long as you are less than 8' high. I don't know if I can attach it, so if it is not here PM me and I'll send it.
a week ago
Hi Allan,
I don't know about @Patrick M, but I loved it! Works great, except for 90 degrees angles. In other words, if the screen has horizontal and vertical slats. AC crashes if one value is to be set to 90. I suspect it is because of the tangent function in the 3D script. Any way of fixing this?
I could do 89.5 and it works. 85.99 degrees crashes! 🙂
Thank you,
Saturday
I hadn't thought of a custom leaf/sash! great idea!