Article | 70002614 |
Type | Wish |
Product | Engine |
Version | 1102 |
Date Added | 1/11/2025 12:00:00 AM |
Fixed | 11.3.5.0 (1/19/2025 12:00:00 AM) |
Submitted by | Peter Chanios |
Summary
I want a command to create bulges to a polyline from points that are very close to each other and they form an arc
Solution
In version 11.3.5 we added two commands in the CommandAction of vdDocument like below
summary> Creates a bulge in a polyline with the passed parameters
param name="Polyline">A gPoint representing the start of the bulge or null,"USER" so the user picks the point on the screen.
param name="StartPoint">A gPoint representing the start of the bulge or null,"USER" so the user picks the point on the screen.
param name="EndPoint">A gPoint representing the end of the bulge or null,"USER" so the user picks the point on the screen.
param name="MidPoint">A gPoint representing the middle of the bulge or null,"USER" so the user picks the point on the screen.
returns>True if a bulge was created.
public bool CmdCreatePolylineBulge(object StartPoint , object EndPoint , object MidPoint)
summary> This command will try to autodetect bulges from points that are close to each other and substitute them wityh a bulged arc.
param name="Polyline">The polyline to perform the operation.
param name="tolerance">If the distance between points is greater than this distance then no arc is created.
returns>True if any bulge was created.
public bool CmdCreatePolylineAutoBulge(object Polyline , object tolerance)
The first command CmdCreatePolylineBulge will ask the user for a polyline and then for 3 points (start , end , middle) and will create a bulge on these points erasing all the points between.
For example the following polyline had initially 26 points and after performing the bulge command and also RemoveInlinePoints from the Vertexes dialog the polyline ends up with 5 points.
The second command is an automated atempt to create bulges from points that are close to each other. The command works with a tolerance value.
The second example starts with 180 points and after the automated command with a small tolerance and also RemoveEqualPoints the polyline has 27 points
These two commands can help users remove unecessary points from polylines.