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
博主您好,
我現(xiàn)在使用的是OCC7.2版本的,我試著編譯打開MFC的案例,發(fā)現(xiàn)里面的貼圖功能最后貼出來的圖是黑色的(瓶子,地圖,廚房被貼的地方都是黑色的),沒有效果,不知道是什么原因?是我沒配置好,還是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;
}
是不是最關(guān)鍵的就是這個,RWStl::ReadFile可以直接生成三角網(wǎng)格,然后將每個網(wǎng)格疊加到面上,而之前版本readFile只能生成mesh模型,進(jìn)而計算點,畫網(wǎng)格,特費時間。
謝謝博主
@eryar
我用的是7.0版本的occ,那需要怎樣可以完美顯示stl實體。求教
嗯 對 因為stl文件簡單,讀寫速度最快,所以我想導(dǎo)入stl格式來做仿真模擬測試。
您好,
我通過MeshVS_Mesh顯示生成讀取的stl文件,之后又通過MeshVS_ElementalColorPrsBuilder添加顏色面片,但是該怎么將生成的網(wǎng)格模型顯示為帶有陰影立體狀態(tài),而不是純色調(diào)、沒有立體感。
謝謝,我懂了。還有一個問題請教博主,那就是我想在一個模型表面通過(u,v)提取坐標(biāo)點,但是往往導(dǎo)入模型occ識別時都不是單一面(也就是有很多個topods_face),這樣就需要我對每個面分別處理一次得到一批點,最后導(dǎo)致得到的點區(qū)域化,沒有規(guī)律,并且在面與面交線處有重復(fù)點,所以我想問博主的是,有沒有辦法可以將多個面轉(zhuǎn)化為一個面進(jìn)行參數(shù)化處理,一次性得到所有的點。謝謝
博主您好,
我在使用bounds函數(shù)時發(fā)現(xiàn),該函數(shù)對于導(dǎo)入的模型邊界大小范圍永遠(yuǎn)是0-1之內(nèi),但是通過occ自己生成的曲面卻能得到精確的邊界值大小。這是為什么?
博主您好
又有問題請教了,我如何用vs+qt來顯示如上圖DRAW所示的各個點的坐標(biāo)方向?謝謝
re: Qt with OpenCascade birds 2018-05-30 10:30
謝謝 已解決,就是添加了環(huán)境變量。萬分感謝博主。
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
謝謝博主,已解決,但是后來我在調(diào)試時發(fā)現(xiàn)內(nèi)存錯誤,
HWND winID = (HWND) (winId());
Handle_WNT_Window hWnd = new WNT_Window(winID);
myView->SetWindow(hWnd); //當(dāng)程序運行到這一行時,突然報錯:
0x00007FF9B3DEF218 處(位于 occt.exe 中)有未經(jīng)處理的異常:Microsoft C++ 異常: Standard_Failure,位于內(nèi)存位置 0x000000CF5EBDDB10 處。
這時程序就跳到OpenGl_ShaderManager.hxx文件的
Standard_Boolean BindFboBlitProgram()
{
if (myBlitProgram.IsNull())
{
prepareStdProgramFboBlit();
}
return !myBlitProgram.IsNull()
&& myContext->BindProgram (myBlitProgram); //執(zhí)行到這兒出錯
}
求博主看看這又是什么方面的問題。萬分感謝。
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),該符號在函數(shù) "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),該符號在函數(shù) "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中編譯了一次,它又是在生成執(zhí)行文件前出錯,錯誤如下:
occt.obj:-1: error: LNK2019: 無法解析的外部符號 "public: __cdecl BRepPrimAPI_MakeBox::BRepPrimAPI_MakeBox(double,double,double)" (??0BRepPrimAPI_MakeBox@@QEAA@NNN@Z),該符號在函數(shù) "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),該符號在函數(shù) "private: void __cdecl occt::transform(void)" (?transform@occt@@AEAAXXZ) 中被引用
。。。。
求博主老師幫幫我,謝謝。