Make2D result go where I want

When I use _Make2D I have a couple issues I was hoping the forum could help me with.

  1. The 2D drawing seems to go to random spots. I am thankful it moves away instead of a copy/paste in place… But I can’t find a command line feature or box to accurately locate it. It would be handy to be able to have the thing move to a defined location.

  2. Similarly, it gives an option of typing in a name of the layer… but what if I have a template where I want it to go… Is there not a option to have it go to an existing layer such as "_-CopytoLayer has?

  3. I have an obscene amount of layers and sublayers in my model, but I am only trying to make a 2D drawing of 6 layers… and I want to maintain attributes (layers/line color) from the original model. Problem is that the file tree of the Make 2D has 50 layers I don’t need in it. Is it possible that only the objects that I selected when I execute the command get moved over to the newly created layer/sublayers?

BTW I am not using “Layout Views” which may help me do what I need… or perhaps I just need to make a little Alias that makes a copy of what I am selecting for the Make2D and just project them to Cplane, and then _Move them where I want. As I type this- that is likely a better solution for me because the polylines would stay “Complete” As Make2D chops them up. Anyhow, would like to know the answers to above regardless.



Hi Chris - can you take a screen grab of the dialog as you are using it?
You can type in the name of an existing layer as the target layer and this should be respected - are you finding that is not the case, or is it a matter of convenience/ UI inconsistency in selecting an existing layer as in CopyToLayer?
I am not sure I fully undestand the target layer problem - it may be that object layers are nested and the output is adding all the parent layer structure that you do not need?


I’ve had issues with this before, see this forum link
I’ve also had recent issues where the object I select for Make2d remains highlighted after I run the command, very frustrating, I posted this on the forum too

Thanks for the quick response Pascal.

See screen shot of dialogue box- hopefully this is what you were referring to. It does create a new layer with the name in the dialogue box. I was hoping to use an existing layer already in my template ready to receive this so that I could reference it with other aliases. Not a huge deal.

In this instance it did just create sublayers for the highlighted objects. It must have been when I was using the “Maintain object layers” option that grabbed ALL the layers.

Really though the origin of my post was about controlling where the output goes to. In this example, the 2d drawing is moved up 36223mm on the y axis and over 4772mm on the x axis. How did it come up with that location?

I want it to end up 10,000mm up on the Y axis without having to move it. (because that is where I have a title block waiting for it.)


Hi Chris - use the ‘CPlane’ option to drop the 2d right in the same location as the part. For the layer name - I am being dense, I think, but you can enter any layer name in that thing including an existing layer - it does not need to make a new one -


It does end up in a folder named Production Files, and creates a new subfoder “pages” but it makes a whole new layer… instead of just exporting into the pre-existing layer. I am sure there are good reasons for not allowing this to happen. It’s not a huge deal.

… but back to the issue relevant to the subject line in this topic… I want to PHYSICALLY in 3D space tell the output where to go. I just tried another Make 2d and it is exporting another version up and to the right… My target is the blue boxes shown.

Again- this is probably well thought out that it just keeps outputting layers up and to the right so they don’t all stack ontop of eachother if you make a bunch of 2d drawings… but just was wondering if I can control this, as I want to include in my macros a _-SelLayer “” and then _Make2D and have it go to a predictable place (title block) so I can then use a Selection window and export to .pdf


Hi Chris - the cheap way out for the location is

`! _Make2d _Pause _Move’

I’ll think some more…

@chris26 - see if this does you any good at all - when make2d is done, and you have the output curves selected, and a target boundary rectangle someplace , run this script and see what happens. It can be made more ‘all in one’ but for now just chceking if the result is on the right track. (651 Bytes)

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes"


1 Like

Command: _-RunPythonScript
Python Script <‪D:\Python_Scripts “‪D:\Python_Scripts\”

Above is what shows in the command line but nothing seems to happen.

However… I opened the file in the Rhino Python Editor and ran it, and it did work! Moved it right over to a closed curve target that it asked me to select. Thanks so much for taking the time to send that.

Any idea why the RunPythonScript failed? First timer on a Python script.

Japhy has taken a peek at what I’m doing and he thinks Python scripts could help me out. Last thing I need is another Rabbit Hole to fall down as I have an insane amount of time teaching myself macros.

I’m sure there are some Python Macros that would be of use if I knew how to call them… can you point me to a library/resource to look at?

I thought Grasshopper was going to be my next squirrel to chase… might by this Python instead :wink:


Hi Chris - try this macro
! _-RunPythonScript "D:\Python_Scripts\"


That did the trick! Thanks Pascal. Is there a trick to continuing on in my Macro after a operation like this? Things that take a long time or involved seem to be the end of the road for Macros. I have the same problem when I run this Macro- It does the range of Contours, but then I can’t continue and maybe "_SelLast _CopytoLayer etc etc.

One thought would be to add a Command "_Delay[x seconds] "

I would use this “Wait x seconds” in other places. For instance I wan to Turn on Layers one at a time after a macro has run a bunch of operations to watch the layers come to life over time… long enough for me to see if they constructed properly. Effecively this would appear like a little animated movie. If I was able to orbit around in Perspective view while this is running it would be even better. Something like this to tell the macro to chill for 20 seconds and then proceed.

_layer on “name”
_layer on “name”
_layer on “name”
_layer on “name”

Hi Chris - this is really scripting territory, if I understand you.


yes- I think all roads lead towards Scripting. I will investigate.

Hate to throw an off topic question at you and I won’t let his turn into a tangent, but wondering if there is a command that will turn on and/or unlock an entre Sublayers (even if some of them are “half-on and half off” icons.

Well, these are controlled by the parent layer - ‘half ons’ are On but being hidden be the parent - so showing these would require changing the state of the parent layer from off to on.

If you want to select a parent layer and have it and everything below it in its tree turned on or unlocked, you can do that by explicitly selecting all the layers in the tree and clicking in one of the lightbulbs or lock icons to toggle it - is that what you mean?