Search results

  1. Quaoar

    Interfacing with NetGen

    This topic is kind of complementary to Refining Poly_Triangulation meshes as it appears that I underestimated (a lot!) the development efforts required to build up a decent refiner. Since I do not have any open budget to continue working on refinement techniques life-long, it seems it's the...
  2. Quaoar

    Release v1.1

    Analysis Situs ver.1.1 has seen the light of day. Read more on the blog.
  3. Quaoar

    BREP compatibility issue

    Regarding the BREP compatibility issue mentioned above, here're some additional details. People who are going to use OpenCascade 7.6 (to be released soon) should anticipate that the new BREP files (*.brep) won't open in the older versions of OpenCascade. Kirill (the architect of OpenCascade)...
  4. Quaoar

    Read STEP files with non-ASCII filename characters

    The data exchange interfaces of OpenCascade can work with Unicode characters in filenames if the UTF-8 codepage is used. That explains why all translators expose Standard_CString (const char*) as the input type: it's good enough for UTF-8. Here is how one can convert QString to UTF-8 string to...
  5. Quaoar

    Get entity names from a STEP file

    An interesting question was posted by one of our subscribers under Lesson 12: This thread is to elaborate a bit on this subject. I think I had a code snippet somewhere doing that thing, but I need to double-check it. Here's a related question from the "official" forum:
  6. Quaoar

    Fast point-face classifier (?)

    Here's another issue I came across, and I do not have any solution so far. What I'm doing is sampling CAD faces in their UV spaces with uniform grids. Something like that: And with the grid overlay: The red color means that the corresponding point falls inside the parametric domain of a...
  7. Quaoar


    I'm going to be off for 3 weeks or so, starting from 08.08. Here is the draft plan for the road trip (on map): Not sure if I'll manage to follow along with the forum in this period of time, so here is the excuse :)
  8. Quaoar

    Save to STEP with colored faces, edges or vertices

    Yesterday I got the question of how to colorize part's faces and save the colored part to STEP. Here's how one can do this using XDE/OCAF framework of OpenCascade: TopoDS_Shape partShape = // Your shape /* Create application and document of the XDE format */ Handle(TDocStd_Application)...
  9. Quaoar

    Refine Poly_Triangulation meshes

    Here in this topic, I'd like to accumulate some information on triangulation refinement in OpenCascade. As we all know, the meshes are stored in Poly_Triangulation data structures that are distributed by TopoDS_Face entities in the model. The standard open source mesher (BRepMesh) generates a...
  10. Quaoar

    Compilation on Windows

    Compilation on the Windows platform can be simplified by the help of a libpack. Prerequisites are as follows: Visual Studio 2019. OpenCascade 7.4.0 (Analysis Situs would not compile for the recent version of OpenCascade): VTK 8.2. Other 3-rd parties are not...
  11. Quaoar

    Concatenate several B-spline curves into one

    That is quite a rare issue, but once you face it, it's really hard to find a solution. Imagine you've got a series of B-spline curves all represented with the distinct Geom_BSplineCurve entities of OpenCascade. To simplify your downstream processing, you might want to merge them into just one...
  12. Quaoar

    Classify point with respect to a solid

    To check if a point is inside or outside a solid body, one may use BRepClass3d_SolidClassifier. Here is a code snippet classifying the sample point gp_Pnt(10, 20, 30) with respect to the solid solid: BRepClass3d_SolidClassifier class3d(solid); class3d.Perform( gp_Pnt(10, 20, 30)...
  13. Quaoar

    Subdivide Spline/Bezier curves

    A question was asked how to split a single Bezier curve into two segments. To start off, a Bezier curve is nothing but a special case of a spline curve, so if we know how to split a spline curve, we're done. From the theory (The NURBS Book, sec. 5.2.), it's known that to split a spline curve we...
  14. Quaoar

    Point inversion to surface (project point on surface)

    This topic discusses different approaches to point projection on a surface (for curves, it's gonna be the same thing more or less). Projection can also be seen as the "inversion" problem when a point geometrically lies on a surface. We need a fast and reliable method of point inversion, and...
  15. Quaoar

    Compilation on Linux

    Analysis Situs compilation on Linux:
  16. Quaoar

    Offscreen rendering in a Linux docker container

    This is to share my recent discovery. I was looking for a way to dump PNG images in a headless offscreen mode in a Linux docker container (Ubuntu image, but that does not really matter). As it appears, there are few things to keep in mind: There are no specific flags for compilation, whatever...
  17. Quaoar

    Youtube lessons

    Here we have the list of lessons that are already published or going to be published on our youtube channel. The list is kinda dynamic, and I do not really have any strict plan or schedule of what & when to publish. Since these lessons are entirely community-driven, feel free to share your ideas...
  18. Quaoar

    Why OpenCascade forum?

    Since many folks all over the globe are using the OpenCascade library, there has to be a place where we could freely communicate and help each other. This forum is such a place. I'd love to accumulate here an unbiased knowledge database on the library covering different aspects of its usage...
  19. Quaoar

    Release v1.0

    Analysis Situs v1.0 is out: read more