Jolbas
Jolbas
I get same result as Johnny846 with OCC 7.6.3. Crash when using 3 or 4 sketches but not when using 2 sketches. ``` OS: macOS 12.6 Word size of FreeCAD:...
We have it in our code here: https://github.com/FreeCAD/FreeCAD/blob/60d99ca57012bbdca93101feafe1b45372d81f01/src/Mod/Part/App/TopoShape.cpp#LL3070C9-L3070C9
Forum links https://forum.freecad.org/viewtopic.php?t=77612 https://forum.freecad.org/viewtopic.php?t=78527 https://forum.freecad.org/viewtopic.php?p=682210#p682210
it doesn't help. It is changed back to non-orthogonal later in OCC. Also it has been and should be able to handle non-orthogonal matrices too.
If I run the following c++ code I don't get the error and the `gp_GTrsf.Form` does not change from `gp_Identity` to `gp_Other`: ``` BRepPrimAPI_MakeBox aBox(10.0, 10.0, 10.0); TopoDS_Shape aShape =...
``` BRepBuilderAPI_GTransform aTransform(mat); aTransform.Perform(aShape, false); ``` is equivalent to ``` BRepBuilderAPI_GTransform aTransform(aShape, mat, false); ``` I don't get the error for this code directly after `mat.SetValue(2,4,rclTrf[1][3]); ``` BRepPrimAPI_MakeBox aBox(10.0, 10.0,...
And the error is still thrown if I remove every `mat.setValue(...)` line.
In this python code the first call to `transformGeometry()` works but the second call fails So the recompute on a document object somehow creates tesselation? ``` boxshape = Part.makeBox(1,1,1) transformedBoxshape...
The recompute isn't necessary. The assignment is enough ``` boxshape = Part.makeBox(1,1,1) transformedBoxshape = boxshape.transformGeometry(App.Matrix()) # no error boxobj = App.ActiveDocument.addObject("Part::Feature", "Box") boxobj.Shape = boxshape transformedBoxshape2 = boxobj.Shape.transformGeometry(App.Matrix()) # error...
This means we may work around this by cleaning the shape before transforming! ``` shape_a = Part.makeBox(1,1,1) transformed_a = shape_a.transformGeometry(App.Matrix()) # no error part_feature = App.ActiveDocument.addObject("Part::Feature", "Box") part_feature.Shape = shape_a...