PDA

View Full Version : Converting polygon to nurb


gfkostas
11-05-2004, 04:21 PM
Is it possible to convert a polygon object to nurbs and how? thx

failure
11-05-2004, 04:36 PM
No, it isn't.
Even if it was possible, what would be a reason for doing so?

square487
11-05-2004, 04:36 PM
hi, im far from being an expert but ive heard/and experienced that converting nurbs to poly or subD works fine but it wont work the other way around, at least i have not managed to get decent results.

anybody know a way ?

failure
11-05-2004, 05:13 PM
There is no way

gfkostas
11-05-2004, 05:34 PM
thx for the clarification guys

goleafsgo
11-05-2004, 06:26 PM
Actually you can...sorta. You can do Polygon -> SubD, and you can do SubD -> NURBS. So chain those 2 operations together and you get Polygon -> NURBS. It is a little flaky though. The convert from SubD to NURBS will most likely produce a bunch of small patches.

There are 3D packages that specialize in this though, but I have seen none of them working.

orvski
11-05-2004, 06:33 PM
Then after converting the SubD to Nurbs, you can rebuild the surface. But this is all too much hassle. Better finding another way of making whatever it is you wanna do because im sure there are alot more ways to do it, but if you really really need to put it to nurbs then go for it.

Pai Mei
11-06-2004, 11:59 AM
http://www.alias.com/eng/partners/conductors_program/plugins/index.shtml?sort=cat1


Look at cyslice...it says: Surface translator — polygons to slices or NURBS... maybe that might help..u prob have to buy it..but how desperate r u?

failure
11-06-2004, 12:03 PM
Convert polygons to nurbs only in one situation - if somebody is holding the gun against your forehead telling you to do so.

Pai Mei
11-06-2004, 12:17 PM
not if ur rendering using renderman..It like nurbs alot more that polys..it renders em a hell of alot faster

failure
11-06-2004, 12:26 PM
If you want nurbs, model with nurbs. Don't convert finished poly models. It's stupid. Anyone who claims that it is not, either don't understend how polys work or how nurbs work, or both.

Pai Mei
11-06-2004, 12:35 PM
Lol yeh i agree..i personally think subdivisions r the way to go....prob not in maya tho..becuase mayas subdivision toolset isnt as gud as modos or xsi etc..But u du what u feel is rite of course

failure
11-06-2004, 12:43 PM
prob not in maya tho..becuase mayas subdivision toolset isnt as gud as modos or xsi etc.
How do you know it isn't?

Pai Mei
11-06-2004, 12:49 PM
edge weights rnt as gud...and they r a hell of alot slower that modo etc..But they du the trick..im not attackin maya..just sayin

Iconoklast
11-06-2004, 12:50 PM
In terms of using polygonal tools on maya subdivisions compared to other packages, I believe they're lacking. You could use the tools on the polygon proxy, but it's a little slow.

As far as converting polygons to nurbs. I saw this script on a persons website that if you created a nurbs 'proxy' of your polygonal object, and then run the script, it would create UV coordinates from the nurbs to the polygonal object, or something similar.
I imagine with using something like cyslice to convert your poly to nurbs and using the script it would make for handy uv making?
I don't know, I'm not too experienced in the texturing matter :(

failure
11-06-2004, 01:01 PM
You can't convert one poly surface to one nurbs surface ( well you can in couple of special cases but not generaly ). You need to break it into number of patches, depending on complexity and topology of the source mesh. That is a big problem by itself, and it is hard to automate it completely. You need to have a very clean, quad mesh in order to get some nurbs out of it in acceptable fashion. And that is true even if you convert it thru subdiv.

All maya's nurbs surfaces have 0-1 uv coordinate space. You can write a transfer script for transfering uv's from one nurbs surface to one poly, but transfering from series of patches to one mesh is not doable.

Iconoklast
11-06-2004, 01:11 PM
aye, but you could detach the polygon faces to equal the nurbs patches and apply the transfer to the individual patches/sets of faces? Would that be efficient in anyway?

failure
11-06-2004, 01:31 PM
No. First of all it is totaly irrational to convert each poly face to nurbs surface/patch. There are no gains in it and it spells "overkill".

Even if we do so, transfering uvs from nurbs surface to single poly quad would result in uvs that eat up the whole uv coordinate space [0,0] [0,1] [1,1] [1,0] per quad. In maya's uv editor this would look like one big square in upper right quadrant - and that's the space in which normally all of the model's uvs need to be squeezed.

And so for the next quad and the next... They'd all overlap.

EDIT:
You have the same problem even if there are multiple poly quads per patch.

Iconoklast
11-06-2004, 01:44 PM
Doesn't creating multiple texture projections create large uvs which you'd need to scale down and fit into the 0-1 range anyway?

failure
11-06-2004, 01:53 PM
Texture projection does not create any uvs. It turns 2d texture into 3d.

If you are talking about uv projection; It creates uvs the way you tell it to by adjusting the oprions.


EDIT:
One more thing:
Aranging it manually after transfer, changes the uv coordinates. So they no longer match the ones on nurbs surface. Then what's the purpose of doing the transfer in the first place?

Pai Mei
11-06-2004, 02:14 PM
Why du u want to convert to nurbs neways?...Subdivision is easier and better.

failure
11-06-2004, 02:20 PM
Subdivision is easier and better
Not for everything.
But for converting polies into - definitely ;)

Pai Mei
11-06-2004, 02:47 PM
I suppose nurbs is better for mechanical modelling like cars where u can use blueprint etc and subdivisions r better for animating organics...we as cg ethusiasts have many tools to r disposal so I am ging to be thankful and not argue about nurbs or subdivisions being better than each other..

failure
11-06-2004, 03:01 PM
I don't want to offend anybody but:

"How do I convert polys to nurbs?"

is typical noob-trademark question ( in line with "how do I render to compressed avis" etc )


You don't want to do it! Forget it! Period!
Now, obey.
You'll understand later.

:)

Pai Mei
11-06-2004, 03:13 PM
Agreed, however I cant talk being a 17year old with not many years of experience..but hey

grrinc
11-06-2004, 08:15 PM
Just to add my two pence worth.

I think it is a perfectly sound question and there is a very good answer. Trouble is, the answer is not Maya! Cyslice is one option, but there are others too. Paraform, Rapidform and Polyworks are three programs that are used in the CAD industry. You can load in a very high poly model with ease and these programs will automatically wrap a nurbs surface around it ready for export as an ignes file back to Maya. They even allow you to step in halfway through the process to influence the topology, should you plan to animate. As you can imagine, they are very expensive packages, but they do the job you ask very well indeed. Cyslice on the other hand doesn't automatically wrap a nurbs surface; you have to 'draw' it on your self. It does have the advantage of exporting out a SubD hull however that is far more desirable should you wish to animate and deform. Plus you get to draw on the topology you want.

Pop over to the ZBrush forums and you will hear of lots of ZB users wanting to get their very high poly models over to their chosen 3D app. Apart from using Displacements, Cyslice appears to be the chosen favourite (it costs 4 grand though!!).

Remember also, that if the model is simple enough. You can make it 'live' and draw on ep curves ready for lofting.

Kabab
11-06-2004, 10:51 PM
I do this all the time for some product design type work..

Just poly model in quads keep em all quads then the poly -> subd > nurbs works perfectly..

The resulting nurbs surfaces is pretty heavy but it imports into most CAD systems fine.

beaker
11-07-2004, 09:19 AM
If you want nurbs, model with nurbs. Don't convert finished poly models. It's stupid. Anyone who claims that it is not, either don't understend how polys work or how nurbs work, or both.Everyone at Dreamworks, Disney and ILM must be stupid because that's how they do a lot of their modeling.

failure
11-07-2004, 02:36 PM
Everyone at Dreamworks, Disney and ILM must be stupid because that's how they do a lot of their modeling. No they are not doing it this way - ( pushbutton: poly->subdivs->nurbs ).
It would make me really happy if you would show some proofs for this claim.

devdoka
11-07-2004, 02:39 PM
Yes you can go nurbs <--> polygons in Maya.
However you should ask yourself if this is what you want.
If you are not an experienced user you will probably loose some, in the conversion.

failure
11-07-2004, 02:43 PM
It is not a question of "can/can't". Of course you can. It's question of does it make sense in terms of productivity and workflow eficiency ( both; human and computer ). And I'm saying; it does not.

csven
11-08-2004, 09:30 PM
Is it possible to convert a polygon object to nurbs and how? thx
no where in the original question is the reason for doing this conversion mentioned.

simple answer: Yes

does it make sense? Depends entirely on what you're doing. blanket statements are worthless.

do i use it? sometimes. for quick concepting i can make a polygon object, convert to NURBs inside maya (with all the nasty patches), export to iges, import to my solid modeler, convert the geometry to a "solid", and then do CAD operations on it from there and have a rapid prototype created if necessary. and i can do it much faster than creating either NURBs or parametric geometry.

so again, Yes it can be done. whether it's "productive" or "efficient" is entirely dependent on what you're looking to achieve. what i do is almost never adequate for final product design, but for fast concepts it's not a bad option.

failure
11-09-2004, 03:44 AM
Of course that "productive" and "efficient" depends on what you consider to be "productive" or "efficient". But there are certain solid production standards that are driven by deadlines and budgets - it can be measured whether some process is efficient.

You can do whatever you wish with your workflow, but having poly to nurbs conversion somewhere inside production pipeline is a major mistake.

There are people who can do "fast prototying" with nurbs or csg.
It all depends on the level of skill and knowledge.

Kabab
11-09-2004, 05:21 AM
Of course that "productive" and "efficient" depends on what you consider to be "productive" or "efficient". But there are certain solid production standards that are driven by deadlines and budgets - it can be measured whether some process is efficient.

You can do whatever you wish with your workflow, but having poly to nurbs conversion somewhere inside production pipeline is a major mistake.

There are people who can do "fast prototying" with nurbs or csg.
It all depends on the level of skill and knowledge.In csven case he has to use nurbs because you can't create a parametric solid object from poly's in a CAD package.

failure
11-09-2004, 05:54 AM
In csven case he has to use nurbs because you can't create a parametric solid object from poly's in a CAD package. No, he should just model it in cad.

Theoreticaly, it can be done. It's a task that is very similar to converting polys to nurbs since nurbs *are* parametric geometry. Part of the nurbs modeling workflow in maya is very similar to working with constructive solids.
And in most cad packeges nurbs are used as a basis for sg.

CornFielD
11-09-2004, 08:36 AM
so failure as I understood this right!
-you thing that polygons and subd's are fast, flexible and good way to do you'r modelling!
-but if you feel comfortable to model with polygons and you wan't later on convert it to nurbs you shouldn't do it because it's not efficient!

why is that? why converting is bad thing

I can see lots of benefits using nurbs surfaces
-texturing and shading is almost completly different world because you have parametric surface in your hands! It depends about case what you'r doing with your model!
-In animation you have some benefits using nurbs surfaces
-you can also handle your surface differently with scripting when you'r using nurbs

there is reasons why production houses use nurbssurfaces!

Kabab
11-09-2004, 11:23 AM
No, he should just model it in cad.

