VS:ConvertToArcPolyline: Difference between revisions
Jump to navigation
Jump to search
(fix, expand) |
m (fix) |
||
Line 52: | Line 52: | ||
PROCEDURE Test; | PROCEDURE Test; | ||
VAR | VAR | ||
polyObj, newPolyObj : HANDLE; | |||
BEGIN | BEGIN | ||
Line 72: | Line 72: | ||
newPolyObj = vs.ConvertToArcPolyline(polyObj, 0) | newPolyObj = vs.ConvertToArcPolyline(polyObj, 0) | ||
vs.SetDSelect(polyObj) | vs.SetDSelect(polyObj) | ||
</code></sample> | </code> | ||
</sample> | |||
----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
Latest revision as of 06:30, 3 February 2022
.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix
Description
Convert, within a tolerance, the input polyline into an polyline that uses arcs for the curves.
FUNCTION ConvertToArcPolyline(
hPolygon :HANDLE;
dFuzz :REAL) : HANDLE;
def vs.ConvertToArcPolyline(hPolygon, dFuzz): return HANDLE
Parameters
hPolygon HANDLE dFuzz REAL
Remarks
(_c_, 2022.02.02) This routine must be updated, it still doesn't recognize Radius vertexes.
As of VW 2022 the routine behaves on vertexes as such:
- corner: preserved
- arc: preserved only on dFuzz = 0, otherwise they turn into corner, which is truly strange, since the purpose IS to create arc vertexes
- radius: ignored, turn into corner
- cubic: turn into arc
- bezier: turn into arc
Example
VectorScript
PROCEDURE Test; VAR polyObj, newPolyObj : HANDLE; BEGIN { select a polyline } polyObj := FSActLayer; IF polyObj <> NIL THEN BEGIN newPolyObj := ConvertToArcPolyline(polyObj, 0); SetDSelect(polyObj); END; END; Run(Test);
Python
# select a polyline polyObj = vs.FSActLayer() if polyObj != vs.Handle( 0 ): newPolyObj = vs.ConvertToArcPolyline(polyObj, 0) vs.SetDSelect(polyObj)
Version
Availability: from Vectorworks 2014