Rotate the existing block reference objects in Civil 3D



I want to rotate existing block references in my model. I create block references from multiview blocks. Now I cannot get their geometry. Do you have any suggestions?

Have you tried to add the rotation to the BlockReference.Create instead?

Can you try this

I’d look closely at Object.Transform. The exact transform you need to apply will vary by your current setup, but it’s doable.

Before doing this, I am creating block reference with rotation in proparly. After that, I want to rotate it again different plane. I am trying to do that

1 Like

This node is working, thank you so much. However, I am trying to do rotation with coordinate system. Now, I am studying for that.

That node is working. But I guess I am not doing it in right way. I do not want to change the objects’ coordinates, I just want to change the normal direction to 45 degrees direction. So, objects do not bend. I do not know why I could not do it correctly.



You want to take the block reference’s coordinate system, rotate it about it’s XY plane, then transform the identity coordinate system by the same transformation that was used to go from the original coordinate system to the new one, and use that transformation of the identity coordinate system as the coordinate system input for the Object.Transform node.

This animation illustrates both the graph and the process in action:

rotate block reference

Note the rotation I am using is cumulative, so if the first rotation is 15 degrees and the second run is 16 degrees the total rotation after rotation two is 31 degrees. If you want non-cumulative move the identity coordiante system to the origin of the block reference’s, or get the angle from the current coordinate system’s X axis and find the difference to the value in the number slider.

2 Likes

Thank you for this animation, it is really useful. However, for my work I told the situation probably in a wrong way. I don’t want to change rotation in (x,y) coordinates. It should be parallel to alignment. I need to transform 90 degrees to 45 degrees. Normally, its normal is perpendicular the my points. So, I am trying to do 45 degrees, not perpendicular.


Let’s say you are currently 00 degrees from your alignment. You want to rotate it 45 degrees clockwise. The graph currently rotates counter clockwise, so we need to subtract 45 from 360 to get 315 degrees, and use that as the rotation value.

I changed the value 315 degrees but it is still not correct.


I make it finally. With selecting YZ plane, it rotated. Thank you so much for your suggestions.