Rhino for 2D design

And here comes my first disagreement.
It does not work at all as it should and I don’t think this part of drawing generation, namely the make2d should not be user accessible. It should be a process that happens in the background accessible only through RhinoCommon.

Don’t hate! Simply just confirmed my fears about such a question.

@ivelin.peychev Make2D is wildly useful for porting drawings quickly out of rhino, where they can be modified as artwork to sit within design decks, illustrations, or photorealistic renderings. Everyone I know in the design world relies heavily on the versatility (and open, user-facing exposure) of such a tool.

And I would encourage you to articulate what you mean by “as it should” – what is it you’re expecting and how doesn’t it achieve that end?

1 Like

You’ve slanted this conversation towards engineering drawing a couple of times, but in this context, I think you’re missing the point. It’s more to do with technical illustration and technical authoring, which is a different sphere. Personally, I like the slant of Greg’s recent reply. It shows a basic grasp of what’s being asked for.

Where export formats are concerned, I’d say the best option would be to enable Rhino to create PDF files with Illustrator-like curve constructions (four point beziers as the base element). That would allow users of Illustrator, Affinity, Xara, Canvas etc to all get the basic constructions they need to work up. I find clean PDF files to be very well received by art workers creating this type of stuff.

I loved @defenestrated Sam’s post. It encapsulates all that I’d like to see for this tool set, in a concise and clear manner.


Not missing any point, and that’s kind of my point :smiley:
This should not be discussed in a single thread.

It would be nice to be able to zoom in the preview window of Print, and have the preview window accurately show line weights, fills etc. Even if one has to wait a few seconds for the preview to be built. At the moment, I have to iteratively home in on the output I’m after by saving to PDF and then opening it to see what it looks like. That’s time consuming.

1 Like

@ivelin.peychev and @MattE You raise a great points that different disciplines have different needs. Examples are shop drawings, technical illustration, various engineering and construction drawings, etc.

I think the focus, at least initially, would be on the lowest common denominator and trying to provide a complete solution for the simplest applications. My guess is this would be shop drawings and technical illustration.

From a developers point of view I want to be able to make the 2-d drawing from the 3d Rhino model. A general Rhino model has no information about architectural or engineering features like door, walls, ship hulls, conduit etc. So any special drawing consideration that depends on application specific information is too complicated for me.

The input information we have is: object geometry; view specification and object properties like layer and color. On the output side we produce curves, and probably hatches (filled planar regions) with attributes e.g, color, transparency, line type, hatch patterns, etc.

It is my hope that even with this restricted approach we could still solve important problems for a significant set of users. Note that in Rhino both Make2d and technical display operate within this context, with no application specific information.

@defenestrated Sam,

  1. Examples. Better are examples of Make2d not technical display, since we’re talking about using the Make2d code to export vector output. Second I need .3dm files if you don’t want share on discourse you can send them to me greg@mcneel.com or use https://www.rhino3d.com/upload with my email address.

  2. Silhouettes in your cyclinder + shpere example. The ON_HiddenLineDrawing code that Make2d uses classifies curves as you suggest. What you call overall boundary and object level boundary I call the SceneSilhouette and ObjectSilhouette.

As to “Why would these be different?” The bold curve is a local silhouette. A local silhouette is a curve on which the depth function is discontinuous. Below this curve your looking at the front out side of the cylinder. Above this curve your looking at the back inside of the cylinder, that’s the discontinuity.

The thin line is not a silhouette, but is a visible portion of a creased edge of the cylinder.

  1. UI Workflow issues.

This is an example of getting the user interface/workflow right, which I propose we leave to later. However, it’s definitely an important part of getting a complete and useful solution. Generally, something like what you suggest should be possible.

Hi @GregArden, as much as I want to agree with you, logic dictates if you want to solve as many cases as possible then you’ll have to implement the most complex case, then the simple cases will adjust.

But anyways, as usual Naval Architecture will be ignored, to be honest I’m trying to get used to that fact.
Be it as it may. I have never avoided scripting, I even prefer it because I know you cannot possibly cover all specific cases.

