Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Help needed, importing 3d models, automotive 1

Status
Not open for further replies.

CarbonWerkes

New member
Mar 15, 2006
62
I use Solidworks primarily to design 3d solid models for later use with fluid dynamics tools (aerodynamics). I am working on an auto project (80's Porsche 911), and wanted to import an established model from 3D Studio or Lightwave, since there are many models available of this car in those formats (and none in Solidworks, so far as I can tell).

Problem is- Im not able to import any of the intermediate formats (DXF, IGES, STL) from these other programs as a solid- or even as a surface. DXF fails with no error (shows model in the import dialog box, where you select 2d Sketch or 3D model)- but 3D yields no object on 'final' import... IGES generally fails (may import a few panels but not an entire shell, presumably because of open surfaces, etc, and just yields the infamous XLO '1 error found' file. STL will only seem to produce an 'STL Graphic,' which appears to be a fairly clean 3d object, but behaves like a 3d bitmap- I cant seem to use it for anything other than reference geometry to manually define splines for lofts, etc- not a lot of benefit there.

Is there an effective way to import as a solid or surface a model created in Max or Lightwave? If there is a way to leverage an STL Graphic in some way (i.e. for use as a cut on a solid, or for shelling, etc), problem solved.

Regards,
Roland
 
Replies continue below

Recommended for you

SW does not support surface entities to or from DXF.

Quality of an IGES depends on the exporting application. Generally, quality of Max and Lightwave default settings is quite low compared to what MCAD programs like SolidWorks expect.

There may be places to go to refine models, but it likely will not happen free of charge.
 
Do you happen to know if there is a way to leverage an imported STL Graphic as a baseline for conversion to a shell or solid? It seems strange to me that I can import this graphic, and rotate it in 3D, but not use it otherwise; that is, Solidworks presumably has a point cloud for rendering this surface, so one would like to think that this could drive some other function (i.e. a subtract from a solid block yielding an inverse model, etc).

Worst case, I can generate a surface cloud manually, and then use that to generate splines/lofts, but that is very time consuming :(

Best,
R
 
Look for someone with Rhino3D software (maybe they have a trial) as the graphic artists I used to work with could export almost anything to a SW format from that software.

Or set up workplanes at your desired spacing, edge project from a tiny trim of the STL on each plane, then loft the sketches into a surface.
 
You have a polygon model, not a nurbs model. Soliwoks is a parametric surface modler. I uses NURBS primatives and geometry and functions under a parasolid kernel, it does not use polygon primatives like these 3d graphics packages do. Solidworks treats faceted 3d models like stl, wrl, obj, dxf, igs (ie: polygon or triangle models) as bilinear nurbs patches). You won't get more than 100K triangles in. They are very heavy on the package.

You could use reverse engineering software (raindrop, rapidform to name a few-- $$$) to do this, by surfacing the polygons with curves networks to create surface patches. I am very skeptical of the NextEngine system for 2k that was shown at SW World because they showed no interface of going from points to polys to surface patches. If they had a good interface for this I would buy the scanner just for that. They won't reply to any of my emails asking about this.

Do what you said. Import the graphics body and then import the point verticies with a point import macro and use these points to create your geometry. It is time consuming. Tessalation of NURBS to polygons is easy. Polygons to NURBS is a whole new ballgame. There is no magic bullet.

RFUS
 
Rfus-

Thanks for the response- I was hoping that I was wrong about the process, but perhaps I was right for once :(

Maybe this is why there are so few (automotive) models published as native solidworks files...

If anyone else does know of a magic bullet- Ill keep my fingers crossed.

Thanks all-
R
 
Not sure if you are aware but when importing stl files,under options, you can specify whether the import body is a graphic, solid or surface body.It may give you more options as you can pick vertices, surfaces and curves to use as reference when importing as surface or solid which you cant if just a graphic.
 
Levvy-

When I try to import an STL from my models (3DS source models exported via Autodesk, or even other apps like Geomagic) as anything but a graphic body, I get an error "Unable to create surface/solids." I have tried various combinations of settings for the import options, with no luck. Maybe this is the hard limit Rfus suggested (> 100K triangles).

I have an industry friend who is good with Geomagic, but even there, the surface quality on anything with sharp angles (i.e. spoilers, side mirrors, door handles, etc) becomes a mess. I suppose I could export surfaces for smoooth components (i.e. door without handle, glass, hood), and use these as building blocks for lofts. Or, maybe Im better off with Rfus' suggestion- to just export the body as a series of point vertices, and then spline it manually.

Another option though- the Geomagic package has the ability to cross section the polygon mesh. So, maybe I could just generate a bunch of slices/stations, and loft between them...

Scott- yea, would be nice if I could just eyeball this- but it is a precursor file for a CFD model mesh. Accuracy here is very important, since even a minor variance in something like windshield profile would have huge impacts on airflow.

I never expected reverse engineering with modern technology to be such a headache.

Regards,
R
 
CarbonWerkes - That's the beauty of "modern technology" all the companies that offer these types of MCAD software (3D parametric) have chosen unique paths to enable there customers to solve design problems. The key to your problem seem to be the originating software is not 3D parametric. Here is an article I posted in another thread that goes into issue with cross-platform solid model exchange.


Best Regards,

Heckler
Sr. Mechanical Engineer
SW2005 SP 5.0 & Pro/E 2001
Dell Precision 370
P4 3.6 GHz, 1GB RAM
XP Pro SP2.0
NVIDIA Quadro FX 1400
o
_`\(,_
(_)/ (_)

Never argue with an idiot. They'll bring you down to their level and beat you with experience every time.
 
Ok, hopefully this helps.

Make a complex shaped solid with a loft. You have created a BREP surface topology. B-Rep solids are Euler topological boundaries). This could also be described as manifold surface in a Reimann space. This is a parameter driven model, hence, parametric.

To better understand a parameter model. Make a circle and extrude it. You have a primitive function driven by two parameters u and v. r(u,v)=(acos(u), a sin(u), v) where v is your extrusion length. Parametric Feature based modeling uses primitive geometry like a spheres or torus, NURBS curves and surfaces, it uses parent/child design trees (much like LOSP), and is full of Geometric relations, equations, and dimensioning. NURBS are controlled by knot vectors. Curves can establish Positional Continuity, Tangential Continuity, and Curvature Continuity; (C0, C1,C2) respectively. G0, G1, and G2 continuity is positional, tangential, and continuity respectfully, can be established in surfaces. Solidworks is built for this stuff.

Solid Modeling is actually just a set of feature based surface creation macros which form closed solids.

Now, what you are actually viewing on your display is polygons. Your graphics card takes this geometry and tessellates it. Your display is showing you rendered triangles of the solid or surface body. Here is a good test for you. Take a complex solid -> go to save as STL -> go to options -> move this box out of the way - > and click preview. Change the tolerances and watch the difference in the tessellation. Save this as an .stl. Your geometry is now a bunch of triangles that are a representation of your geometry within a certain tolerance. If you are low on memory you can crash your app just by setting the tolerances very high and tying to view a preview. Now, save the same complex solid as a parasolid or step. Compare. The stl triangles will take a long time to come in, if at all. They may form a solid, they may not. It doesn't matter, because you can’t do much with these triangles in SW anyway other than use the vertices to try create something. The package was not built for large polygon counts, it treats them as bilinear nurbs patches. I tested the actual limits to be 100K triangles in 2004. They have said 2007 will cater to working with scan data, which becomes polygons, which then can be surfaced with the right tools and algorithms. Geomagic and rapid form were built to do this but they can barely stay afloat because the needs for this are minimal........But.....now import the step or parasolid file that you made of that complex geometry. Solidworks is built for this geometry, not large polygon files, and reads this geometry right in. Although, your graphics card is is turning it right back into polygons so you can view it.

People will often say, well, if I convert the file to this format, and solidworks accepts this format then why won't it work. Curves and surfaces can be represented in IGES and DXF, and Triangle files can be represented in Iges and DXF format, they can be represented in Geomagic has its own triangle format. .x, .3ds....there are hundreds of triangle formats.

So why do people use them. Of course, graphics (open GL, direct x). All display is triangles, then gridded as pixels. Triangles can be decimated to reduce data size without noticeable loss in detail. Triangle counts can be reduced and shaders can display them as smooth on your display (New DirectX 10 for Vista, Holy Cow). You can Add texture to them and you have all the geometry for graphics and shaders are applied in the graphics card pipe. TINs are used in GIS data. FEA uses triangle meshes. rapid prototyping, even CAM and CNC is interpolating across these splines or surfaces to a tolerance to create linear moves. There are hundreds of uses. Tessellation of NURBS geometry can be done in a number of methods. Quad tree methods are commonly used. Point clouds can be tessellated with Delaney triangulation and Voronoi diagram methods.

I have tested all the auto surfacing tools in all the reverse engineering packages. None of them are perfect.

What you more than likely have with your car model, is someone who used Catia, or UG, or SW, or ProE, to create a Car, and hit save as tessellating it to some triangle format for the guys using Maya, or Lightwave, of 3ds to put in their animations, games, renderings, etc. These high end graphics guys can Make nurbs and use NURBS too, but they aren't as catering to us MCAD guys.

So, Do what Scott said. Make the model yourself. You will thank yourself for it. Do it in surfaces or do it in solids. Using the stl graphics body to view as a reference helps guide you splines. Solidworks is powerful enough for some heavy industrial design surfacing and concept modeling. It will only keep getting better too because there are so many of us using it. If they want to take over reverse engineering and inspection with this next enginge system then they could if there was real money in it.

I'm done. Thanks for the star Jabberwocky. Hope I'm not coming off as someone who runs my mouth with this long post. CarbonWerkes, I'm just saying what I leaned when I asked the same question as you did and then researched for years about everything out there. Just trying to save you some time on parsing triangle files with solidworks.

A note:

to surface points brought in with the point import macro -use selection filters, view orientations, and insert curve through reference points. Loft these curves. Make surfaces and then trim the surfaces with planes. You can do a lot to surface points in SW. It just takes a lot of patience and fairly organized data.

RFUS
 
Thanks, that was useful. So, given an iges file of an arbitrary shape (a 3D response surface actually, with 50000 polygons) what is the best way of turning it back into a NURBS model with a smoother form?



Cheers

Greg Locock

Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor