Dynamo for creating room wise false ceiling

I am trying yo create false ceiling room wise. the Problem is that calcium silicate tile are of size 600x600mm. To avoid cutting of tiles, we use gypsum border all around the room so that balance area can accurately be filled with tiles without cutting.
any general direction would be great.
Till now, i have created polycurve, now i am trying to fin distance between diametrically opposite line and offset each so that the remaining distance is multiple of 600mm. by doing this outline of gypsum border can be obtained.

hi, here is a start to find the opposite lines in the frame of a rectangle

Sincerely
christian.stan

is it possible to convert each segment into a vector and then get distance between pair of 180 degree opposite vectors and distance between them?

so as not to do the work for you (the direction of the forum, is a lot of direction :wink:) here is an additional potential directions the rest I will leave to you to resolve
edit:

cordially
christian.stan

Hello @abhaycpwd9411 and welcome…is it something here you are after ? if so then sparrow have some nodes there probably could help…

Revit_SEbwIotUXj

2 Likes

Hi,
I tried another way in python to train, but the packages are certainly more suitable :wink:

Python script
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

lines=IN[0]

vx=[Vector.ByTwoPoints(l.StartPoint,l.EndPoint) for l in lines]
vy=[Vector.Cross(v,Vector.ByCoordinates(0,0,-1)) for v in vx]
cs=[CoordinateSystem.ByOriginVectors(l.StartPoint,vxi,vyi) for l,vxi,vyi in zip(lines,vx,vy)]
long=[l.Length for l in lines]
dxx=[(l-(l//0.6)*0.6)/2 for l in long]
dyx=dxx[::-1]
pts=[Point.ByCartesianCoordinates(c,dx,dy) for c,dx,dy in zip(cs,dxx,dyx)]
poly=PolyCurve.ByPoints(pts,True)
OUT = poly

Sincerely
christian.stan

1 Like