Theoreticaly, it can be done. It's a task that is very similar to converting polys to nurbs since nurbs *are* parametric geometry. Part of the nurbs modeling workflow in maya is very similar to working with constructive solids.
And in most cad packeges nurbs are used as a basis for sg.Why should he do it in CAD? for some shapes and objects its ALOT harder and time consuming.. For example i had to create a character for a board game the other week. It would have been imposible to model this in a CAD package can you image doing facial features with a solids modeler?

So i did it in Maya in poly's converted to subd -> nurbs and it imported perfectly into the cad package as a solid to do the engineering detail..

Doing it like that actually made it possible to do that project.

Sure you could do it in nurbs in Maya to start with but it would take longer therefore make it more expensive for the customer.

csven
11-09-2004, 11:32 AM
No, he should just model it in cad.

Theoreticaly, it can be done. It's a task that is very similar to converting polys to nurbs since nurbs *are* parametric geometry. Part of the nurbs modeling workflow in maya is very similar to working with constructive solids.
And in most cad packeges nurbs are used as a basis for sg.when i said "and i can do it much faster than creating either NURBs or parametric geometry", i have to believe that's not difficult to understand.

so what CAD program are you using, failure? i'd like to know from what real life experience you're speaking. you certainly sound like an established authority on how to use CAD in all the different phases of development. i'll give you the benefit of the doubt in the hopes i can learn something.

for reference, i recently did a shape using the process described above. took me under an hour. that same shape would take days or a full week in CAD (and i'm good enough that PTC gave me my first personal license). if you have some way to generate "solid" 3D CAD concepts, i'm eager to shave more time off and am all ears.

explain away.

failure
11-09-2004, 11:47 AM
I'm not using any cad program

csven
11-09-2004, 12:47 PM
I'm not using any cad programdoes this mean there's no explanation forthcoming? or should i wait for whoever is telling you this stuff to show up?

fast concepting is the heart and soul of my business the same way low-rez pre-visualization for film FX is the core of some animation houses. if someone is doing it better and faster than me, i have a serious interest in hearing about it. just like those pre-viz houses doing animatics and not the final film shots, more and more i'm hired just for the "pre-viz" concept models - after that most clients now send the "production CAD" over to China where it's done at "no cost" by the manufacturer (actually rolled into tooling costs and amortized - see Kabab's earlier comment).

failure
11-09-2004, 01:02 PM
Sorry if I offended you with something, but I just don't have time to reply to sarcastic remarks. Ask a specific question, I will help you if I can.

fast concepting is the heart and soul of my business the same way low-rez pre-visualization for film FX is the core of some animation houses
Why do you need to produce a solid for fast concepting?

csven
11-09-2004, 01:55 PM
Sorry if I offended you with something, but I just don't have time to reply to sarcastic remarks. Ask a specific question, I will help you if I can.


Why do you need to produce a solid for fast concepting?no offense. no sarcasm. i don't know your work situation. plenty of people using surface modelers sit next to CAD people at the office. you were speaking with authority on this issue, so given your comment about not being a CAD user, the next logical assumption was that you were sitting next to a CAD user who was providing authoritative comments.

the specific question would be: what is the absolute fastest way to generate a complex organic shape, split it into pieces (for packaging and testing nesting in an assembly), do a draft check on those pieces to ensure they can be CNC'd (as appropriate), hollow (aka "shell") the parts to a specific wall stock, add ANSI screw bosses to those pieces (for assembly by the consumer, using client's current standard parts), and output the results for RP (usually .stl - which Maya 5 doesn't include forcing me to go solid in Pro/E for output).

don't always need a solid for fast concepting. but sometimes i do. depends on the client's needs. might be something as simple as their wanting to get some rough estimates on mass properties. can't do that with a surface model.

Kabab
11-10-2004, 03:57 AM
Sorry if I offended you with something, but I just don't have time to reply to sarcastic remarks. Ask a specific question, I will help you if I can.


Why do you need to produce a solid for fast concepting?Because solid models in a CAD package are seriously faster for creating engineering detail.

Failure there is never a set path or wrong/right way to do things there is simply a faster and a slower path.

First thing you have to do before you start a project is sit back and work out what all the requiremnts are then pick the fastest way to meet thoes.

Sure the method myself and csven use would not be usable in animation because the topology of the nurbs patches are really bad then again we don't need to deform anything so this method works for us and helps us bring VALUE to our customers.

failure
11-10-2004, 04:49 AM
Yes, I can understand your reasoning, and maybe this is a rare ( niche ) case when converting polys to nurbs can bring you some ( limited ) benefits. But why use heavy-weight animation package such as maya to do poly models that will be converted to solids via nurbs via subdivs. Better use small standalone subdiv modeller such as modo.

Or better yet, get proficient with nurbs. And yes, it is possible to be as fast with nurbs as you are with polys. Then prototype in standalone nurbs modeler. Nurbs will translate much cleaner and easier to "solid" geometry - leaving you greater possibility of further manipulation inside cad application ( model could even retain some of it's parametrical properties. I wouldn't bet on it however since it depends on how the cad's importer would interpret the model data )

Standalone nurbs ( or subdiv ) modeller will probably offer you better control over export options and wider variety of output file formats ( including stereolitho )

Just to make one thing clear: *solid* or *parametric* geometry you see in cads is not any special kind of geometry. It's just an extra level of abstraction and control thrown over plain surface geometry modeling ( nurbs in most cases ). It just tries to obscure the fact that you are dealing with surfaces, introduces some limitations but gives you better control in terms of real world feasibility. Note that there are even polygonal csg engines in existance.

Currently, in my line of work I don't extensively use any cad application. My last "real-world" cad experience was back in 1998 with SolidWorks. I'm trying to approach this discussion here more on theorethical level. But I'm allways willing to hear about what experience do "real-world" cad users have. However this is kinda marginal topic on this forum since maya is surely not the best weapon to have in a cad wokflow pipe.


Just a few more toughts:


What are nurbs surfaces?

Nurbs are "four-sided" parametrical surfaces that are created using polynomial functions. Meaning: they have rigid mathemathical representation, and strictly defined topology. Every single point on nurbs surface is mathemathically defined, and can be calculated in exact manner. They are perfectly "continuous".


What are poly surfaces?

Polygonal surfaces, on the other hand, are just a list of quasi-random discrete data representing vertices, and a couple of lookup lists that build up the edges and faces out of it. There is nothing exact about it. The topology of poly surface can be organized in any ( more or less chaotic ) way.

Polygons don't have any "knowledge" about the concept of *topology*. It solely depends on the source of poly data to organize it into some kind of "meaningful" topology. "Source of data" can be either human ( modeller ) or computer ( generator or converter ). For example; when you create a polygonal sphere primitive, computer organizes vertex and face data so it can be interpreted as a spherical surface. ( but there is nothing in data itself that implies any kind of organization on a higher level )

Conversion

Now, when we convert from nurbs to polys, it's pretty easy because all we need to do is to generate polygonal data from mathemathical results given to us by a nurbs surface equation. Exact mathemathical formulae drive the generation but the end results is just a data list with no knowledge of what "higher mathemathical force" created it.

On contrary, when we need to convert a poly object to nurbs, situation is much more difficult. First of all poygonal data could be organized in any way. There is absolutely no guaranties that we will have a nice one-shell closed poly topology as an input. We could get anything; e.g. multiple opened or closed shells, one-edge shells, overlapping vertices, faces with any number of vertices - anything at all, and it's all valid polygonal data.

Building a series of exact, four-sided, mathemathical polynomial surfaces ( nurbs ) out of that kind of data is extremely hard for computer to do. It includes large degree of guessing, heuristics and ai-like algorithms. Algorithmical solutions are too expensive to produce and they yield dubious results.

Beginners ( and often experienced poly modelers, who didn't work much with nurbs ) are misled with the fact that there is a pushbutton nurbs->poly solution. They think there must be a reverse process button. But there isn't, because nurbs to poly is a one way ticket. Going back from polys to nurbs is not so simple.

Of course there are special cases of input poly data when conversion could be done relatively easy, producing acceptable results.
But generally speaking, automated poly->nurbs conversion is a bad thing - giving either unacceptable results or enormous ammount of nurbs data ( or both )

For quick-and-dirty hacks this is maybe acceptable but for normal workflow in animation production pipeline ( maya's primary purpose ) it's very close to nonsense.

Kabab
11-10-2004, 07:13 AM
I'd like to think i am proficient with nurbs seeing as i am an certified StudioTools instructor :)

The reason i use Maya and i am guessing csven does is that its cheap fast and powerfull and its interfaces lends itself to very natural organic modeling and there is always that added bonus that you can animated and render your final models.

Maya also has great Nurbs support which makes it even easier to pass data back and forth between CAD pacakge.

There is no doubt that a parametric surface is better for technical reasons but its not always the easist way to get the job done :) Maya is an awesome secret weapon in a CAD pipeline you would be suprised where its used...

There is also another entire issues which is reverse engineering where you scan in a point cloud tessalate it to a mesh then use some reverse engineering software which does some feature recognition and lies nurbs over the surface.

failure
11-10-2004, 08:12 AM
I'd like to think i am proficient with nurbs seeing as i am an certified StudioTools instructor I wouldn't disrespect you if you were not, you know :)
It's easy to think high of yourself and fall asleep at the same time. There is always a room for improvement.

The reason i use Maya and i am guessing csven does is that its cheap fast and powerfull and its interfaces lends itself to very natural organic modeling and there is always that added bonus that you can animated and render your final models. Yes, yes, no doubts about it. What I was ranting about is; why to use it's poly modeling facility as a starting point for nurbs-based solid models.

Maya is an awesome secret weapon in a CAD pipeline you would be suprised where its used... No I wouldn't be.


There is also another entire issues which is reverse engineering where you scan in a point cloud tessalate it to a mesh then use some reverse engineering software which does some feature recognition and lies nurbs over the surface. Actually that's one of the better solutions for poly to nurbs conversion. I would hardly call it a *reverse engineering* since it employes perfectly valid forward engineering volumetric algorithm called " (smoothed) marching cubes". ( The fact that it operates on voxel data and does the interpolation doesn't make it "reverse engineering" ). However it still outputs the polygonal data. Pretty uniform poly data that kinda easier translates to nurbs, but there are still problems with converting it to nurbs in a straightforward way because of the rigid topology that nurbs require. And it ( algorithm ) is copyrighted. But generally trivial to implement even at the script level in maya.

csven
11-10-2004, 12:07 PM
was there an answer to my question somewhere in all that?

Kabab
11-10-2004, 12:39 PM
I wouldn't disrespect you if you were not, you know :)
It's easy to think high of yourself and fall asleep at the same time. There is always a room for improvement..Of for sure! i am always keen to learn knew things and keep improving! you have to its a part of being in this industry..

Yes, yes, no doubts about it. What I was ranting about is; why to use it's poly modeling facility as a starting point for nurbs-based solid models..Ease of use and there is a little term in product design which is VERY important "Time to Market".


Actually that's one of the better solutions for poly to nurbs conversion. I would hardly call it a *reverse engineering* since it employes perfectly valid forward engineering volumetric algorithm called " (smoothed) marching cubes". ( The fact that it operates on voxel data and does the interpolation doesn't make it "reverse engineering" ). However it still outputs the polygonal data. Pretty uniform poly data that kinda easier translates to nurbs, but there are still problems with converting it to nurbs in a straightforward way because of the rigid topology that nurbs require. And it ( algorithm ) is copyrighted. But generally trivial to implement even at the script level in maya.Its refered to as reverse engineering because this process is usually done when you have a finished product you want to modify but don't have the orginal CAD data or it never existed hence its reversed engineered to create the data :) thats where the term comes form.

From what i understand from your arguement you are saying NURBS is much better techincally you should just skip poly's and model in nurbs because the conversion backwards is perfect but if you start with poly's you are leading yourself into a dead end?

Correct me if i am wrong.

CornFielD
11-10-2004, 12:45 PM
failure don't take this as a personal attack against you! this whole thread just seems be quite funny!

In the beginnig you threw in statements like

failure:No, it isn't.
Even if it was possible, what would be a reason for doing so?

failure:There is no way

failure:Convert polygons to nurbs only in one situation - if somebody is holding the gun against your forehead telling you to do so.

failure:If you want nurbs, model with nurbs. Don't convert finished poly models. It's stupid. Anyone who claims that it is not, either don't understend how polys work or how nurbs work, or both.

failure:No. First of all it is totaly irrational to convert each poly face to nurbs surface/patch. There are no gains in it and it spells "overkill".

failure:I don't want to offend anybody but:

"How do I convert polys to nurbs?"

is typical noob-trademark question ( in line with "how do I render to compressed avis" etc )


You don't want to do it! Forget it! Period!
Now, obey.
You'll understand later.

It's just quite irrational to write anything like this!
if someone is beginner or isn't It's good to know all the workarounds and little tricks how to do something like convert polygons to nurbs!

and polygonal and Nurbs surfaces both are exact same f@#$n MATH

failure
11-10-2004, 03:30 PM
Its refered to as reverse engineering because this process is usually done when you have a finished product you want to modify but don't have the orginal CAD data or it never existed hence its reversed engineered to create the data :) thats where the term comes form. Yes, but in context of problems discussed here it is not adequate to mark the process as "reverse engineering". Because when you do poly->nurbs you don't have finished product scan data. You have a polygonal "sketch", you voxelize it at some resolution, and then march the cubes to get poly data that is more suitable for conversion. Finaly, you need to run some heuristics on it to figure out the inter-patch topology and produce the actual nurbs surfaces.

But if you want it other way around ( just for the sake of arguement ): making up the nurbs surfaces out of poly data is exactly that; "reverse engineering". The process is pretty much equivalent to one you have given as an example; You don't have original nurbs/solid data or it never existed ( of course because you statrted with polys :) ) hence poly data is reverse engineered to create the nurbs/solid definition data. And it is not mere "conversion", because nurbs or solids, being a mathemathical entities, have a significantly greater degree of "order" and "definition" than lists of poly data.

In fact, turning raw poly data to nurbs is harder than turning the voxel grid. Voxel grid is "more ordered" and easier to process.

To average human participant in this process the whole pocess might seem like a forward-chain of several steps of *creation* ( forward engineering ). But it isn't. Because of the specific conceptual characteristics and differences between nurbs and polys, the poly->nurbs step is pure "reverse engineering".

Ease of use and there is a little term in product design which is VERY important "Time to Market".I'm not trying to neglect the time to market factor ( which btw is not the exclusive privilege of product design field ). But many times, accelerating the one step of production can lead to prolonged steps that come after it.


From what i understand from your arguement you are saying NURBS is much better techincally you should just skip poly's and model in nurbs because the conversion backwards is perfect but if you start with poly's you are leading yourself into a dead end? I've already said that for what you've described ( fast cad concepting in specific cases when characteristics of product simply yell "model me in polys" ) there is some sense in starting with polys. But in general, I think it leads maybe not to dead end, but to a very bumpy track for sure. This might not be so critical in cad area but in visualisation/animation it surely is.




It's just quite irrational to write anything like this!
if someone is beginner or isn't It's good to know all the workarounds and little tricks how to do something like convert polygons to nurbs! Plase, don't get so emotional, it's just a discussion. And double please, dont cut my statements out of several contexts and paste them together just to prove I'm irrational. I'm not irrational.

Maybe I was a little harsh at the beginning. But this problem ( poly->nurbs ) is pretty complicated and pretty borderline. Someone who is not well versed with both poly and nurbs modeling just don't need to be burdened with it. You need to understand internal workings of nurbs and polys in order to discuss about it - and the answer is not short nor simple. Not at all.

The short answer for a newbie-modeler ( who btw. asked very unprecise and superficial question ) is: No. Or more adequate: Don't do it if you don't know exactly why you need to do it and what results it could/couldn't produce and why it produces such results ( which is what we are discussing right now )

and polygonal and Nurbs surfaces both are exact same f@#$n MATH Very wrong. Nurbs are defined using math - polynomial functions to be precise.
Polys are not defined using math. They are just a lists of data.
Of course they both include some basic vector math ( all 3d stuff does ) but that is not an issue here.

csven
11-10-2004, 04:31 PM
It is not a question of "can/can't". Of course you can. It's question of does it make sense in terms of productivity and workflow eficiency ( both; human and computer ). And I'm saying; it does not. -

Of course that "productive" and "efficient" depends on what you consider to be "productive" or "efficient". But there are certain solid production standards that are driven by deadlines and budgets - it can be measured whether some process is efficient.

You {csven} can do whatever you wish with your workflow, but having poly to nurbs conversion somewhere inside production pipeline is a major mistake.

There are people who can do "fast prototying" with nurbs or csg.

It all depends on the level of skill and knowledge.-

No, he {csven} should just model it in cad.

Theoreticaly, it can be done. It's a task that is very similar to converting polys to nurbs since nurbs *are* parametric geometry. Part of the nurbs modeling workflow in maya is very similar to working with constructive solids.

And in most cad packeges nurbs are used as a basis for sg.-

I'm not using any cad program-

Sorry if I offended you with something, but I just don't have time to reply to sarcastic remarks. Ask a specific question, I will help you if I can.

Why do you need to produce a solid for fast concepting?i asked a simple question. FAILURE said i'm doing it all wrong. basically called me inexperieced and stupid. so i asked for how i should do what i described correctly. it was a specific and detailed question. and no answer? he has time to respond with a book to everyone else but can't tell me how to do it the "right" way after all that?

failure
11-10-2004, 04:41 PM
i asked a simple question. FAILURE said i'm doing it all wrong. basically called me inexperieced and stupid. so i asked for how i should do what i described correctly. it was a specific and detailed question. and no answer? he has time to respond with a book to everyone else but can't tell me how to do it the "right" way after all that? Oh, come on, you know it isn't like that. Don't misinterpret and banalize things. It's childish. I'm sorry if my statements or lack-of-statements made you feel bad. This isn't *that* important topic after all.

*You* and *he* wasn't refering to you {csven} or he{csven} but to any person who is hypotheticaly applying the procedure in discussion.

If you disagree with me, maybe you should supply some additional counter arguments opposing my claims intstead of trying to prove I'm the essence of evil.

What was the question again?

csven
11-10-2004, 05:06 PM
*You* and *he* wasn't refering to you {csven} or he{csven} but to any person who is hypotheticaly applying the procedure in discussion.really?

what's this:


In csven case he has to use nurbs because you can't create a parametric solid object from poly's in a CAD package.No, he should just model it in cad.
Theoreticaly, it can be done. It's a task that is very similar to converting polys to nurbs since nurbs *are* parametric geometry. Part of the nurbs modeling workflow in maya is very similar to working with constructive solids.
And in most cad packeges nurbs are used as a basis for sg.funny. sure looks like you're specifically talking about my case.

If you disagree with me, maybe you should supply some additional counter arguments opposing my claims intstead of trying to prove I'm the essence of evil.

What was the question again?the question is still there, and you can consider it my "counter argument" in the flesh. answering it will suffice.

thank you.

but if you can't, then say you can't. being evasive in this manner is at least equally childish to defending myself from your insinuations that i'm lacking "skill and knowledge".

failure
11-10-2004, 05:15 PM
but if you can't, then say you can't. being evasive in this manner is at least equally childish to defending myself from your insinuations that i'm lacking "skill and knowledge".
Yes, you are right. I can't. You posess great skill and knowledge. I'm deeply sorry I offended it. Really.

csven
11-10-2004, 05:24 PM
Yes, you are right. I can't.
someone better get him to the hospital. i think this admission is killing him. i would, but now i have better things to do. later.

CornFielD
11-10-2004, 05:24 PM
hehe! this is starting to get even more enjoyable in good meaning! I am really enjoying! thatīs why I sometimes get involved with these threads!

now we have gone far away from topic but lets continue for a while! I think that right answer has been given couple of times already :)

