Illustrator Export = bad interpolations

Hi there,
I found that the illustrator direct export, unlike a dwg imported to illustrator (the old way), was not able to reproduce the shape or paths of some curves, many circles & ellipses…since a long time now. Is there a chance to have a fix?

look at some nasty shapes:

A drawing to be corrected in illustrator is not really normal I guess.

Do you use “Snapshot of current view” to export?

If you do, try “Preserve model scale”.

It looks like illustrator cannot handle rational curves like circles and ellipses. Rational curves have weights that are not equal to one. Without such weights, curves like circles and ellipses cannot be drawn exactly circular/elliptical.

I suspect that export to DWG converts curves to polylines, after which the curves are no longer rational.

Maybe issue a command like:

-_SelCrv _-RebuildCrvNonUniform _RequestedTolerance=0.001 _MaxPointCount=100 _DeleteInput=Yes _EnterEnd

before exporting to AI.

Remember to undo the rebuild though!

Hi
I usually use the “preserve model scale”, to fit directly in a 34inch layout in illustrator. (a slightly different scale for each boat, but that’s not the problem).
try this:

  1. Make2D from a kind of file as shown above
  2. Export the result as an illustrator file (with or without preserving model scale)
  3. Do Not Open Illustrator, instead import the result again in the model space
  4. See difference.
    This is absolutely not an Illustrator issue.

I have a file for the team, if needed (12mo)
Thanks for the answers

excuse my english

@menno: the dwg export is accurate and correct in illustrator…I remenber Illustrator cs up to 3 had some issue with curves (handles) import but it’s fixed since a long time.

@piem, can you send me the file in a private message?

Yes, weight should be the problem here. Instead of using the RebuildCrvNonUniform command, I suggest using the FitCrv command because it has an angle tolerance that can keep corners in the drawings.

The bad news, if that is the case, is that I think Rhino maybe still exports to a pre-historic version of AI format. I’ll ask @tim - Tim is that still true for ai export, do you know or is it some version of pdf now?

-Pascal

The .ai files we write are an old version, based on post script 3 I think.
I know that they are not pdf files under the hood.

Tim

Here is what I would try. (Which is perhaps not the best way to do it, but you have a lot of control…):

  • Iterate over all curves. (Loop 1)
  • Split each curve at discontinuities.
  • Split each of the curves you get here at Greville Points (EditPtOn). (Loop 2)
  • That gives a bunch of (Cubic) Bezier Curves. (A curve not having 4 control points at this point - here in Rhino - perhaps even means not all weights are 1.)
  • Check each Bezier curve’s type. If it is an Arc-like curve, get points on curve and draw interpolated curve through points. (Loop 3)
  • Now join all segments you created and rebuild in this step of Loop 1 and go to its’ next iteration.

Attached is a Grasshopper example that shows a bunch of planar nurbs curves on top of a circle:

convert_circle_to_weight_one_nurbs_curves.gh (8.3 KB)

2 Likes

Nice Demo Marcus
…but I Won’t spend time on this.
(I’m not paid for struggling with software)
:cold_sweat:
Thanks

(I’m not paid for struggling with software)

Then go do whatever it is you are paid for and don’t ask questions which people go out of their way to answer for you. :angry:

2 Likes

mmh?

For the most part, what I said is wrong anyway, because there is a function in RhinoCommon that is called CreateCubicBeziers that does what it does and then gives you what AI can read. I guess. I don’t use AI and can’t test it…

Anyway, perhaps @andheum’s Doodlebug is an option, too. There is a simple component in Grasshopper that is called [Geometry Pipeline] that lets you read all curves from a layer in Rhino and then it’s perhaps very simple to bring your data over to AI. I don’t know. But probably.

Hi Marcus.
You Do Not Need Illustrator to test the AI output.
Just export as Illustrator and read it within Rhino. It’s exactly the same thing that Illustrator will display. That’s it.
:slight_smile:

http://mcneel.myjetbrains.com/youtrack/issue/RH-35480

I submitted a bug report about this problem with the details. This problem happens on the tiny curves that have different weights in their control points, thanks everyone.

This problem will be fixed in the next release of Rhino WIP, thanks.

Could it be the case in the future? i.e. will Rhino ever natively be able to export the newer .ai/pdf-type files - or are there licensing issues?

Hi there
I confirm this (old) issue is…FIXED. yes!
Good job