![]() You now have a series of rectangles which make up the larger rectangle. Split the roof surface with the obstruction voids (previous paragraph) using the U, and the the V polysurfaces. Get the unique UV values (List.Unique) and use those create two lists of Isocurves (Curve.ByIsoCurveOnSurface node) on the U and V axis.Įxtrude each group of Isocurves on the Z axis to create a group of surfaces, and combine them into two polysurfaces (one for the U axis, and one for the V). Convert the points to UV parameters (Surface.UVParameterAtPoint), and pull the U and V values into lists (UV.U and UV.V). Pull the vertices from the surface (Topology.Vertices) a get the associated point geometry. Then use a List.Deconstruct to pull the ‘surface’ out from the list of obstructions.īuild a bounding box for each of the obstrucitons (Boundingbox.ByGeometry), convert the Bounding Boxes into a solid (Boundingbox.ToCuboid), and then merge the solids into one with a Solid.ByUnion node.īuild a surface from the roof polycurve (the one which was taken out with the deconstruct), and remove the combined solid from the roof surface. List.SortByKey will help here - remember you want to sort the polycurves not the surfaces or their areas). Sort the polycurves by the inverse of the area of the surface formed by each, so that the ‘largest’ polycurve (the one which contains all the rest) is the first item in the list. Turn each of the groups into a polycurve, which will represent the ‘perimeter polygon’, and all the interior obstruction polygons. I believe that there is a handy node in archi-lab package for this called “Group Curves”. ![]() Next pull the perimeter curves from the rotated surface, and group them. This will allow you to utilize bounding boxes for the other shapes, which will quickly ‘square things off’. No need to ‘flatten’ this - you won’t gain any added speed in doing so. Read the vectors of each edge, take the average, and rotate the form by the angles formed with the global X axis (if you’re already orthogonal you’ll rotate by 0). ![]() My thoughts on how that might be managed are in the collapsed list below:įirst I’d shift my surface (not an entire solid) to be as close to orthogonaly aligned as possible. I’d go a similar route to but you needn’t limit yourself to orthogonal penetrations - just build the shape you want. I personally prefer the sketchbook app on my iPad for this as it has a recording feature to generate a video which thereby captures my sequence so I know what has to happen in what order, but any sketching tool will do. Generally speaking it helps to sketch the steps you want to take when building a geometric process. Simpler shapes process faster and are more comprehend-able. I wouldn’t use a solid here - stick to the abstracted surface instead. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |