I am trying to fuse two entities and to demonstrate the issue I am facing, here is a snippet that builds two rectangles (using points and lines) and then fuses them. Then I see a info message that Info : Cannot bind existing OpenCASCADE curve 1 to second tag 15 Info : Could not preserve tag of 1D ob
I'm reading OCCT source code, and meet problem. I've read "The NURBS Book 2nd edition". In that book, the knots is stored in sequence format. In OCCT, knots is stored in 2 sequences: knots and mults. In that book, the algorithm to calculate N_i_p is based on expanded sequence of knots. In OCCT, in s
I want to trim a cylinder through two parallel circles defined on the cylinder. How can I trim it using the BRep-related method? I tried lots of combinations and read the document carefully. But I still cannot get the concept or the examples. Thanks in advance for helping me to solve this problem. I
We have a beginning plane face S1,the end plane face S2 and a curve C1, as seen in the drawing. How can we rotate the S1 along L1,through C1 to S2 to make a sandwich like solid?
Hello guys, I have started working on a NURBS surfaces related modelling. Since there were issues in merging surfaces, I found that T Spline surfaces can avoid gaps between merged surfaces. But I have these questions regarding T Splines and OCC. 1. Are there any libraries that can generate T splines
It is said that "TolAng: it is the maximum angle allowed between the normal of the surface". But I do not know how to specify the normal of the surface. Could anyone help me out?
I am having some issues with performing projections. Currently, I am importing a step file and drawing it to the screen using an MFC CDC pointer. This is working just fine. Next, I'm wanting to project an object (i.e. a line, a circle, text, etc.) onto a surface of the step solid so that that object
This ticket is a request to enable support for t-splines in a fully-fledged way, meaning implementing conversion from and to NURBS in various flavours (lossy/lossless), supporting at least the STEP import/export wrt the newest primitives T_SPLINE_SURFACE /T_IMAGE etc
I'm experimenting with custom curves by subclassing Geom_Curve. I've put together a simple implementation, Geom_SineCurve, which I believe satisfies the Geom_Curve API (I've attached the header/cpp file. The cpp file is minimal as I am just testing this out at the moment). I notice some odd behavior
Who can suggest the documentation for constructing geometric objects on this platform in Qt creator +mingw64 ; If you can contact or talk with someone it would be great, give at least some information I will be grateful. If there are Russian speakers), generally excellent
Hello, I am reading the source code of class Plate_Plate. There are many magic constants like 1644 in the method SolEm(). Apparently they come from some mathematics. Could someone give me some hints about the reference literature for these formulas? Thanks. - xzx
The next release of Open CASCADE Technology will feature the new mode of Boolean Operations - Gluing mode. It is implemented as an option for the algorithms in Boolean Component such as General Fuse, Boolean, Section, Volume Maker and Cells Builder operations. This option has been designed to speed
Meanwhile, the performance of BOPs in OCCT has frequently been discussed and compared to other systems (e.g. CATIA). Although OCCT-BOPs surely have their advantages over other systems (e.g. precision) they usually are much slower than the competitors. At this point I'd like to suggest parallelizing
Hello Team, Looks like bug in BRepFill_OffsetWire: static BRepMAT2d_Explorer Exp; Exp.Perform(mySpine); The "static" doesn't allow to use it in parallel threads. Thanks. With respects, Author.
Hello Team, Looks like there is a bug in code: Standard_Boolean ShapeAnalysis_Wire::CheckConnected(...) { ... TopoDS_Vertex V1 = sae.LastVertex (E1); TopoDS_Vertex V2 = sae.FirstVertex (E2); ... if (V1.IsSame(V2)) return Standard_False; ... } Am I right? Thanks. With respects, Author.
The version 7.0 of Open CASCADE Technology features the new General Fuse (GF) based algorithm - Cells Builder. The algorithm can be very useful if you have to perform several standard Boolean operations such as CUT, COMMON and FUSE on the same shapes to obtain the final result. Due to the possibilit
While profiling the face sewing algorithm in our application - just four cases -, I noticed that in three of them almost 10% of the time was spent in the functions Extrema_...::SearchOfTolerance (several instances of the same generic code). These function was introduced just recently (we got it when
The next release of Open CASCADE Technology (7.3.0) will include the new algorithm intended for removal of the selected features from the model. The features that can be removed include holes, protrusions, gaps, chamfers, fillets etc. The defeaturing algorithm can be very useful in different context
We are glad to inform you that the next version of the Open CASCADE will feature the long-expected algorithm for splitting the shapes - Splitter algorithm. The algorithm is very useful when you need to split the group of shapes ( Objects ) by the other group of shapes ( Tools ). The algorithm will i
Concerning the two posts https://dev.opencascade.org/index.php?q=node/975 https://dev.opencascade.org/index.php?q=node/988 I am wondering if there are plans to implement one of those algorithms for the case of projecting a point onto a face. Maybe there have already been efforts on that? I would be
Meshing faces with BRepMesh_IncrementalMesh can take a lot of time if faces are distorted. Although there is a possibility to work against it by setting the MinSize parameter in BRepMesh_FastDiscret::Parameters, this might also limit the triangulation fineness of unproblematic faces. Wouldn't it be
We are working on an alternative for the plating algorithm. We had some issues with plating: 1. The initial surface vastly influences the result surface. 2. The internal parts of the result surface can act rather funky 3. The result surface can behave very badly outside the control curves. This can
1. Introduction Since the version 6.8.0 of Open CASCADE the new algorithm called “Volume Maker” is available. This algorithm builds the elementary volumes (solids) from a set of connected, intersecting, or nested shapes. The algorithm can be useful for splitting solids into parts, or constructin
1. Introduction Next version of OCCT will feature new mode of Boolean Operation Algorithm (BOA), called "Fuzzy". Fuzzy Boolean operations are the type of Boolean operations in which additional user-specified tolerance is used. This mode allows Boolean operations to handle robustly cases of touching
Just found this: Standard_Boolean Geom_TrimmedCurve::IsPeriodic () const { //return basisCurve->IsPeriodic(); return Standard_False; } What is the reason for that implementation? Shouldn't it return basisCurve->IsPeriodic() && uTrim1 == basisCurve->FirstParameter() && uTrim2 == basisCurve->LastParam
Having successfully upgraded to occ 6.9.0 and noticing great improvements in Boolean performance I have subsequently experienced a significant problem with cylinders cutting cylinders and also any half space cutting operations with semi-infinite prisms that have curved edges on the swept face. It ap
1. Introduction The Boolean Operator of Open CASCADE (≤6.8.0) allows treating of two and only two arguments (shapes) to process [1]: S1 (Object), S2 (Tool). In modeling tasks the very frequent situation is when multiple shapes are to be processed from both sides, Object and Tool. For example, when
Hello! We analyzed shape-healing process in case where this process is a bottleneck. We loaded an invalid shape and performed shape-healing process. On some small files ( The results in attached pdf-file. http://www.cadexchanger.com/download/doc/Using_Extrema_ExtAlgo_Tree_in_S... We would like to as
I have noticed, that the math_*Tab classes statically allocate an 512 length array on the stack, and only allocate dynamically, when the data does not fit to those arrays. Unfortunately, this can easily cause stack overflow, like in AppParCurves_Function::Perform method. On iOS a new thread has only
A discussion open per recommendation of Andrey Betenev, following the bug report #25971. The issue background is that due to various modeling algorithms (e.g. those invoked from Shape Healing) a B-Spline can eventually have very near knots (e.g. differing at the 17th position after the dot). The B-S
1. Introduction This post in devoted to improvement of performance of building part of Boolean operations. Though in most cases the most time-consuming is intersection part (89% of overall time spent for BO by all Open CASCADE tests), there are special cases where building part takes most of the tim
Starting from version 6.8.0 OCCT will include one more algorithm for solving global optimization problems. Its development has been triggered by insufficient performance and robustness of the existing algorithm of minimization of curve - surface distance in Extrema package (class Extrema_GenExtCS).
Starting with version 6.8.0 OCCT will have a new algorithm for solving global optimization tasks using an arbitrary objective function of several variables on a hyperparallelepiped. The algorithm is based on a slightly modified method of searching the global extremum of a function of several variabl
Problem statement: Unlike other modeling kernels (e.g. Parasolid), Open CASCADE has more relaxed requirements to geometry underneath topology in terms of continuity. While OCC accepts C0 pcurves, 3D curves and surfaces, other kernels require at least G1 continuity. G1 continuity requires smoothness