ExSvgExport.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * Copyright (c) 2011-2018 by Andrew Mustun. All rights reserved.
  3. *
  4. * This file is part of the QCAD project.
  5. *
  6. * QCAD is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * QCAD is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with QCAD.
  18. */
  19. function main() {
  20. //! [main]
  21. //! [include]
  22. // include class SvgExporterPG:
  23. include("scripts/Pro/ImportExport/SvgExporter/SvgExporterPG.js");
  24. //! [include]
  25. //! [init]
  26. // init application name:
  27. qApp.applicationName = "MyApplication";
  28. //! [document]
  29. var storage = new RMemoryStorage();
  30. var spatialIndex = new RSpatialIndexSimple();
  31. var document = new RDocument(storage, spatialIndex);
  32. document.setUnit(RS.Millimeter);
  33. //! [document]
  34. //! [operation]
  35. // create an operation:
  36. var operation = new RAddObjectsOperation();
  37. // corner point of the triangle::
  38. var p1 = new RVector(0, 0);
  39. var p2 = new RVector(10, 0);
  40. var p3 = new RVector(5, Math.sin(RMath.deg2rad(60))*10);
  41. // add line entity to operation:
  42. operation.addObject(new RLineEntity(document, new RLineData(p1, p2)));
  43. operation.addObject(new RLineEntity(document, new RLineData(p2, p3)));
  44. operation.addObject(new RLineEntity(document, new RLineData(p3, p1)));
  45. // apply operation to document:
  46. operation.apply(document);
  47. //! [operation]
  48. //! [export]
  49. var exporter = new SvgExporterPG(document, { "scale": "10:1"});
  50. exporter.exportFile("example.svg");
  51. //! [export]
  52. //! [main]
  53. }
  54. if (typeof(including)=='undefined' || including===false) {
  55. main();
  56. }