Error to place adaptive component with 4 points or more

Hi,
I’m trying to place a AC with sublists of 4 points but I’ve this error message: “The arguments have issues”. Have you any idea? Structure of list seems to be correct, AC family too…
is it possible that the order of the points is in question ?
AC_4%20points
AC4_Family

I saw in your points, that for example the first group have 3 times the same point and in the second a point is twice. May it be the issue? You could remove duplicates before count.

Thanks. Actually it can be a cause. I’ll see with node “Point.PruneDuplicates”

I’ve found that sometimes you have to do some rounding of the points to get all your results pruned :slight_smile: Just fyi.

An alternative is to turn the points into strings, and that way filter the actual points through a boolmask :slight_smile:

It’s not better by spreading doubled points. And when I try to place only one AC with the first 4 points, I still have the error. However, they seems enough spaced.
PruneDuplicates

Try making reference points in the Revit model at these coordinates and then placing your AC in the same order your points are listed.

@blecrioux Looking at your point coordinates, seems like a units issue
Your Revit project units are most likely set to millimeter. Change to meter

I spotted the polygon of my example. Even if 3 points are aligned, the adaptive component should be created.
@jacob.small:manually I can place it
Example
AC_4

@Vikram_Subbaiah: my project is in meter. And I don’t have any problem when I place AC with 3 sides

Try changing the list levels to level 2 or 3 and using other lacing methods (auto or shortest). If that fails post your source files and I’m sure someone will jump in to help you out.

I received a new source file in .3dm. I’ll see if geometry is more clean to work with.

here is an extract from the source files for you to watch:
Extrait_DynamoBIM_250618.rvt (1.8 MB)
Place_AC_on_dwg_DynamoBIM_250618.dyn (10.6 KB)

I didn’t have your surface deconstruc node so I replaced it and it seems to work :

simply I replaced it with this :

I also changed the lacing of AdaptiveComponent.ByPoints to shortest. Wich I think is the real issue. There is no reason to set it to longest.

1 Like

Thanks for your answer @Mostafa_El_Ayoubi.
I tried your solution and it work with one type of AC even if result seems to be strange compared to the dwg file. Now, I would like to place the Type in terms of the number of curves. I tried this but all component (rather 58/76 in fact) have the same base point and geometries are wrong:


I tried with list.map node but I didn’t achieve the result. but maybe I made a mistake in using it?
Extrait_DynamoBIM_260618.rvt (2.1 MB)
Place_AC_on_dwg_DynamoBIM_260618.dyn (10.3 KB)

I think I made some progress, but I am still getting an error. I may have skip something…

Let us know if it helps you further.

(You could also use @L3 in the points instead off flatten)

Haha haven’t seen a List.Mop node in a long while :slight_smile:

okay so I can’t seem to find a way to get the AC.ByPoints node to work with a list of family types… So I came up with this python code to really make sure I know how the inputs are fed to the AdaptiveComponent.ByPoints method :

Maybe this is overkill i’d be interested to see other ways to solve this issue. Here’s the code :

import clr
clr.AddReference('RevitNodes')
import Revit
from Revit.Elements import *
import System
from System.Collections.Generic import*
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import*

watch = []

for i,j in zip(IN[0],IN[1]):
	arr = System.Array[Point](i)
	arr2 = System.Array[System.Array[Point]]([arr])
	watch.append(AdaptiveComponent.ByPoints(arr2,j))

OUT = watch
1 Like

@blecrioux Seems like all faces of the mesh actually only have 3 vertices.
Try this alternate approach …


AC-Revit
Place_AC_on_dwg_DynamoBIM_Vikram.dyn (33.6 KB)
Extrait_DynamoBIM_Vikram.rvt (2.3 MB)

2 Likes

@Mostafa_El_Ayoubi, @Vikram_Subbaiah, @M.Perez: I can’t test for the moment but I will give you a return as soon as possible.
The next step will be to try to connect the common vertices to the adaptive components in order to deform (manually?) the polysurface in Revit. Do you have any ideas on the subject? Maybe I need to create a new topic?

You’ll need to elaborate.

Please do create a new topic if the current issue is resolved (Also mark the most appropriate response as the solution)

@Mostafa_El_Ayoubi, @Vikram_Subbaiah
Really thanks for your answers and sorry for reply so late (I had emergency on others projects). I tested your two solutions and both work even on the complete projet. It’s even fast enough.
Just because he was the first to reply, I will attribute the solution to Mostafa.
For the next step to connect common vertices, I’ll post a new topic but I’ll start by looking for myself.

1 Like