Create a solid extrusion from a polyline self-intersecting errors


#1

hello, I am trying to create a solid sweep along a polyline. I actually have it working in small sizes but not in large ones. I get the self intersecting error no matter which node I try. How do I circumvent this issue? I am thinking I need to somehow track the normal plane along the entire run, and somehow extrude in a direction related to that. I would really like to do it like this in the dynamo dictionary. See below. but when i pull a rectangle onto the normal plane, it only aligns to the center so I can not sweep by rail like in the dictionary. Does anyone see another way i can think about this to get the desired results? Thanks!



#2

Have you tried lofting your shape rather than sweeping it?


#3

I cant seem to set my rectangle to loft to be on the edge of the line in like the picture in my original post. So I cannot loft like you suggest,because my rectangle is centered on the sweep path.


#4

You could try to use Rectangle.ByCornerPoints with Curve.StartPoint for the first point or move the profile with a Translate node:
http://dictionary.dynamobim.com/#/Geometry/Geometry/Action/Translate(geometry_Geometry-xTranslation_double-yTranslation_double-zTranslation_double)


#5

I tried this and get the error message which I cant create the rectangle and dont know why.Please advise.


#6

it appears that my rectangle is failing because dynamo cant figure out which point is the corner points and is drawing the rectangle in the wrong sequence. they polygon node show this well. Any ideas how to fix this? thanks!


#7

Try to sort the list of points using List.SortByKey + Point.X / Point.Y / Point.Z as keys


#8

@Yna_Db,
Ok, that sounds perfectly reasonable, but you will have to forgive me because I am afraid you are over estimating my dynamo skills. I cant tell you how many times I re-read the List.SortByKeys node definintion in the dynamo dictionary, and I still dont understand it. Do you think you can explain it in plain english please? I also dont understand how you are sorting with the points,here is what I have so far:


#9

Sorry, I did not think about mentioning that: Point.X / Point.Y / Point.Z are nodes, see here:
http://dictionary.dynamobim.com/#/Geometry/Point/Query/X
A List.GroupByKey node could also be useful in the process:


#10

Im sorry, I still dont understand what you are hinting at. What are you trying do exactly? I did what you did, but I just got failing nodes: Please explain.


#11

I cannot right now, but see if this helps better:


#12

This node seems cool. However, it seems to be dumping out one of the points for no reason which turns my would be rectangle in to a triangle.


#13

@Ewan_Opie?


#14

I have found a there is a Point.PruneDuplicates Function that isn’t essential within that node. Thanks for the additional debug @mix. This was probably to eliminate corner point overlaps, but that can be done post processing with another node.

Try this one. It allows for start point to be defined for sorting the points.
Sastrugi - Sort Points as Perimeter.dyf (12.6 KB)

Also, here is an example of how you could use it…
RED=Original RECT Location
GREEN= Translated RECT Location

image


#15

Thanks! can you use this to sweep along two rails too?
Edit:
@Ewan_Opie
It doesnt seem to order things properly :frowning:


#16

This should fix it. :grinning:
The node now takes into account the plane created by the points for radial sorting.
Sastrugi - Sort Points as Perimeter.dyf (15.2 KB)


#17

This node still seem to be having trouble. Please advise.


#18

Are you able to upload your .dyn so I can take a look at why?


#19

I can send it to you via wetransfer if you give me your email address please


#20

@Ewan_Opie please try this.