* avoid redefines in Assembly
* explicit cast from size_t to int
* remove unused variables
* avoid implicit cast from double to float
* in test cases replace EXPECT_FLOAT_EQ with EXPECT_DOUBLE_EQ or EXPECT_NEAR when doubles are used
Fixes#11435
Draft_Fillet could already handle arcs, provided they were not Draft_Arcs. The `_extract_edge` function in make_fillet.py had a strange logic, and could also return a wire which would result in problems later.
Another issue was that the `fillet` function in fillets.py did not handle the order of the edges correctly if one of the edges was an arc and the other a straight edge. The arch had to be selected first to prevent this error.
Fixes#14377
If the base edge of a stairs has a delta Z, the start point must have lowest Z. The `makeStraightStairsWithLanding` code fails otherwise.
Using `edge = Part.LineSegment().toShape()` is not the most efficient, but matches the pattern used elsewhere in the code.
Fixes#14804
Added (also don't make sense for a point object):
* AngularDeflection
* DrawStyle
* Pattern
* PatternSize
Removed:
* DiffuseColor (property no longer exists)
* LineMaterial (already hidden by default)
The static members of FemSetElementNodesObject are not defined in Fem but FemGui which the MSVC compiler doesn't like.
Furthermore it's a code smell to make them public and static and they are not even used by the class itself.
* Move global (non-static) variables into anonymous namespace to avoid possible linking issues that may cause UB
* Fix compiler warnings
* Do not reinvent the wheel and use boost::to_upper_copy instead of own implementation
Commit a8ae56e06a ("Part: Rename AttachExtension::Support property to
AttachmentSupport...") provided code to convert property name when loading
files saved with previous versions. Unfortunately 84ae6b9b7b
("Toponaming: bring in missing code fragments in Part") was based on
at the time obsolete code which did not contain before mentioned tweak,
so AttachmentSupport ended unassigned.
Fixes: 84ae6b9b7b ("Toponaming: bring in missing code fragments in Part")
* Machining model and materials
Adds a few machinability material model
and a couple materials. There's a button in the job dialog
to assign a material.
The sanity report is updated to display the surface speed for assigned materials
* improving the machinability model
* Introduce MaterialConstant for the machinability model
This constant is required to calculate the actual specific cutting force
from the normalized value. It determines how the actaual value varies
when the actual chip thickness gets further away from the normalization
point.
* Rename some machinability properties
- SpecificCuttingForce becomes UnitCuttingForce to clearer differentiate
between normalized and actual specific cutting force. The term unit
cutting force is used less often in literature, but
NormalizedSpecificCuttingForce as property name is too long for my taste.
- MaterialConstant becomes ChipThicknessExponent, as "material constant"
is just too generic for our context. In literature, this constant is most
often just used as the symbol m_c.
---------
Co-authored-by: Jonas Bähr <jonas.baehr@web.de>
* [MOD] JtReader.cpp clean
clean
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Fix importing elliptical arcs issue #8700.
Fix importing arcs into sketches in the case where they project as elliptical arcs.
Fix a discontinuity that happens when an external arc projects down to a segment. The segment end points should not jump around if the projection angle changes from 89.9 to 90 degrees.
When handling external geometry compare points for equality in a consistent way and remove some dead code.