Hello guys,
I want to divide a long curve into small ones to get a list of sub-curves.
I've tried using curve <from pointset>, points are provided by my coordinate systems, the result was not satisfactory. Idealy, I want to have a technique <PlaneCurveIntersection>, because my curves are not closed.
Hi Junqing
SplitAtPoint should give you a list of sub-curves.
https://communities.bentley.com/cfs-file/__key/communityserver-discussions-components-files/360/divide_5F00_curve.gct
divide_curve.dgn
Stuart
Thx Stuart, but for curve node, there is no <split at point > technique tho
As Alifur mentions the bspline (and the arc & line) have the SplitAtPoint method. If you raise a request the developers can have a look if SplitAtPoint method can be applied to the Curve element type.
Attached is an example of converting that bspline to a curve and back to a bspline. I quite often convert the type depending on the needs. I pretty much always do it when the starting element is a polyline. bspline > FromPolyline with an order of 2. This order maintains the sharp corners
Attached are a few examples of converting.
0310.divide_curve.dgn
https://communities.bentley.com/cfs-file/__key/communityserver-discussions-components-files/360/8662.divide_5F00_curve.gct
Answer Verified By: Junqing LIU
I should also mention, the bsplineCurve > SplitAtPoint also works where the CurveToSplit input is a Curve. The input doesn't have to be a bsplineCurve
As Stuart mentioned you can use the BSplineCurve.SplitAtPoint technique, just make sure you set your "Order" to 2 if you want to retain the original curve geometry