var cadFileName = "in.dxf";
var outFileName = "out.dxf";
var tolerance = 0.0001;
var doc = new RDocument(new RMemoryStorage(), createSpatialIndex());
var di = new RDocumentInterface(doc);
if (di.importFile(cadFileName) !== RDocumentInterface.IoErrorNoError) {
print("Cannot import file:", cadFileName);
return;
}
Duplicates.findDuplicates(di, true, tolerance, 0.0, true);
// delete duplicates:
var counter = doc.countSelectedEntities();
var op = new RDeleteSelectionOperation();
di.applyOperation(op);
if (!di.exportFile(outFileName, "DXF R27")) {
qWarning("Export to file failed: ", outFileName);
}
else {
print("Deleted: " + counter);
}
di.destroy();
The function signature is:
/**
* Find duplicate entities.
*
* \param di RDocumentInterface
* \param allLayers True: compare entities across different layers
* \param distanceTolerance Tolerance (maximum distance between two points to be regarded as identical)
* \param angleTolerance Angle tolerance (maximum angle between two lines to be regarded as identical)
* \param reversedIsSame True: ignore direction of entities when comparing
*/
Duplicates.findDuplicates = function(di, allLayers, distanceTolerance, angleTolerance, reversedIsSame) { ... }
Warning: RScriptHandlerEcma::eval: script engine exception: “ReferenceError: Can’t find variable: Duplicates”
Warning: “main() at C:\qcadModules\main.js:51\n() at C:\qcadModules\main.js:63”
Warning: At least one uncaught exception:
Warning: “main() at C:\qcadModules\main.js:51\n() at C:\qcadModules\main.js:63”
13:58:09: Debug: “() at 51”