Ai export optimisation

 From:  Michael Gibson
8720.6 In reply to 8720.1 
Hi Matt, well I do have to mention that it's kind of a stretch to expect a $300 program made by one person to do the same job as a $10,000 program from a big corporation - just sayin' ... ;) However, I would like to improve it to work better for you.

> Firstly, and this would make a huge difference. Is there any way to limit an ellipse to the four
> points on major and minimum axis instead of random scattering. See attached for explanation.
> Maybe an extra check box "export true circles as ellipse"

I think that's pretty feasible. The part that makes it a bit complicated is that kind of four point circle or ellipse in AI is not actually an exact circle or ellipse, it's an approximation. It's not possible to represent a circle or ellipse exactly with a simple 4 point cubic Bezier curve, doing general conic sections requires what's called a "rational" curve (where the R in NURBS comes from). But AI does not support rational curves, so any rational or high degree curve in MoI will get converted by a generic fitting process into a non-rational cubic curve that's then what is exported. This fitting process rebuilds the curve by sampling points along it and making a new curve through those points, adding more points in between the current ones until the new curve is within a tolerance value of the old one. It's difficult to make this process as good as someone using human judgement to place points. But handling ellipses as a special case should be possible.


> Secondly, when selecting to have the silhouette lines as well as standard lines, the
> export gives double lines, one for each. it would be much better if it was a single line
> as in the attached. It becomes very problematic when cleaning up the file as you find
> there are many lines on top of each other.

This is probably not too difficult, I can look into it some more after the next beta is out.


> Thirdly, I notice on large size (dimension not mb) models especially that MOI brings in
> some of the linework which is obviously hidden.

It tends to be just generally difficult when there are pieces of different scales involved, tolerance values that would be appropriate for the large piece are too large for the small piece.

re: Canvas size - currently that is limited to a max of 175, but now with 64-bit I'll raise that limit to 1000 instead. Bumping this up consumes quite a lot of memory though, it takes up about 34 MB per megapixel and putting it at 1000 will consume about 34 GB and may not be practical but you'll be able to give it a try. An increased density should help with better generation of small areas.

Typically when you have a model like this with a mix of small and large pieces, are the small pieces usually separate objects and not just some small feature of one big solid object? I have an idea that maybe I can improve things by doing some initial work on each object individually (with the canvas tightened up to just surround that object) to determine its own self occlusion areas before then doing a final pass with everything combined.


> Lastly, is it possible to translate MOI layers into illustrator layers or groups on
> ai export. this would make selection and work much easier.

Yes, this is possible currently - by default MoI will write layers to the .ai file named "Silhouettes", "Visible lines", "Background image", etc... but you can tell MoI to use the generating object's style in MoI instead of that. To set that up, on the main "AI export options" dialog click the "Line style options" button, and then on the Line style options, change the Layer option from "Custom" to "From style":







- Michael