All I want is to always leave one eye opened that mechanical engineer’s suggestions is not the single truth you have to follow, and even if you don’t implement other, more complex, types of drawings at least create the necessary RhinoCommon classes and methods for us to develop our own tools that will solve our cases.

Like for example:

  • Allow replacement of the 2d result. Not to be simple projection or intersection but to have different line types depending on some parameter of the object.
  • Think about providing a possibility to allow arrows or other symbols to be placed at the ends and/or the middle of a 2d result.
  • also think about a concept that when you create a view you don’t project the whole structure but one planar object with its connected geometry.

not just hidden, not hidden and axis.

If the above is missing this whole development is useless to me (Marine Engineers) and Rhino will continue to suck at drawings.


1 Like

Hi to all.
I work for an eyewear company, where we use rhino for 90% of the tasks and we saw all the problem you say above, when we have to translate our 3D project to 2D sheet.
For now we have to use Make2D, and we found it time consuming:

  • every view from our project is made pratically by hand and always need to be clean and arrange on the layout template we use
  • every change on the 3D project force us to redo almost the entire 2D design

We are trying to understand if using the layout can speedup the all process but it has very poor quality (as show here),and it lack of some options (line hatching on 3D section, for example) and the output is a raster (we need vector)

Visual Arc plugin maybe a starting point to achive a better result (IMHO)

Yes, that’s why I said Make2D is bad idea. Not only that it just projects objects, you have to redo and clean after every modification of the 3d object. It is best that this is internal process behind the scenes and the 2d drawing is generated like in Autocad without user having to deal with the “projection” process, but still have option to modify the result (or the generation process) with scripts and it should allow a high complexity in RhinoCommon.

Ok, maybe not Autocad, imagine SolidWorks or Inventor.

…and the 2D outputs from the big-boy solid modellers are a complete and utter nightmare for technical illustration outside of the package that generated it. A plethora of lines, often 10’s of thousands of the bloody things, most of them overlapping, none of them connected and very few of them automatically join-able. ‘Clean’ is the last word I’d use to describe it.

Rhino Make 2D output is on a similar level, I would venture to suggest. Perhaps the technologies employed are similar too. It’s only the smoke-and-mirrors post processing trickery of those solid modellers that makes their output appear cohesive and tidy. I suspect there’s a lot of background coding going on to keep the user at arm’s length from the actual geometry, so you never get to see how poor it is until you export the geometry alone and get to see it ‘warts and all’. But that’s true of pretty much all that those packages do, in my experience.

Just a thought - could a raster-to-vector trace of the Display be created within Rhino, as an alternative/option pipeline to Make 2D? I know Jeff Lasor has said time and again that 2D vectors can’t be made from his viewport trickery, but a vector interpretation of it would serve a lot of people well. Many of these 2D view generations are from Perspective views anyway, so mm accuracy is irrelevant as the views can’t be scaled. The over-riding goal is clean, simple geometry that has ends that join up and create closed loops where required. The output destination also has a large bearing on what the user wants created. For technical drawings, it’s Lines, Arcs and a smattering of Splines. For technical illustration or presentation graphics, the export process will convert all of the arcs to beziers anyway, as weighted points aren’t supported(?) @GregArden - that would seem to be the first fork in the road, before you get anywhere near the junction for 2D/3D associative views?

And make sure that the conversion of arcs to beziers maintains tangency with adjacent lines, if the arc was originally tangent…


To devs:

Are there any news or wip to improve this (2D layout of a 3D project) part of Rhino?

Hi all,
unfortunately Trace is not being developed anymore:
Gerard passed away this March, I got a message from his son when I was searching for details about the plugin.
There is another similar plugin, Rooster.
But they are far away the accuracy you can get with Photoshop’s Magic Wand.

I’ve been trying to find the perfect ‘2D’ companion to Rhino for quite a while. I’m really at home in AutoCAD and do custom LISP programming. As the program becomes more and more redundant, it starts to make less and less sense to pay the $2,000+ (PER YEAR!!!) fees. I’ve been considering using AutoCAD LT, or one of the various AutoCAD clones. The price tags for all those options are still a little high given what I’m using them for. I even tried sketchup and I have to admit I was impressed, but as soon as the project moves into LayOut things go down hill.

