Urgent Problem to Solve

Urgent Problem to Solve

Anonymous
Not applicable
528 Views
3 Replies
Message 1 of 4

Urgent Problem to Solve

Anonymous
Not applicable

Dear Autodesk friends,

 

I am currently working on my graduate thesis where subject is parametrically defining paths of Park landscape design. I do this in Revit and Dynamo.

CCC, my problem… I use adaptive components (one adaptive component represents one path tile) for 3d pathway modeling where entire path is determined by randomly chosen points which I use to create NurbsCurve by points.

path = NurbsCurve.ByPoints(List.Flatten(points,1));

Adaptive components are created in Dynamo by AdaptiveComponent.ByPoints standardly. For some reason there are two adaptive components of 260 parametrically defined which can’t be make in Revit. As I attached images of project, you can notice that there are two missing tile places. Why this is happening? Missing places look same lake places nearby which could be generated…

If you look my code in Dynamo, and try to change pathSegmentLength you possibly can get total number of adaptive components generated. For these given points for path NurbsCurve, if you set  pathSegmentLength =10 you will get two impossible adaptive components to generate. But, if you set  pathSegmentLength =11 you will get all adaptive components possible to generate.

Please, can someone help me about this unusual problem, but very important to me? Have someone got similar experience?  

 

Thanks in Advance,

MicapathEntireNurbsCurve.jpgpathSeparationInSegments.jpg

case segment separation lenth = 10case10segment.jpgmissing tile.jpg

and here is case segment separation length = 11

case11segment.png

0 Likes
529 Views
3 Replies
Replies (3)
Message 2 of 4

Anonymous
Not applicable

Friends,

 

here I attached my code and Revit family which I used...

0 Likes
Message 3 of 4

jeremytammik
Autodesk
Autodesk

Dear Spuzici,

 

It looks to me as if those points are being placed based on the raw curve parametrisation.

 

Note that the points are placed closer together where the curvature is strong, and further apart where it is less.

 

If you want points spaced evenly along the curve, you should probaly use the normalised curve parametrisation instead of the raw parameters, e.g., somehow make use of the method

 

Curve.ComputeNormalizedParameter

 

I hope this helps.

 

Best regards,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 4 of 4

Anonymous
Not applicable

Dear Jeremy,

 

thank you for replay!!! It means a lot to me! As I don't have method Curve.ComputeNormalizedParameter in Dynamo, I rewrited my code and use Curve.PointAtParameter. Surprisingly, it has worked for case segment separation length = 10, but now it doesn't work for segment separation length = 11, segment separation length = 8 etc., so it can't work parametrically further. This looks very strange. I doubt it could be something about how Adaptive components are made in Revit. Probably during points calculation and their export in Revit something is happening. One time when I try to make one missing segment, I try to divide its interval by divaiding its segment nurb curve in parts (0.1-0.3) of parametrized length, and (0.4-1) of parametrized length and it was working for that intervals, bur for part (0.3-0.4) it couldn't make adaptive components. 

 

I attached updated code...

0 Likes