MoI discussion forum
MoI discussion forum

Full Version: Cone and Conical Frustum Unwrap

Show messages:  1-3  4-23  24-43  44

From: Mauro (M-DYNAMICS)
20 Sep 2013   [#24] In reply to [#23]
I knew Philippe Stark did a new pasta shape but,like his colleague Giugiaro,without success...
people here buy classic ones:

"spaghetti's family"



"short pasta"



all these,most common are:Spaghetti-Rigatoni-Fusilli-Farfalle
they join well with four classic sauces:
Burro & Salvia (melted butter and sage leaves cooked together)
Pesto (Basel leaves+garlic+Parmigiano cheese+extra-virgin olive oil+pine nuts,all fresh,smashed together)
Ragu'..best known outside as Bolognese (ground meat and tomato sauce cooked together)
Carbonara (fresh eggs+little bacon cubes+pepper quickly cooked together)

-------------

My apologizes to Brian and Burr for this "gourmand" off-topic :)
From: BurrMan
20 Sep 2013   [#25] In reply to [#24]
non la prego di accettare le mie scuse for me.

That's the way to use the ole noodle!
From: Mauro (M-DYNAMICS)
20 Sep 2013   [#26] In reply to [#25]
..si figuri signor Burr....non c'รจ di che'.... :)
(..means in a kind way:you don't need to say excuse me)
From: Frenchy Pilou (PILOU)
20 Sep 2013   [#27] In reply to [#24]
Thanks for this pasta encyclopedia! :)

PS Seems the Stark form is an avatar of this! :)


From: bemfarmer
21 Sep 2013   [#28]
Solved the camoflaged cone mystery.
Seems a second cone was hiding underneath.




Currently working on conical pasta from a Logarithmic2D script ceiling projection :-)

(And unwrap of a curve on a cone, using object list of lots of points.)

Image Attachments:
CamoCone02.PNG 


From: bemfarmer
30 Dec 2017   [#29]
Here is an update to the ConeUnwrap script, which works on circular cones with axis perpendicular to the base.
It uses two buttons to select cone with apex vs conical frustum. (Using Michaels method in History command.)
Also the frustum unwrap line segments were redone, so the Unwrap is Sweep ready. (Do NOT use planar, as UV isocurve would likely not match.)
The script appears to work just fine under MoI4Dec2017beta.
- Brian

I typed up some documentation which might be nice in a wiki...
A couple of remarks: Holes in the cone, or bites out of the cone, or curves on the cone, can be unwrapped using Flow, with the cone face and unwrap Sweep face.
Also, in the event the holes disrupt the base circle, slantseam, or top circle, substitutes can be created by the user, or use a substitute intact cone or frustum.


Edit 1/1/2018, Corrected 2 "bugs" in the script. New version is here: (post 33)
http://moi3d.com/forum/index.php?webtag=MOI&msg=6175.33
From: Finema
30 Dec 2017   [#30] In reply to [#29]
Thanks a lot !
Work fine also under MoI V3
From: Karsten (KMRQUS)
30 Dec 2017   [#31] In reply to [#29]
Hello Brian,

thanks for improving the script!

Have a nice day
Karsten
From: bemfarmer
1 Jan 2018   [#32]
There is a defect in the script if the Frustum is "upside down."

In other words, if the selected "Base" circle of the Frustum is of smaller radius that the selected "Top" circle.

I think this can be corrected by exchanging the length values of the Top and Bottom in the code...

- Brian

(The script does not unwrap cylinders.)

The Unwrap is called a "Net" by mathematicians.

Also, the script is leaving behind copies of the circles and slantseam line.
From: bemfarmer
1 Jan 2018   [#33] In reply to [#32]
Corrected ConeUnwrap script.

For frustum, uses larger of the two selected circles as the Base, and removes the previously leftover, Base and Top Curves, and the SlantSeam line segment.

For cone and frustum, removes the previously leftover, Top Curve, and the SlantSeam line segment.

- Brian

Edit: This is an OLD version, see post 39 below for latest version

Attachments:
_ConeUnwrap3_Jan1_2018.zip


From: bemfarmer
2 Jan 2018   [#34] In reply to [#33]
Looks like I'll need to add a While loop to clean up extra geometry, for cancel button.
History button did not need it (?)
- Brian
From: Michael Gibson
2 Jan 2018   [#35] In reply to [#34]
Hi Brian, yeah the Edit > History button doesn't do anything at all until you've pushed one of the 2 buttons in it. If you push Cancel instead it doesn't do anything so there isn't anything to clean up.

Also whether your script needs to do cleanup depends on how it's doing things - if it manually adds objects to the geometrydatabase itself then it will need to clean those up itself as well. But if it uses factory.update() to use the factory's built in object management mechanism and never calls factory.commit() then it should also get cleaned up automatically as well.

- Michael
From: bemfarmer
3 Jan 2018   [#36] In reply to [#35]
Thank you Michael.

I have not located a script which adds geometry, then does user picks, with Cancel not causing added geometry to remain.
I used .clone to reveal the top and bottom edges of the frustum, rather than a factory...
So far attempts to copyFactory the edges have not worked. It should be fairly easy :-) (I'll try again tonight.)
Removing the Cancel button from the display prevented it from being pushed, and leaving added geometry curves,
but maybe that is not a good solution if faulty geometry picks causes some hangup?

I see that Cancel of the BlendCap script will leave the selected edge, split into two parts. (They can be easily Merged back together.)

On another user picking topic regarding cone Base, or frustum Top and Base, picking:

For a cone, if the 2D Base curve is not a Closed, only part of the cone will be unwrapped to the Net.

For a frustum, the Top and Base curves must "Match."
Either both curves should be closed, otherwise both curves should end in the same line segments from Top to Bottom.

If the user selects the "wrong" Base curve, SlantSeam curve, or Top curve, or in the "wrong" order, the "wrong" unwrap (Net) will be displayed.
User verification that the Net is "correct" may be important.
- Brian
From: Michael Gibson
3 Jan 2018   [#37] In reply to [#36]
Hi Brian,

> I have not located a script which adds geometry, then does user picks, with Cancel not
> causing added geometry to remain.

There should be a lot of the default commands that would be examples of this, for example if you push Cancel in the Line command instead of finishing the second point pick it won't leave behind whatever line was showing.


> I used .clone to reveal the top and bottom edges of the frustum, rather than a factory...

That's ok, but yes if you are not using the factory update()/commit() mechanism it will be up to the script to do the cleanup, it won't happen automatically.

- Michael
From: bemfarmer
4 Jan 2018   [#38]
I've overcome my script problem with leaving extra circle and line geometry upon Cancel in the middle of the script.

Attempting to objectpicker select the Face and generate curves for the base/top/slantseam with Copy factory, was interfering with objectpicker selecting the curves/edges.
Why this has been so is still a mystery. The previous .clone code worked OK, but had the extra curve problem upon Cancel.

But by removing all of the objectpicker Select Face code, and not generating .clones or copies of edges, by removing that code, a mere click on the appropriate face, and then selecting the edges works just fine. It is too late to clean up the reduced size code tonight...

- Brian
From: bemfarmer
4 Jan 2018   [#39]
Attached is update to ConeUnwrap script.
The .js is considerably shorter.
The .htm is a little larger, with a bit more detail in the prompts.
The math is the same.
The orientation of the cone/frustum in space does not matter. Lengths are used, which are positive numbers.
The Bottom and Top of the frustum can be picked in either order. If Top Length is greater than Bottom Length, they are swapped.
Substitute Bottom, SlantLine, and Top circles can be used. A substitute Slant Line can be placed anywhere the SlantSeam would rotate around the center axis of the cone/frustum, which could help avoid holes. (A rewrap cone would have a relocated slantseam.)
A portion of a cone/frustum made by trimming with two SlantLines, can also be unwrapped to a Net, using matching Bottom arcs and Top (for frustum) arcs.
The Base and Top circles/arcs do need to be planar, and the cone/frustum "right circular."
Thanks again to Michael for his help and hints, and borrowed .js and .htm code :-)

With subsequent Flow unwrap of addition surface curves/edges/holes, the user will be responsible for verifying orientation of everything.

- Brian

ps If all goes well, I'm going to do ObliqueConeUnwrap next, which will include elliptical or circular bases, or portions thereof, provided they are planar.
The equation will require numerical integration, which is already available in another script, and interpcurve.
The Oblique script should also work with cone-like objects with "radial" "ruffles" or wrinkles along the SlantLines (I think.)
The object will have to be developable, and have an apex point, although subsequent Flow should handle frustums.
(We'll have to see how the bottom edge turns out.)

Attachments:
_ConeUnwrap_Jan4_2018.zip


From: Finema
5 Jan 2018   [#40] In reply to [#39]
Thanks Brian !
From: bemfarmer
30 Jan 2018   [#41]
After a lot of revision, here is the script _ObliqueConeUnwrap,
which creates a planar "Net" of the unwrap of a cone-like surface.

Reference: https://plus.google.com/+NilesJohnson/posts/jCmg66wyo83

The MoI .pdf file "ObliqueConeWedgeCut" shows Niles' ascii drawing, in a more comprehensible fashion,
from which comes the equation he uses in the SAGE program, based upon the pythagorean equation.
dTheta = Math.sqrt( Math.pow( dS, 2 ) - Math.pow( dR, 2 )) / R;

The script should use 500, 1000, 2000, or more points, for a "brute force numerical integration."
The unwrap curve is not "perfect," but the "tolerance" changes for more points.
Rebuild can be used. It was not necessary after all, to use Trim in the script.

An ObliqueCone is easily made in MoI by extruding either a circle, or an ellipse, closed or open, with command Extrude, using "To point" and "Unlock direction" buttons. The iso-curves should be uniform. The cone can be a right circular cone.
A cone-like surface may also be made with Extrude / To point / Unlock direction, using some other curve.
These surfaces are also candidates for _ObliqueConeUnwrap.
Possible overlap is ignored by the script. The script just needs an apex point, and a base curve.
The base curve may be a standalone curve, or an edge, and be closed or open.
The base curve could be nonPlanar, or sinusoidal. After the unwrap, if a center line from the Net center point is added,
Network can create the planar surface, with nice iso-curves that can match the iso-curves of the cone-like surface.

Placing a sphere at the apex, and doing intersect, makes a base curve which could be nonplanar,
The unwrap may be an arc of a circle. All of the "radial" line segments are the same length, and dR is zero. dTheta = dS/R.

- Brian

Attachments:
ObliqueConeWedgeCut.pdf
ObliqueEllipticalCone10.zip
_ObliqueConeUnwrap1_30_2018.zip


From: Finema
30 Jan 2018   [#42] In reply to [#41]
Hi Brian,
lot of work here !
it will be nice if you do a little video to show how to use this script
Also , i can't see your script in attachment
Thanks a lot.
From: bemfarmer
30 Jan 2018   [#43] In reply to [#42]
Hi Finema,
Script is now uploaded. (I did a last minute minor edit.)
I'll have to learn how to do a video...I did buy Camtasia a while back...

I've decided that the sphere intersect of an elliptical oblique cone has radials at equal curve intervals (untrimmed segments), but that
delta theta angles are NOT quite equal(?).

- Brian

Show messages:  1-3  4-23  24-43  44