Positioning blocks from the cad blueprint

I’m trying to create a routine to convert cad blocks, that is, from the cad project, position families of shots in revit, however they are getting like this; (see photo). Can anyone tell me why? The dot is in the right place but the representation of the shot is right above. The block point is exact, the dynamo location point is original point, anyway, can anyone help me?

@cintiamiranda21 ,

can explan what you try?

show maybe a graph?

KR

Andreas

I’m trying to position outlet families based on the cad drawing. I imported it, but even using the host, the families are not hosted on the wall, the point is in the right place, but the sockets are on the floor. And I also needed to put a family for each type of block, how can I do that? Attached is a small example of what I’m trying to do. Thanks in advance!


Hola Amiga Miranda @cintiamiranda21 , Que lindo nombre por cierto!! :wink:
You are doing everything right, you just made a “debutant” mistake, who controls the height with respect to the level is the parameter: Elevation from Level and not the Z value of the point directly, you can also use the node FamilyInstanse.ByPoint, to use the Z value directly but in this case the families will not be associated with any level, simply exist and will be visible in the project, I hope this helps you!

Hi Gilberto. lol… it’s Brazilian, right?
Thank you very much for the compliment and especially for the help, however it keeps giving an error, and I went to all the families and configured the parameter as informed, I really don’t know what to do. If you can help me again, I really appreciate it!

Hola De nuevo @cintiamiranda21 , mas precisamente soy Mexicano!! :cowboy_hat_face:
The resolution of the image is bad, I can’t see the names of the nodes or the warnings, but I could bet you a beer that I know what the errors are:

  1. you are trying to feed the X and Y parameters of the Point.ByCoordinates node with the OriginPoint Output of the CAD Block node; when what you should do is decompose this output with the Point.X, Point.Y and Point.Z nodes.
  2. Check the name of the parameter must be written exactly the same with the uppercase, lowercase etc. It is the same for the data type of the parameter value (String, Double, Boolean, etc.).
    I hope this Helps you!

En fin, ya te debo la birra porque acertaste! JAJAJA…
Se explica porque es atenta, tenia que ser latina! :blush:
Pero de todos modos, lamentablemente sigue dando error y no tengo idea de por qué. :face_exhaling:

Amiga @cintiamiranda21, buenas. No acostumbro responder en Fin de semana pero me caiste muy bien!! :stuck_out_tongue_winking_eye: Por cierto el idioma oficial del foro es en ingles nos van a regañar!!
I owe you an apology I’m messing you up, my explanation was not very clear, I created random points to show you how to decompose a point, but you already have points of origin of the blocks and that is the one you must decompose to use the information I leave a more detailed image!!

Wow… Thank you so much! It worked!
Wow, I don’t even know how to thank you, you helped me a lot!
Thank you very much for your attention!
Can I ask for one more help? LOL…
The routine has imported all the families where there are blocks, regardless of which one, it is necessary to import the family referring to the block. That is, where the block with name x is, import only the family with name x.
How could I do that? Creating a list in block name and selecting from this list only the name of the block that I will import?

I’m glad to hear you made it, you’re a smart girl, I like that!! :wink:
You already owe me a beer, now you’ll have to invite me to the Rio Carnival. Just kidding :stuck_out_tongue_winking_eye:
What you need is a find and replace routine, it is one of my favorites for its simplicity, you need to create 2 lists 1 with the names of the CAD Blocks and another with the names of the Revit Families (Family Type Name) both lists must be synchronized in their indexes to work, once again I leave you an example of how to do it, it is better than running the routine each time for each block, although you can also do it, but it sounds like more work!!


Find and Replace Example.dyn (17.9 KB)

Oh… of course! I think it’s fair. LOL…
You are more than invited! Not only for RJ, carnival in Olinda, Salvador, Recife and Minas Gerais. Carnival is wonderful, it’s beautiful!
You can come that you will already have, tourist guide. LOL…
Yeah, I tried to make the lists, but I don’t know at what moment and which nodes to call. Since, I have the routine with several families, the families which have the same name as the linked cad blocks, however, not all families will always be there, but I need to leave them in the routine, because each project will have some. And in this routine, when I run it, it even reads the blocks, but it places all families at all points in the blocks, and not just the family referring to that block. Then if I make a list and separate it, then where would I link this list, so I can adjust the parameters?


Amiga @Miranda buenas. Of course I will take the proposal if I would like to go to visit Brazil beautiful country! :cowboy_hat_face: I will write you in these days!
Here is an example of how you can automate the process of querying points for each block so you can automate the routine for each Block - Family!
By the way it is a public forum you might want to reconsider publishing your personal data, you can also send private messages to users!

So, it’s actually the following, I have a plant with several models of outlet blocks, each model of that block has a family with the same name, where I would like a routine that imports this corresponding family in each corresponding block. However, I could only get revit to read the position of the blocks and import all the families or just the ones I choose, but in all the blocks, ex; the low socket block had families of high, low and medium sockets in its position, and not the low socket family, and then where there is a high socket block, high socket family and etc. But anyway, I gave up, I think it’s impossible to do it. I’ve tried too hard. So once again thank you immensely for all the help, if you need anything, I’m at your disposal.


solução TOMADAS resumo.dyn (2.5 MB)