There is still one thing which isnīt clear for me! you said that polygonal data isnīt precise!
of course it is precise! Polygonal surfaces are also defined with functions those are just simplier (not polynomial(as you said))

I am sorry about that cutting thing :) that was hit under your belt!

failure
11-10-2004, 05:33 PM
someone better get him to the hospital. i think this admission is killing him. i would, but now i have better things to do. later.
Now, now...just don't forget that you've done your first poly->subdiv->nurbs conversion exercise just about two months ago.
http://www.cgtalk.com/showthread.php?t=166765

How many times do I have to repeat: I have no intentions or need to atack anybody personally. Now back on the topic, enough of meaningless flaming.

csven
11-10-2004, 06:35 PM
Now, now...just don't forget that you've done your first poly->subdiv->nurbs conversion exercise just about two months ago.
http://www.cgtalk.com/showthread.php?t=166765

How many times do I have to repeat: I have no intentions or need to atack anybody personally. Now back on the topic, enough of meaningless flaming.first post from 09-02-2004:

went back to look at older threads and don't see much on this topic. wondering if anyone's had good success converting or found a tutorial with a nice workflow (or maybe Disney released their in-house tool :) ).

when i was trying before, the objects weren't overly complex. that was at least a year ago. thought i'd try something today - a shape with a handle (pitcher, clothes iron, etc). in NURBs it usually winds up being patches. but for me, single surface shapes are highly desirable (for easy CAD import). so the handled item is still an issue. the patch modeling method of going around the hole and attaching/detaching eats time as well. so the hope is that modeling in polys and converting over to NURBs will give me faster results. maybe not "final", but these are for concept models not manufacturing. but my attempt to get a handled item from subD to NURBs are failing (edit-too many patches to fix on CAD import).