The reason I want to stay with CAD is 1) It’s very unlikely that I’ll ever leave the AEC sector so sticking with DWG format is a necessity for the foreseeable future. 2) With CAD I have (almost) 100% complete control of all my line weights, styles, hatches, etc… and 3) I’m really good at customizing the programs and have really good production speed. I’ve seen people do amazing things with Adobe Illustrator though, and vector graphics look super clean when printed. It’s $20.99 per month as advertised on their ste (probably requires a 1-year subscription though).

I’ve tried a few CAD clones. I’m doing a trial with a program called GstarCAD at the moment. It’s a software company based in China if that matters (many big software firms outsource much of their programming to China for what it’s worth). I need to see how well my LISP works in the program, and how well it works in general before buying it. I think a perpetual license costs around $500. The program is extremely similar to AutoCAD, moreso than any other ‘clone’ I’ve tried. I’ve tried other ‘CAD Clones’ with mixed reviews (they all have ‘something’ wrong with them). A good safe (but relatively expensive) bet is just using AutoCAD LT. You can get AutoCAD LT and Revit LT together in a Suite for around $500 per year USD (off the top of my head… best to go check). That’s probably the best solution for those who have to do some work in Revit (you can actually do a lot in Revit LT).

Trying to find a non-AutoCAD 2D drafting program ends up being a bit of a rabbit hole. I’d love to see additional 2D capabilities added to Rhino even if it renders my months of research redundant :wink:

What are these 2d features that you are missing in Rhino?

Hi Steve. To be honest I didn’t have much time to test out the 2D drafting in the program prior to my trial running out. So my suggestions would only mirror what other’s are saying in this discussion. For my own personal needs, the program’s draw order is very important. I also need to control line weights. For hatches, I tend to use ‘screening’ instead of transparency. But if I use screening, then draw order is of the upmost importance. In general I just want to be able to achieve similar 2D outputs to that of AutoCAD, without taking much more time than AutoCAD.
As of right now, I would be able to do my 2D work much faster in a CAD program, but I am quite new to Rhino of course (and wasn’t able to take full advantage of the generous 90-day trial) and have been using CAD for years. Rhino’s customizeable user interface was very intriguing however; it’s way better than that of any other program I’ve used and I can see myself picking up speed very quickly. To date, I haven’t seen many YouTube videos demonstrating full 2D documentation in Rhino, but rather bits and pieces.

For those that are wondering why I am on the McNeel forum if I’m not even using Rhino? Because I’m 90% sure I’ll buy it it’s just a matter of when; I have a few projects I have to get out of the way. And in reference to my previous post, I’m figuring out a way to bounce between Rhino and CAD without having to pay thousands in subscription fees each year (I’m looking for the best low-cost 2D CAD option).

I understand. As generous as the trial period is, it’s not very much if you want to get an idea of all the capabilities you might need unless you are able to devote a substantial part of your billable hours to tryout.

Instead, you might try posting one of your previous jobs (in one of the formats Rhino can read) that uses as many of the 2D features you’d like to know about along with examples of the 2D output and see if some of Rhino’s most experienced 2D users can offer comments about Rhino’s ability to provide the same output.

@stevebaer: I suppose this should be a separate thread, but it was inspired by Keithcadservice’s post: Has the team ever given any thought to providing tools to assist in converting AutoCAD lisp files to Rhino Python or Rhinoscript? I’m neither an AC nor LISP user but I presume it would be impossible to write an actual converter due to the major differences between the way the programs do things, but is there any merit in providing helper and guidance tools?

I’ve considered it many times, but the size and support for such a project is probably not worth the effort.

There are already a bazillion Python/Rhinoscripts out there (here) that probably already do most of whatever LISP routine you could find for ACAD. The more interesting question IMO would be finding LISP routines that don’t yet have Rhino equivalents and knowing what they are supposed to do - then, if considered useful by enough people, someone could probably look into writing a Python or whatever equivalent for just those.

1 Like

Sounds like you are saying that Keithcadservices’ approach to converting his custom LISP programming would be to search the usual places for other Rhino user’s solutions to his functionality or, if none are found, to rewrite his LISP routines in Rhinoscript or Python.
Or maybe use Grasshopper’s graphical programming.