|
cgma
|
#include <vector>#include "InitCGMA.hpp"#include "CGMApp.hpp"#include "CubitCompat.hpp"#include "FacetQueryEngine.hpp"#include "BodySM.hpp"#include "Body.hpp"#include "GeometryQueryTool.hpp"#include <iostream>Go to the source code of this file.
Functions | |
| static void | print_usage (const char *name, std::ostream &stream) |
| int | main (int argc, char **argv) |
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 22 of file geo_from_stl.cpp.
{
std::vector<CubitString> args;
CGMApp::instance()->startup(args);
if (argc<2)
{
print_usage(argv[0], std::cout);
return 0;
}
const char* filename = argv[1];
const char *out_file = "out.facet";
double angle = 135.;
if (argc>2)
angle = atof(argv[2]);
double tolerance = 1.e-6;
if (argc>3)
tolerance = atof(argv[3]);
if (argc>4)
out_file = argv[4];
CubitStatus status = InitCGMA::initialize_cgma();
if (CUBIT_SUCCESS != status) return 1;
DLIList<CubitQuadFacet*> quad_facet_list;
DLIList<CubitFacet*> tri_facet_list;
DLIList<Surface*> surface_list;
FacetQueryEngine* fqe = FacetQueryEngine::instance();
status = fqe->import_facets(filename, CUBIT_TRUE, angle, tolerance, 4, CUBIT_TRUE,
CUBIT_FALSE, CUBIT_TRUE, CUBIT_TRUE, quad_facet_list, tri_facet_list,
surface_list, STL_FILE);
// get bodies, then export to a facet file
DLIList<Body*> bodies;
GeometryQueryTool::instance()->bodies(bodies);
PRINT_INFO(" num bodies: %d\n", bodies.size());
//BodySM* bodysm_ptr = body_ptr->get_body_sm_ptr();
DLIList<TopologyBridge*> model;
for (int j=0; j<bodies.size(); j++)
{
BodySM* bodysm_ptr = bodies[j]->get_body_sm_ptr();
model.append( (TopologyBridge*)bodysm_ptr);
}
ModelExportOptions opts;
fqe->export_solid_model(
model, out_file, FACET_TYPE,
CubitString(), opts);
PRINT_INFO( "converted stl %s to %s \n", filename, out_file);
if (CUBIT_SUCCESS != status) return 1;
return 0;
}
| static void print_usage | ( | const char * | name, |
| std::ostream & | stream | ||
| ) | [static] |
Definition at line 16 of file geo_from_stl.cpp.
{
stream << "Usage: " << name << " <input stl file name> [ <angle (degrees)> <tolerance> <output geometry file name> ] " << std::endl;
stream << " default arguments: angle: 135. tolerance: 1.e-6 output file: out.facet \n";
}