Erstellen von TopoDS_Edge aus gp_Pnt in OpenCASCADE
English
Deutsch
OCCUtils stellt eine Bequemerfunktion zum Erstellen eines TopoDS_Edge zwischen zwei Punkten bereit (d.h. eine gerade Linie):
edge_from_points_occ.cpp
#include <occutils/Edge.hxx>
using namespace OCCUtils;
gp_Pnt p1 = /* ... */;
gp_Pnt p2 = /* ... */;
TopoDS_Edge edge = Edge::FromPoints(p1, p2);Falls du es manuell tun möchtest (d.h. ohne OCCUtils), verwende dieses Snippet
makeedge_manual.cpp
TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(p1, p2).Edge();aber beachte, dass du auch den Fall von p1 == p2 behandeln musst, d.h.
check_points_equal.cpp
if (p1.Distance(p2) <= Precision::Confusion()) {
// Versuche in diesem Fall nicht, eine Edge zu erstellen
}OCCUtil’s Edge::FromPoints behandelt diesen Fall, indem es TopoDS_Edge() zurückgibt, d.h. ein TopoDS_Edge, bei dem edge.IsNull() == true.
Check out similar posts by category:
C/C++, OpenCASCADE
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow