View Issue Details

IDProjectCategoryView StatusLast Update
0033901CommunityOCCT:DRAWpublic2025-08-20 10:51
Reporterzhang.chaoqun Assigned Toakaftasev  
PrioritynormalSeveritymajor 
Status newResolutionopen 
PlatformWindowsOSVC++ 2019 
Product Version7.8.0 
Summary0033901: The conversion from STP file format to GLB format encountered an error (information loss).
DescriptionWe used the OCC API to convert from STP to GLB, but an error occurred. After conversion, there was damage on the curved surfaces, and some triangular facets were missing.

STP file before conversion:MTBLR20.stp
→ STPfile_FreeCAD_shaded.png

GLB file after conversion: MTBLR20.glb
→ GLBfile_FreeCAD_shaded.png & GLBfile_FreeCAD_normal.png
Steps To ReproduceWe used the step_to_glb method in the attached code for conversion, mainly utilizing TopoDS_Compound, BRep_Builder, and Prs3d_Drawer for processing.
Please confirm whether this issue is due to a bug in OCC, causing information loss during conversion?
Additional information
and documentation updates
    LOG("DEBUG data conversion");
    TopoDS_Compound aCompound;
    BRep_Builder aBuildTool;
    aBuildTool.MakeCompound(aCompound);
    for (TDF_LabelSequence::Iterator aRootIter(aRootLabels); aRootIter.More(); aRootIter.Next())
    {
        const TDF_Label& aRootLabel = aRootIter.Value();
        TopoDS_Shape aRootShape;
        if (XCAFDoc_ShapeTool::GetShape(aRootLabel, aRootShape))
        {
            aBuildTool.Add(aCompound, aRootShape);
        }
    }

    // perform meshing
    Handle(Prs3d_Drawer) aDrawer = new Prs3d_Drawer(); // holds visualization defaults /* 保留可视化默认值 */
    BRepMesh_IncrementalMesh anAlgo;
    anAlgo.ChangeParameters().Deflection = 0.1;
    anAlgo.ChangeParameters().Angle = 20.0 * M_PI / 180.0; // 20 degrees
    anAlgo.ChangeParameters().InParallel = true;
    anAlgo.SetShape(aCompound);
    anAlgo.Perform();
    LOG("DEBUG data conversion finished");
TagsNo tags attached.
Test case number

Attached Files

Activities

dyama

2025-08-20 07:47

developer   ~0117066

@zhang.chaoqun
Please do not add members unrelated to this issue to monitoring users.

zhang.chaoqun

2025-08-20 09:07

reporter   ~0117067

GLBfile_FreeCAD_normal.png (130,316 bytes)   
GLBfile_FreeCAD_shaded.png (123,113 bytes)   
MTBLR20.glb (186,748 bytes)
MTBLR20.stp (180,377 bytes)   
setp_to_glb.cpp (14,585 bytes)   
step_to_glb.h (179 bytes)   
STPfile_FreeCAD_shaded.png (314,800 bytes)   

zhang.chaoqun

2025-08-20 09:09

reporter   ~0117068

@dyama
Are you referring to the assignment to akaftasev?
It seems that the personnel were assigned automatically, and I didn't make any special settings.
Sorry, I'm not very familiar with this process.

dpasukhi

2025-08-20 10:51

administrator   ~0117069

Dear @dyama and @zhang.chaoqun

Mantis is used for keeping history or having private tickets (in parallel with Jira).
All new bug reports need to be shared in GitHub: https://github.com/Open-Cascade-SAS/OCCT/issues/154

In case if you need commercial (high-priority) support, need to contact client service by contact form in our web site (https://dev.opencascade.org/webform/contact_us) or https://occt3d.com/custom-software-development-services/

In case of community report, please share your ticket in GitHub

Best regards, Dmitrii.

Issue History

Date Modified Username Field Change
2025-08-20 07:06 zhang.chaoqun New Issue
2025-08-20 07:06 zhang.chaoqun Assigned To => akaftasev
2025-08-20 07:47 dyama Note Added: 0117066
2025-08-20 09:07 zhang.chaoqun Note Added: 0117067
2025-08-20 09:07 zhang.chaoqun File Added: GLBfile_FreeCAD_normal.png
2025-08-20 09:07 zhang.chaoqun File Added: GLBfile_FreeCAD_shaded.png
2025-08-20 09:07 zhang.chaoqun File Added: MTBLR20.glb
2025-08-20 09:07 zhang.chaoqun File Added: MTBLR20.stp
2025-08-20 09:07 zhang.chaoqun File Added: setp_to_glb.cpp
2025-08-20 09:07 zhang.chaoqun File Added: step_to_glb.h
2025-08-20 09:07 zhang.chaoqun File Added: STPfile_FreeCAD_shaded.png
2025-08-20 09:09 zhang.chaoqun Note Added: 0117068
2025-08-20 10:51 dpasukhi Note Added: 0117069