Move multiple planar curves to a single plane

I hope I can explain this well. We make boat decking and use a 3D scanner. Once the boat is meshed we use Rhino to develop fairly simple, mostly planar curves in the shape of the decking we want to CNC. As you can imagine, most boats have multiple levels (steps) and angles (ie, angled footrests). We’ve been creating a new cplane for each new area and drawing the parts on those. Our problem comes when it’s time to export these simple 2D shapes to our CAM package. We’ve been using the .dxf format.

We really need to find a way to get all of these curves onto a single plane, ideally (at least somewhat) aligned in X/Y as they began! ProjectCplane doesn work as it distorts any shapes that aren’t on a plane parallel to the target cplane and Make2D does the same thing. Besides manually rotating and manually aligning all of the pieces to the target plane, is there a simple way to get this process accomplished?


So if I’m understanding your issue right - way back when this was first lofted, there would be say a smooth curve in top view of the rail, but now that it’s been chopped up with different levels and such, when you collapse each one of those bits onto one plane the data gets messy?

ETA because I just noticed you posted a pic, for some reason it didn’t preview into the post. Your curves look pretty clean and it all seems to make a good deal of sense - is the issue that the surfaces you’re tracing in your data are not actually planar or aligned to the world Cplane, and so when you use ProjectToCplane there’s a mis-match?

Hi Travis - RemapCPlane from your custom plane to World XY. (i.e. Top viewport’s default plane)


BLTCNC…Exactly. Right now we’re ROUGHLY rotating each panel and dropping it to the World plane as best we can before ProjectToCPlane. The resultant errors are small enough to live with but the process is absurd.

1 Like

Pascal, can we do that with all pieces at once or would we need to do each piece individually?

Hi Travis - as is, one at a time - it would not be hard to script doing them all except that I do not see how to associate a custom plane with a particular set of curves, after the fact. The script could find a plane from the planar curves, and it would presumably be coplanar with the plane these were drawn in but in most if not all cases oriented differently, meaning the mapping result could be aligned any old way… I do not see a good way around that after it’s all been done. How many are there?


I tried the Remap on a couple pieces and the mapping is pretty wonky, not sure that’s going to be workable. We’ve done boats with 20-30 unique conratuction planes. IS there a better way to do the drawing step that would help the process downstream. Like I said, now we’re just doing a cplane for each unique section. I dont think SketchOnMesh or similar would be any more helpful.

Mapping should not be wonky… if you start with your custom plane active and use the CPlane option and type in Top, the result should be the curves aligned to the top cplane exactly as they were on the custom one - where you may run into wonky is if you accidentally start the command in a view with some other CPlane. The active view Cplane when the command is run is taken to be the base plane.

! _RemapCPlane _Copy=Yes _Pause _CPlane "Top" 

Try the macro in the viewport using the custom plane.


Gotcha, thats probably whats happening. So it sounds like this best option is for us to get in the habit of remapping immediately after we draw each piece?

I don’t know what that means, sorry.

1 Like

Set the custom CPlane as active in some view - not Top. I assume you have all the planes saved as named CPlanes…? If not there’s more to do.


Yes, have them all named.

OK - so restore one, select the curves associated with it, then in that view run the macro above (copy/paste to the command line) … Anything good happen?


Yeah, Kind of. It did move the piece to the new plane and the shape is correct but they’re also kind of all over the place. I think we can try a few thinsg with this but I was really hoping for the equivalent of a big boot that would just stomp all of those parts flat at once AND keep them aligned but I guess that’s just not possible?

I’d need to see an example file - most likely this can be scripted easily enough.


Pascal’s already covered the big points, but I’ve done a bunch of these so I’ll add in a few more:

  1. There’s a few ways to make custom Cplanes - looks like you’ve already got the hang of that but I often like to use from 3 points, and choose 3 relevant vertexes on your mesh. You can also on stuff like this really quickly and easily move and rotate a plane into position, and then simply do a custom Cplane “from object”.

  2. Plan is super helpful for tracing stuff on odd Cplanes, because it’ll give you the top view of whatever custom Cplane you create.

  3. Fully agree it would be great if there was a better way than having to go one at a time when you Remap.

I can send one over in the AM, where to?

You can post here, or of the file is confidential, send to, mention my name in your comments and include a link back to this topic, and I’ll get it…


OK, I’ll shoot one over. Thank you both for the insight.

1 Like

@travis4 - just fyi, in case you sent something - I did not get anything from you on