any advice or links? the Maya docs didn't help. and haven't located anything online. thanx in advance."your first... exercise just about two months ago" <> "09-02-2004"+"trying before...at least a year ago"

wrong again.

failure
11-10-2004, 06:41 PM
Yes, I'm a failure.

failure
11-10-2004, 07:05 PM
There is still one thing which isnīt clear for me! you said that polygonal data isnīt precise!
of course it is precise! Polygonal surfaces are also defined with functions those are just simplier (not polynomial(as you said)) I didn't say that "polygonal data isn't precise".

Polygons meshes are not defined with functions. They are defined with tabular data. They can be *generated* using functions. For example; when you create poly cylinder maya takes the equation of the cylinder, calculate the positions of vertices, and store the verex data in a list forgeting all about the cylinder equation.

Nurbs surface is defined with 3 functions:

px = x( u, v )
py = y( u, v )
pz = z( u, v )

Position of each point on nurbs surface [px,py,pz] can be calulated by supplying it's uv coordinates to these three parametric functions. U and V can be any number in 0-1 range.


Polygon meshes are defined with table of positions of all vertices. For example
v1 = [ 1.32, 2, 2 ]
v2 = [ 3, 4.5, 4 ]
v3 = [ 4, 5, 5.4 ]
.
.
vn = [ x, y, z ]

And a lookup list of vertex indices for each face:
f1 = [ v1, v5, v6 ]
f2 = [ v4, v6, v8 ]
.
.
fn = [ va, vb, vc ]


For nurbs surface, computer only needs to know the three equations and it calculates the surface points "on-the-fly" as needed.

For mesh surface, coordinate of every single vertex must be storeded in memory.

Now generating vertex coordinates from equations ( nurbs -> poly ) is simple and straightforward - just calculate the equation. But given many vertex coordinates, figuring out the right nurbs functions that produced them ( poly->nurbs) is a hard thing. ( In math, this process is called interpolation and it's never trivial )

Especially because infinitely large number of surfaces could contain the given vertex set, and only small number of them look right ( for our purpose )

It gets even more complicated when your vertex set is large and you need to find a greater number of nurbs surface equations all having tangential continuity.

CornFielD
11-10-2004, 07:28 PM
polygonal mesh is defined by vertices and edges.
vertices have positions in space, but edges are defined with functions!

failure
11-10-2004, 07:53 PM
polygonal mesh is defined by vertices and edges.
vertices have positions in space, but edges are defined with functions!
You can say that they are *implicitely* defined with linear functions because two vertices that define the edge also define the linear function. But it's an abstraction that is irrelevant here.

These "functions" not need to be calculated in order to manipulate the polygons or draw or render them. Raw poly data is just thrown at video card or renderer. No actual edge-function calculations get done. Which is not a case with nurbs.

In other words edges can be *interpreted* as linear functions if needed, but are not defined using functions, they are defined by vertex positions.

Note that each edge has it's own implicite function, while whole nurbs surface is defined with just one function ( broken up in 3 parametric parts for each space coordinate ).

CornFielD
11-10-2004, 08:41 PM
There still has to be somekind of function which has to be calculated before you see your polygon/face. itīs renderer or graphicscard which calculates planes in the space which are defined with corners and edges!

I know that "the point" was how polygons are defined

at this stage anything isnīt relevant

failure
11-10-2004, 09:56 PM
It's simpler than that. Only vertex data is send to the graphics card. Vertex coordinates get multiplied with world transformation matrix and camera projection matrix. This transforms the vertices into the screen coordinates. Gpu's rasterizer then draws 2d polygons on the screen using only tranformed vertices.

If you prefer functions, matrix multiplication can be considered a function - in a same way the addition or subtraction of integers is a function.

grrinc
11-11-2004, 08:55 PM
I would hardly call it a *reverse engineering* since it employes perfectly valid forward engineering volumetric algorithm called " (smoothed) marching cubes". ( The fact that it operates on voxel data and does the interpolation doesn't make it "reverse engineering" ). However it still outputs the polygonal data. Pretty uniform poly data that kinda easier translates to nurbs, but there are still problems with converting it to nurbs in a straightforward way because of the rigid topology that nurbs require. And it ( algorithm ) is copyrighted. But generally trivial to implement even at the script level in maya.Hey I'm a bit of a noob here myself, so I dont want to overstep the mark. I understand you wouldn't call it 'reverse engineering', but I get the impression that the CAD/Manufacturing industry are more than happy to call it so!
I couldn't really get my head around what you wrote there, but I think you have the wrong impression of what this kind of software does. It doesn't convert poly \ points date into nurbs at all. It takes it as a base model and layers over a new nurbs surface over the top. The original data is then discarded leaving a shiny new ignes file ready for importing to the appropriate app (Maya for instance). Think of it like wall papering. If I misunderstood what you where getting at, apologies.

failure
11-12-2004, 01:37 AM
Hey I'm a bit of a noob here myself, so I dont want to overstep the mark. I understand you wouldn't call it 'reverse engineering', but I get the impression that the CAD/Manufacturing industry are more than happy to call it so! I didn't see any "CAD/Manufacturing industry" speaking here.

I couldn't really get my head around what you wrote there, but I think you have the wrong impression of what this kind of software does. It doesn't convert poly \ points date into nurbs at all. It takes it as a base model and layers over a new nurbs surface over the top. The original data is then discarded leaving a shiny new ignes file ready for importing to the appropriate app (Maya for instance). Think of it like wall papering. If I misunderstood what you where getting at, apologies. I don't have any *impressions*.
What you wrote here is description of how process might looks from the outside, to the average user( of course, you gave us best case scenario which is rarely the case in a real life ). I was trying to comment on what is happening behind the curtain, hidden from the user. Commonly, It's not expected of software user to know it but it is a good thing to have some insight. Especially if problem is as complex as this one is. It's what makes you a power-user.

It takes it as a base model and layers over a new nurbs surface over the top. It's what most people take for granted. But this is where the problems are. It's not easy for computer to find that surface(s). And often it finds the "wrong" one. Or puts a dozens ( or hunderds ) of surfaces where it seems natural ( or is needed ) to have only one.

Making idealized assumptions about how things work, based on no real knowledge is a thing you don't want to do. It might bounce back and hit you in the head someday.

grrinc
11-12-2004, 07:38 AM
My first comment was a reference to the comment you made that you felt the process was hardly worth calling 'reverse enginering'. I was simply letting other viewers know that there is an entire industry that feel it is worth calling 'reverse engineering'.

With regards to how the process works, it looks as though I will have to do some more homework. From my experience however, the user has total control over the placement, size and topology of the patches, it can be as heavy or light as the user wishes. And it doesn't 'often find the wrong one' at all. Once in a blue moon maybe.

failure
11-12-2004, 08:20 AM
My first comment was a reference to the comment you made that you felt the process was hardly worth calling 'reverse enginering'. I was simply letting other viewers know that there is an entire industry that feel it is worth calling 'reverse engineering'. What industry? Where did you read that there is entire industry that feels caling it like that?
Besides, read my post about it again. I gave two possible aproaches to look at it; as being "reverse engineering" and as being "forward engineering". And you can see that I agree that it depends on context ( source of interpolated data ) and how one prefers to look at it. After all, It's only a naming convention.

From my experience however, the user has total control over the placement, size and topology of the patches, it can be as heavy or light as the user wishes. And it doesn't 'often find the wrong one' at all. Once in a blue moon maybe. If user have total control, where's the automation then? Having *total control* is equal to doing it manually.
How many and how morphologicaly and topologicaly versatile poly datasets have you tested as input? For what purpose are conversions done and how the resulting nurbs models performed afterwards ( in a target application or process ) ?
And what was the name of the software you used?

grrinc
11-12-2004, 11:49 AM
I'm sorry Failure, but you really are coming over as a hostile and arguementative git. I am a noob and you are 'power user'. No contest really is it? Anyone else who fancies taking a look at the points I was trying to make, try these....


www.geomagic.com/ (http://www.geomagic.com/)
www.rapidform.com/ (http://www.rapidform.com/)
www.paraform.com/ (http://www.paraform.com/)
www.innovmetric.com/ (http://www.innovmetric.com/)

Apologies to all for this abrupt end, this kind of debate aint my style.

failure
11-12-2004, 12:33 PM
Ok, you win. You have suceeded in proving me wrong. Congratulations!

Now everybody go and convert these bad polys to nurbs. It's good for you. And easy too! Let's all together show that jerk failure how it's done properly. Rite now! And guys... don't forget to wear your friendly promo "reverse engineer" t-shirts.


'xcuseme but now I must go eat some more pineapple slices in light syrup... blink...blink

nessjp
10-02-2005, 10:38 PM
Sorry to revive this thread, but I seriously would like to know this as answer as well.

I am not a Noob to CAD (15 Idustry years), but I have played with Poly and NURB apps for about 3 years.

I understand that the subject thread question is not a desired thing to do and under most circumstances, proper modeling or planning in the relevant app is ideal. However, there is often times that this would be nice.

My example that I would use it for is that I work with SolidWorks for 50 hrs a week every week as my full time job. I work in the Commercial Aircraft Industry creating furniture monument CAD Models like closets, lavs, partitions, etc.

There are times that we would like human models and items of more organic nature to import into our CAD models for quick interaction and layout.

Modeling humans in a CAD program is not ideal and not an answer I do not care how good you are or think you are.

Human models are readily available and easily tweaked and modified in 3d apps. Bringing these into CAD like Solidworks results in heavily poly faceted models. Therefore, the Poly human (or whatever) needs to be converted to NURBS for good export in .STP to Solidworks to look smooth.

So, as you can see, all bickering aside, some of us could benefit from a real world solution of Polys to Nurbs.

If anybody has any real answers I am all ears.

Andrei2k
10-03-2005, 03:31 AM
A good solution would be a slow and arduous process reffered to a nurb patch modeling which ironically is in fact what converting subD to NURBS gives you only it is not usually as clean as done by hand. If any on you use StudioTools it has much better tangency and stitching tools then Maya for this patch process in order to get as close to a water tight model as you can get.the problem still relies IMO in the importers and exporters and how accurately the data is interpolated and understood. I know that doing anything remotely organic in SolidWorks is a nightmare but why I wonder would you want a human in a solid/CAD program??? Maya is the answer for that but if you want to output a toy for example as a prototype just do it in Maya and export it to studioTools which can probably get you to a STL if thats what you need to output it.

Bottom line is SolidWorks or equivalent is horrible for a lot of very organic modeling so avoid it no matter what is what I have done. Anyone that has bee to SIGGRAPH knows that Maya is perfectly capable of outputting prototypes although the stl file need to be cleaned up in either the rapidprototype software or something like Geomagic studio.

grrinc
10-03-2005, 03:48 PM
Human models are readily available and easily tweaked and modified in 3d apps. Bringing these into CAD like Solidworks results in heavily poly faceted models. Therefore, the Poly human (or whatever) needs to be converted to NURBS for good export in .STP to Solidworks to look smooth.


If the poly models look faceted and unsmoothed, is there not an option to smooth the normals?? This way they can still stay polys but keep the uniform smooth look you require. Just an idea.!!

nessjp
10-03-2005, 06:54 PM
If the poly models look faceted and unsmoothed, is there not an option to smooth the normals?? This way they can still stay polys but keep the uniform smooth look you require. Just an idea.!!

Not in SolidWorks.
There are no "Normals" in CAD.

DorisDay
02-08-2006, 07:09 AM
Ok, you win. You have suceeded in proving me wrong. Congratulations!

Now everybody go and convert these bad polys to nurbs. It's good for you. And easy too! Let's all together show that jerk failure how it's done properly. Rite now! And guys... don't forget to wear your friendly promo "reverse engineer" t-shirts.

To much caffeine I thinks...:p

Where can I get one of those T-shirts they sound cool...:cool:

CGTalk Moderation
02-08-2006, 07:09 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.