re: OpenCASCADE 的安装与编译 birds 2019-03-25 15:11
博主您好,
您能帮我看下吗,这是什么问题?
Draw[1]> pload ALL
1
Draw[2]> vinit
Driver1/Viewer1/View1
Draw[3]> vglinfo
OpenGL info:
GLvendor: ATI Technologies Inc.
GLdevice: AMD Radeon(TM) R7 350X
GLversion: 4.6.13547 Compatibility Profile Context 25.20.15025.1002
GLSLversion: 4.60
Max texture size: 16384
Max combined texture units: 160
Max MSAA samples: 8
Viewport: 409x409
GPU memory: 4096 MiB
ResolutionRatio: 1
re: OpenCASCADE 的安装与编译 birds 2019-03-25 11:26
博主您好,
我现在使用的是OCC7.2版本的,我试着编译打开MFC的案例,发现里面的贴图功能最后贴出来的图是黑色的(瓶子,地图,厨房被贴的地方都是黑色的),没有效果,不知道是什么原因?是我没配置好,还是OCC这方面功能还不完善?
博主您好,我如何在opencascade里读取.sat文件?
@eryar
TopoDS_Shape aShape;
if (!toCreateCompOfTris)
{
// Read STL file to the triangulation.
Handle(Draw_ProgressIndicator) aProgress = new Draw_ProgressIndicator (theDI, 1);
Handle(Poly_Triangulation) aTriangulation = RWStl::ReadFile (aFilePath.ToCString(), aProgress);
TopoDS_Face aFace;
BRep_Builder aB;
aB.MakeFace (aFace);
aB.UpdateFace (aFace, aTriangulation);
aShape = aFace;
}
是不是最关键的就是这个,RWStl::ReadFile可以直接生成三角网格,然后将每个网格叠加到面上,而之前版本readFile只能生成mesh模型,进而计算点,画网格,特费时间。
谢谢博主
@eryar
我用的是7.0版本的occ,那需要怎样可以完美显示stl实体。求教
嗯 对 因为stl文件简单,读写速度最快,所以我想导入stl格式来做仿真模拟测试。
您好,
我通过MeshVS_Mesh显示生成读取的stl文件,之后又通过MeshVS_ElementalColorPrsBuilder添加颜色面片,但是该怎么将生成的网格模型显示为带有阴影立体状态,而不是纯色调、没有立体感。
谢谢,我懂了。还有一个问题请教博主,那就是我想在一个模型表面通过(u,v)提取坐标点,但是往往导入模型occ识别时都不是单一面(也就是有很多个topods_face),这样就需要我对每个面分别处理一次得到一批点,最后导致得到的点区域化,没有规律,并且在面与面交线处有重复点,所以我想问博主的是,有没有办法可以将多个面转化为一个面进行参数化处理,一次性得到所有的点。谢谢
博主您好,
我在使用bounds函数时发现,该函数对于导入的模型边界大小范围永远是0-1之内,但是通过occ自己生成的曲面却能得到精确的边界值大小。这是为什么?
博主您好
又有问题请教了,我如何用vs+qt来显示如上图DRAW所示的各个点的坐标方向?谢谢
re: Qt with OpenCascade birds 2018-05-30 10:30
谢谢 已解决,就是添加了环境变量。万分感谢博主。
re: Qt with OpenCascade birds 2018-05-29 13:28
我是用vs2013+Qt5.6.2 编译opencascade7.0的
re: Qt with OpenCascade birds 2018-05-29 10:06
谢谢博主,已解决,但是后来我在调试时发现内存错误,
HWND winID = (HWND) (winId());
Handle_WNT_Window hWnd = new WNT_Window(winID);
myView->SetWindow(hWnd); //当程序运行到这一行时,突然报错:
0x00007FF9B3DEF218 处(位于 occt.exe 中)有未经处理的异常:Microsoft C++ 异常: Standard_Failure,位于内存位置 0x000000CF5EBDDB10 处。
这时程序就跳到OpenGl_ShaderManager.hxx文件的
Standard_Boolean BindFboBlitProgram()
{
if (myBlitProgram.IsNull())
{
prepareStdProgramFboBlit();
}
return !myBlitProgram.IsNull()
&& myContext->BindProgram (myBlitProgram); //执行到这儿出错
}
求博主看看这又是什么方面的问题。万分感谢。
re: Qt with OpenCascade birds 2018-05-24 17:44
您好,我是第一次通过vs2012+qt5.2编译该案例,但是最后生成.exe文件前总是报错,无法解析外部符号,VS2012中的部分报错如下:
moc_vier.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static struct QMetaObject const QGLWidget::staticMetaObject" (__imp_?staticMetaObject@QGLWidget@@2UQMetaObject@@B)
1>vier.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl QGLWidget::QGLWidget(class QWidget *,class QGLWidget const *,class QFlags<enum Qt::WindowType>)" (__imp_??0QGLWidget@@QEAA@PEAVQWidget@@PEBV0@V?$QFlags@W4WindowType@Qt@@@@@Z),该符号在函数 "public: __cdecl vier::vier(class opencascade::handle<class AIS_InteractiveContext>,class QWidget *)" (??0vier@@QEAA@V?$handle@VAIS_InteractiveContext@@@opencascade@@PEAVQWidget@@@Z) 中被引用
1>vier.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __cdecl QGLWidget::~QGLWidget(void)" (__imp_??1QGLWidget@@UEAA@XZ),该符号在函数 "int `public: __cdecl vier::vier(class opencascade::handle<class AIS_InteractiveContext>,class QWidget *)'::`1'::dtor$1" (?dtor$1@?0???0vier@@QEAA@V?$handle@VAIS_InteractiveContext@@@opencascade@@PEAVQWidget@@@Z@4HA) 中被引用
1>vier.obj : error LNK2001: 无法解析的外部符号 "protected: virtual bool __cdecl QGLWidget::event(class QEvent *)" (?event@QGLWidget@@MEAA_NPEAVQEvent@@@Z)
1>vier.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl QGLWidget::glDraw(void)" (?glDraw@QGLWidget@@MEAAXXZ)
1>vier.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl QGLWidget::glInit(void)" (?glInit@QGLWidget@@MEAAXXZ)
1>vier.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl QGLWidget::initializeGL(void)" (?initializeGL@QGLWidget@@MEAAXXZ)
1>vier.obj : error LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl QGLWidget::initializeOverlayGL(void)" (?initializeOverlayGL@QGLWidget@@MEAAXXZ)
然后我又在qt5.2中编译了一次,它又是在生成执行文件前出错,错误如下:
occt.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __cdecl BRepPrimAPI_MakeBox::BRepPrimAPI_MakeBox(double,double,double)" (??0BRepPrimAPI_MakeBox@@QEAA@NNN@Z),该符号在函数 "private: void __cdecl occt::makeBox(void)" (?makeBox@occt@@AEAAXXZ) 中被引用
occt.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __cdecl BRepPrimAPI_MakeBox::BRepPrimAPI_MakeBox(class gp_Pnt const &,class gp_Pnt const &)" (??0BRepPrimAPI_MakeBox@@QEAA@AEBVgp_Pnt@@0@Z),该符号在函数 "private: void __cdecl occt::transform(void)" (?transform@occt@@AEAAXXZ) 中被引用
。。。。
求博主老师帮帮我,谢谢。