diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index b97a090f4..000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "node", - "request": "launch", - "name": "Grunt - CAD Components", - "skipFiles": [ - "/**" - ], - "program": "${env:APPDATA}\\npm\\node_modules\\grunt\\bin\\grunt", - "cwd": "${workspaceRoot}", - - "args": [ - "components-update", - "--verbose=true", - "--debug=true" - ], - "outFiles": [ - "${workspaceFolder}/**/*.js" - ], - "resolveSourceMapLocations": [ - "${workspaceFolder}/**", - "!**/node_modules/**" - ], - "outputCapture": "std" - }, - ] -} \ No newline at end of file diff --git a/discourse-sync.json b/discourse-sync.json deleted file mode 100644 index 9e048821a..000000000 --- a/discourse-sync.json +++ /dev/null @@ -1,1042 +0,0 @@ -{ - "https://assets.polymech.info/machines//injection/elena/media/teaser.png": { - "id": 10012, - "url": "https://forum.polymech.info/uploads/default/original/2X/6/67a4a487c9d1a62d61a2b075fb67468d7a617afe.png", - "original_filename": "teaser.png", - "filesize": 144222, - "width": 409, - "height": 611, - "thumbnail_width": 334, - "thumbnail_height": 500, - "extension": "png", - "short_url": "upload://eMRVkXyGwjEink6VWHLmj4dCGyW.png", - "short_path": "/uploads/short-url/eMRVkXyGwjEink6VWHLmj4dCGyW.png", - "retain_hours": null, - "human_filesize": "141 KB", - "dominant_color": "52443D" - }, - "https://assets.polymech.info/machines//injection/elena/drawings/dimensions.jpg": { - "id": 10013, - "url": "https://forum.polymech.info/uploads/default/original/2X/a/aa078efdf7507abd0601758c6a7fc1ab009ad76d.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 124551, - "width": 1701, - "height": 1930, - "thumbnail_width": 440, - "thumbnail_height": 499, - "extension": "jpeg", - "short_url": "upload://og9mzGwZbR5Cfa1KqzLbg21tcV7.jpeg", - "short_path": "/uploads/short-url/og9mzGwZbR5Cfa1KqzLbg21tcV7.jpeg", - "retain_hours": null, - "human_filesize": "122 KB", - "dominant_color": "E7E6E5" - }, - "https://assets.polymech.info/machines//injection/elena/renderings/parts_legends.png": { - "id": 10014, - "url": "https://forum.polymech.info/uploads/default/original/2X/7/7cf096e2f45aea89a486e0932dac11e2171b36c9.jpeg", - "original_filename": "parts_legends.jpg", - "filesize": 284246, - "width": 2500, - "height": 1932, - "thumbnail_width": 646, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://hPgFkYYvFYLHaI05yuTIMxoiEqd.jpeg", - "short_path": "/uploads/short-url/hPgFkYYvFYLHaI05yuTIMxoiEqd.jpeg", - "retain_hours": null, - "human_filesize": "278 KB", - "dominant_color": "E3DEDA" - }, - "https://assets.polymech.info/machines//injection/elena/media/latest.jpg": { - "id": 3805, - "url": "https://forum.polymech.info/uploads/default/original/2X/4/4fc7ced69e1bc61e480453671ebd068eab65ba89.jpeg", - "original_filename": "classic.jpg", - "filesize": 56082, - "width": 640, - "height": 640, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://bnLO19cXVQhADhOGei266s0Ihvz.jpeg", - "short_path": "/uploads/short-url/bnLO19cXVQhADhOGei266s0Ihvz.jpeg", - "retain_hours": null, - "human_filesize": "54.8 KB", - "dominant_color": "BDB5B4" - }, - "https://assets.polymech.info/machines//injection/myriad-spring/media/latest.jpg": { - "id": 5848, - "url": "https://forum.polymech.info/uploads/default/original/2X/8/8888b643a12c7bc9e4db349d7ba4258ddd374fd4.jpeg", - "original_filename": "myr-pers.jpg", - "filesize": 212010, - "width": 1086, - "height": 1930, - "thumbnail_width": 281, - "thumbnail_height": 499, - "extension": "jpeg", - "short_url": "upload://jtPQ53pWASXzMXcLbB6BjhzOrvC.jpeg", - "short_path": "/uploads/short-url/jtPQ53pWASXzMXcLbB6BjhzOrvC.jpeg", - "retain_hours": null, - "human_filesize": "207 KB", - "dominant_color": "A79E9A" - }, - "https://assets.polymech.info/machines//injection/myriad-spring/drawings/dimensions.jpg": { - "id": 10015, - "url": "https://forum.polymech.info/uploads/default/original/2X/7/75adff3f8f5528de7851fc358b7ab9c5a99120e2.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 155168, - "width": 1980, - "height": 1584, - "thumbnail_width": 625, - "thumbnail_height": 499, - "extension": "jpeg", - "short_url": "upload://gN2Emz9SLS89a9OLxInvntJoXu2.jpeg", - "short_path": "/uploads/short-url/gN2Emz9SLS89a9OLxInvntJoXu2.jpeg", - "retain_hours": null, - "human_filesize": "152 KB", - "dominant_color": "EFECEC" - }, - "https://assets.polymech.info/machines//injection/myriad-spring/drawings/parts.jpg": { - "id": 10016, - "url": "https://forum.polymech.info/uploads/default/original/2X/f/f1c6ecc76515ee5b04ef2ec3e4efebd87163dcaf.jpeg", - "original_filename": "parts.jpg", - "filesize": 147959, - "width": 2048, - "height": 1638, - "thumbnail_width": 625, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://yuRgqQsDweZUUdBzC4z4fzhyU5V.jpeg", - "short_path": "/uploads/short-url/yuRgqQsDweZUUdBzC4z4fzhyU5V.jpeg", - "retain_hours": null, - "human_filesize": "144 KB", - "dominant_color": "ECE9E9" - }, - "https://assets.polymech.info/machines//injection/components/304_Valve-40mm/media/latest.jpg": { - "id": 10017, - "url": "https://forum.polymech.info/uploads/default/original/2X/3/33825262ed22a4dfc4dc3b4bb16827a968f6a91f.jpeg", - "original_filename": "latest.jpg", - "filesize": 762489, - "width": 3936, - "height": 2216, - "thumbnail_width": 690, - "thumbnail_height": 388, - "extension": "jpeg", - "short_url": "upload://7lFyYOKWTbmZwweTofyezkan6Zp.jpeg", - "short_path": "/uploads/short-url/7lFyYOKWTbmZwweTofyezkan6Zp.jpeg", - "retain_hours": null, - "human_filesize": "745 KB", - "dominant_color": "C9CAC5" - }, - "https://assets.polymech.info/machines//injection/lever-laser-cut/media/latest.jpg": { - "id": 8846, - "url": "https://forum.polymech.info/uploads/default/original/2X/5/5564c8aa878da8848010f64cdb18ad6498cc09f3.jpeg", - "original_filename": "INJ machine cropped.jpg", - "filesize": 48290, - "width": 1280, - "height": 959, - "thumbnail_width": 667, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://cbqvPuuJfSHwJnEYZns3mwA6ym7.jpeg", - "short_path": "/uploads/short-url/cbqvPuuJfSHwJnEYZns3mwA6ym7.jpeg", - "retain_hours": null, - "human_filesize": "47.2 KB", - "dominant_color": "CDCFCD" - }, - "https://assets.polymech.info/machines//injection/lever/media/latest.jpg": { - "id": 27, - "url": "https://forum.polymech.info/uploads/default/original/1X/f5aad6966630bc235f90e5dbef4e0424578a4d6d.jpeg", - "original_filename": "Injection-image.jpg", - "filesize": 106349, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://z3gZY1eB6yF1TMkMdwY6c8kWuXX.jpeg", - "short_path": "/uploads/short-url/z3gZY1eB6yF1TMkMdwY6c8kWuXX.jpeg", - "retain_hours": null, - "human_filesize": "104 KB", - "dominant_color": "F5F5F6" - }, - "https://assets.polymech.info/machines//injection/katbot/media/latest.jpg": { - "id": 5892, - "url": "https://forum.polymech.info/uploads/default/original/2X/a/a48144434cbe68a92b7a46481dfddd1d91ddbe9b.jpeg", - "original_filename": "left.JPG", - "filesize": 417361, - "width": 1105, - "height": 1711, - "thumbnail_width": 322, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://nthfYvTQFsYGweckG4mCX0dlb2b.jpeg", - "short_path": "/uploads/short-url/nthfYvTQFsYGweckG4mCX0dlb2b.jpeg", - "retain_hours": null, - "human_filesize": "408 KB", - "dominant_color": "A79182" - }, - "https://assets.polymech.info/machines//injection/katbot/drawings/dimensions.jpg": { - "id": 10018, - "url": "https://forum.polymech.info/uploads/default/original/2X/f/ff7806f69146ff9664a776fabb771fba4c588417.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 89146, - "width": 1350, - "height": 1080, - "thumbnail_width": 625, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://ArYUxW2gWcm4p1UMWd7J7V43uKP.jpeg", - "short_path": "/uploads/short-url/ArYUxW2gWcm4p1UMWd7J7V43uKP.jpeg", - "retain_hours": null, - "human_filesize": "87.1 KB", - "dominant_color": "EAE9E8" - }, - "https://assets.polymech.info/machines//injection/elena-zmax/media/latest.jpg": { - "id": 10019, - "url": "https://forum.polymech.info/uploads/default/original/2X/0/0acd2fb1efe11358657bb4da7b73e0cc408958e7.jpeg", - "original_filename": "latest.jpg", - "filesize": 693630, - "width": 2011, - "height": 3011, - "thumbnail_width": 333, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://1xynPpSps3mvDcd5Wkid0TrVTev.jpeg", - "short_path": "/uploads/short-url/1xynPpSps3mvDcd5Wkid0TrVTev.jpeg", - "retain_hours": null, - "human_filesize": "677 KB", - "dominant_color": "A67366" - }, - "https://assets.polymech.info/machines//injection/elena-xmax/media/latest.jpg": { - "id": 10020, - "url": "https://forum.polymech.info/uploads/default/original/2X/c/c41d86fbc6031c7de4728a6c2551577c4f537a02.jpeg", - "original_filename": "latest.jpg", - "filesize": 681177, - "width": 1679, - "height": 1680, - "thumbnail_width": 499, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://rYUQsscae8rip7gyJriL0tcwAjU.jpeg", - "short_path": "/uploads/short-url/rYUQsscae8rip7gyJriL0tcwAjU.jpeg", - "retain_hours": null, - "human_filesize": "665 KB", - "dominant_color": "B58A7F" - }, - "https://assets.polymech.info/machines//injection/elena-xmax/drawings/dimensions.jpg": { - "id": 10021, - "url": "https://forum.polymech.info/uploads/default/original/2X/1/19cdcb7c3422cfeb30b10c4b2da3a87c9d1956d8.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 158687, - "width": 3000, - "height": 2318, - "thumbnail_width": 647, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://3GgQIg7Zpm1MgAoh8q6suZnN1RS.jpeg", - "short_path": "/uploads/short-url/3GgQIg7Zpm1MgAoh8q6suZnN1RS.jpeg", - "retain_hours": null, - "human_filesize": "155 KB", - "dominant_color": "F1F0F0" - }, - "https://assets.polymech.info/machines//sheetpress/cassandra-light/media/latest.jpg": { - "id": 10024, - "url": "https://forum.polymech.info/uploads/default/original/2X/5/5d20d462dc58c949affbc2f3698507bc71992f87.jpeg", - "original_filename": "latest.jpg", - "filesize": 81429, - "width": 1080, - "height": 608, - "thumbnail_width": 690, - "thumbnail_height": 388, - "extension": "jpeg", - "short_url": "upload://dhQJZVCQBdoAUq2oVH0iw73CcGb.jpeg", - "short_path": "/uploads/short-url/dhQJZVCQBdoAUq2oVH0iw73CcGb.jpeg", - "retain_hours": null, - "human_filesize": "79.5 KB", - "dominant_color": "A19E92" - }, - "https://assets.polymech.info/machines//sheetpress/cassandra-mini/media/latest.jpg": { - "id": 5887, - "url": "https://forum.polymech.info/uploads/default/original/2X/f/fc69b7271e4d47823c96b2af657ad855aab33daa.jpeg", - "original_filename": "DSC01767.JPG", - "filesize": 327054, - "width": 1115, - "height": 1980, - "thumbnail_width": 281, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://A0WODVSPim4jeoAUEaa1DfI27ai.jpeg", - "short_path": "/uploads/short-url/A0WODVSPim4jeoAUEaa1DfI27ai.jpeg", - "retain_hours": null, - "human_filesize": "319 KB", - "dominant_color": "C8BBB6" - }, - "https://assets.polymech.info/machines//injection/arbor-joost/media/latest.jpg": { - "id": 10028, - "url": "https://forum.polymech.info/uploads/default/original/2X/4/49b0b33b69884007f8becd12053b561aab6075f7.jpeg", - "original_filename": "latest.jpg", - "filesize": 63978, - "width": 1350, - "height": 1080, - "thumbnail_width": 625, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://avTqSOEVSP0VBOe6qWBPUN1Acej.jpeg", - "short_path": "/uploads/short-url/avTqSOEVSP0VBOe6qWBPUN1Acej.jpeg", - "retain_hours": null, - "human_filesize": "62.5 KB", - "dominant_color": "EFEEEE" - }, - "https://assets.polymech.info/machines//extrusion/lydia-v4.5/drawings/dimensions.jpg": { - "id": 10029, - "url": "https://forum.polymech.info/uploads/default/original/2X/c/c2bd4c9b3751868fcb72809f48fdfeb7edb872ce.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 207784, - "width": 1999, - "height": 1545, - "thumbnail_width": 646, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://rMKcsK2sPSBU18qOkvdkr4EljCS.jpeg", - "short_path": "/uploads/short-url/rMKcsK2sPSBU18qOkvdkr4EljCS.jpeg", - "retain_hours": null, - "human_filesize": "203 KB", - "dominant_color": "E3E1E1" - }, - "https://assets.polymech.info/machines//extrusion/lydia-mini/media/latest.jpg": { - "id": 10030, - "url": "https://forum.polymech.info/uploads/default/original/2X/f/f9ef1ea16a3be2051c71343b0154bcb3fb55f798.jpeg", - "original_filename": "latest.jpg", - "filesize": 614904, - "width": 1716, - "height": 2048, - "thumbnail_width": 418, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://zF1cv48iXeCr4NpxyVwCWSraJ7i.jpeg", - "short_path": "/uploads/short-url/zF1cv48iXeCr4NpxyVwCWSraJ7i.jpeg", - "retain_hours": null, - "human_filesize": "600 KB", - "dominant_color": "B3B5B3" - }, - "https://assets.polymech.info/machines//extrusion/lydia-v4.5/media/latest.jpg": { - "id": 10031, - "url": "https://forum.polymech.info/uploads/default/original/2X/e/e01fcd01e74bca48e492ae75808b26efc350c3cc.jpeg", - "original_filename": "latest.jpg", - "filesize": 79390, - "width": 882, - "height": 861, - "thumbnail_width": 512, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://vYH5lKhxW39dEvG5WBwIFZu3oFm.jpeg", - "short_path": "/uploads/short-url/vYH5lKhxW39dEvG5WBwIFZu3oFm.jpeg", - "retain_hours": null, - "human_filesize": "77.5 KB", - "dominant_color": "BEB6AB" - }, - "https://assets.polymech.info/machines//extrusion/lydia-v3.5/media/latest.jpg": { - "id": 10032, - "url": "https://forum.polymech.info/uploads/default/original/2X/3/3b33d0ee512a44523931d87aa6f5d8142d2358a3.jpeg", - "original_filename": "latest.jpg", - "filesize": 1621203, - "width": 2216, - "height": 3936, - "thumbnail_width": 281, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://8rJbycvAeXjWYq9hOfEdmzTFe2D.jpeg", - "short_path": "/uploads/short-url/8rJbycvAeXjWYq9hOfEdmzTFe2D.jpeg", - "retain_hours": null, - "human_filesize": "1.55 MB", - "dominant_color": "8B8B8B" - }, - "https://assets.polymech.info/machines//extrusion/lydia-print-head-hydra/media/latest.jpg": { - "id": 10033, - "url": "https://forum.polymech.info/uploads/default/original/2X/0/0bf6bff884b9f708bf7459f245cb7f9a9e578795.jpeg", - "original_filename": "latest.jpg", - "filesize": 77408, - "width": 612, - "height": 646, - "thumbnail_width": 473, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://1HPUvik16iojNPSiKHx8zcZqhBr.jpeg", - "short_path": "/uploads/short-url/1HPUvik16iojNPSiKHx8zcZqhBr.jpeg", - "retain_hours": null, - "human_filesize": "75.6 KB", - "dominant_color": "9A938A" - }, - "https://assets.polymech.info/machines//extrusion/plastic-odyssey/media/latest.jpg": { - "id": 10034, - "url": "https://forum.polymech.info/uploads/default/original/2X/5/552f3ae114a2aded2d02016c6551b7fae51aa11c.jpeg", - "original_filename": "latest.jpg", - "filesize": 61808, - "width": 717, - "height": 625, - "thumbnail_width": 573, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://c9zM2i8U8tXpURbJYrs8LqeuplO.jpeg", - "short_path": "/uploads/short-url/c9zM2i8U8tXpURbJYrs8LqeuplO.jpeg", - "retain_hours": null, - "human_filesize": "60.4 KB", - "dominant_color": "D5DAEC" - }, - "https://assets.polymech.info/machines//extrusion/pp-v42-extruder/media/latest.jpg": { - "id": 10035, - "url": "https://forum.polymech.info/uploads/default/original/2X/a/aad3c2fdbd058b44f01969960cc06fff859291c9.jpeg", - "original_filename": "latest.jpg", - "filesize": 215980, - "width": 1620, - "height": 1080, - "thumbnail_width": 690, - "thumbnail_height": 460, - "extension": "jpeg", - "short_url": "upload://oncRLS3P8lJOcHBOsOK7cZlVdpv.jpeg", - "short_path": "/uploads/short-url/oncRLS3P8lJOcHBOsOK7cZlVdpv.jpeg", - "retain_hours": null, - "human_filesize": "211 KB", - "dominant_color": "958667" - }, - "https://assets.polymech.info/machines//extrusion/pp-v4-extruder/media/latest.jpg": { - "id": 23, - "url": "https://forum.polymech.info/uploads/default/original/1X/f4db10c68a90f8c779668fa561b701d79ffa629b.jpeg", - "original_filename": "Extrusion-Pro-image.jpg", - "filesize": 526458, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://yW5QBIx1xACrZFYQtlEU51hEOAH.jpeg", - "short_path": "/uploads/short-url/yW5QBIx1xACrZFYQtlEU51hEOAH.jpeg", - "retain_hours": null, - "human_filesize": "514 KB", - "dominant_color": "CDCCCE" - }, - "https://assets.polymech.info/machines//extrusion/pp-v3/media/latest.jpg": { - "id": 33, - "url": "https://forum.polymech.info/uploads/default/original/1X/44abbb22470e884c685a28773e37b4b05dfde327.jpeg", - "original_filename": "extrusion-image.jpg", - "filesize": 153603, - "width": 2000, - "height": 1999, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://9NuoNnKgkDKLJIH4vyoEfIcSBOD.jpeg", - "short_path": "/uploads/short-url/9NuoNnKgkDKLJIH4vyoEfIcSBOD.jpeg", - "retain_hours": null, - "human_filesize": "150 KB", - "dominant_color": "EAEAEC" - }, - "https://assets.polymech.info/machines//extrusion/components/202_FilamentHousing/media/latest.jpg": { - "id": 10037, - "url": "https://forum.polymech.info/uploads/default/original/2X/0/07658bbc46721c4b7fa2acd053aae6eae7cc042a.jpeg", - "original_filename": "latest.jpg", - "filesize": 620189, - "width": 2048, - "height": 2040, - "thumbnail_width": 501, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://13qU073bMLustpQiu95GtwaY4NY.jpeg", - "short_path": "/uploads/short-url/13qU073bMLustpQiu95GtwaY4NY.jpeg", - "retain_hours": null, - "human_filesize": "606 KB", - "dominant_color": "ACAAAA" - }, - "https://assets.polymech.info/machines//extrusion/components/202_FilamentHousing/drawings/dimensions.jpg": { - "id": 10038, - "url": "https://forum.polymech.info/uploads/default/original/2X/e/eaf868034e106cb009152c5bc76b6583b70d8069.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 237100, - "width": 1931, - "height": 1545, - "thumbnail_width": 624, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://xwDW2tO3BBPWavSkTSIAV16KuAF.jpeg", - "short_path": "/uploads/short-url/xwDW2tO3BBPWavSkTSIAV16KuAF.jpeg", - "retain_hours": null, - "human_filesize": "232 KB", - "dominant_color": "CDCDD1" - }, - "https://assets.polymech.info/machines//extrusion/components/101_lucy/media/latest.jpg": { - "id": 10040, - "url": "https://forum.polymech.info/uploads/default/original/2X/7/7479ef5c750b91d0e88c232ce1554a07250c24cc.jpeg", - "original_filename": "latest.jpg", - "filesize": 92397, - "width": 1350, - "height": 1080, - "thumbnail_width": 625, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://gCoD80fj887sdUcpHyHn6Fk4vq4.jpeg", - "short_path": "/uploads/short-url/gCoD80fj887sdUcpHyHn6Fk4vq4.jpeg", - "retain_hours": null, - "human_filesize": "90.2 KB", - "dominant_color": "CDCFD4" - }, - "/extrusion/lydia-mini/media/latest.jpg": { - "id": 10030, - "url": "https://forum.polymech.info/uploads/default/original/2X/f/f9ef1ea16a3be2051c71343b0154bcb3fb55f798.jpeg", - "original_filename": "latest.jpg", - "filesize": 614904, - "width": 1716, - "height": 2048, - "thumbnail_width": 418, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://zF1cv48iXeCr4NpxyVwCWSraJ7i.jpeg", - "short_path": "/uploads/short-url/zF1cv48iXeCr4NpxyVwCWSraJ7i.jpeg", - "retain_hours": null, - "human_filesize": "600 KB", - "dominant_color": "B3B5B3" - }, - "/extrusion/components/202_FilamentHousing/media/latest.jpg": { - "id": 10037, - "url": "https://forum.polymech.info/uploads/default/original/2X/0/07658bbc46721c4b7fa2acd053aae6eae7cc042a.jpeg", - "original_filename": "latest.jpg", - "filesize": 620189, - "width": 2048, - "height": 2040, - "thumbnail_width": 501, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://13qU073bMLustpQiu95GtwaY4NY.jpeg", - "short_path": "/uploads/short-url/13qU073bMLustpQiu95GtwaY4NY.jpeg", - "retain_hours": null, - "human_filesize": "606 KB", - "dominant_color": "ACAAAA" - }, - "/extrusion/components/202_FilamentHousing/drawings/dimensions.jpg": { - "id": 10038, - "url": "https://forum.polymech.info/uploads/default/original/2X/e/eaf868034e106cb009152c5bc76b6583b70d8069.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 237100, - "width": 1931, - "height": 1545, - "thumbnail_width": 624, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://xwDW2tO3BBPWavSkTSIAV16KuAF.jpeg", - "short_path": "/uploads/short-url/xwDW2tO3BBPWavSkTSIAV16KuAF.jpeg", - "retain_hours": null, - "human_filesize": "232 KB", - "dominant_color": "CDCDD1" - }, - "/extrusion/components/101_lucy/media/latest.jpg": { - "id": 10040, - "url": "https://forum.polymech.info/uploads/default/original/2X/7/7479ef5c750b91d0e88c232ce1554a07250c24cc.jpeg", - "original_filename": "latest.jpg", - "filesize": 92397, - "width": 1350, - "height": 1080, - "thumbnail_width": 625, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://gCoD80fj887sdUcpHyHn6Fk4vq4.jpeg", - "short_path": "/uploads/short-url/gCoD80fj887sdUcpHyHn6Fk4vq4.jpeg", - "retain_hours": null, - "human_filesize": "90.2 KB", - "dominant_color": "CDCFD4" - }, - "/extrusion/pp-v42-extruder/media/latest.jpg": { - "id": 10035, - "url": "https://forum.polymech.info/uploads/default/original/2X/a/aad3c2fdbd058b44f01969960cc06fff859291c9.jpeg", - "original_filename": "latest.jpg", - "filesize": 215980, - "width": 1620, - "height": 1080, - "thumbnail_width": 690, - "thumbnail_height": 460, - "extension": "jpeg", - "short_url": "upload://oncRLS3P8lJOcHBOsOK7cZlVdpv.jpeg", - "short_path": "/uploads/short-url/oncRLS3P8lJOcHBOsOK7cZlVdpv.jpeg", - "retain_hours": null, - "human_filesize": "211 KB", - "dominant_color": "958667" - }, - "/extrusion/pp-v4-extruder/media/latest.jpg": { - "id": 23, - "url": "https://forum.polymech.info/uploads/default/original/1X/f4db10c68a90f8c779668fa561b701d79ffa629b.jpeg", - "original_filename": "Extrusion-Pro-image.jpg", - "filesize": 526458, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://yW5QBIx1xACrZFYQtlEU51hEOAH.jpeg", - "short_path": "/uploads/short-url/yW5QBIx1xACrZFYQtlEU51hEOAH.jpeg", - "retain_hours": null, - "human_filesize": "514 KB", - "dominant_color": "CDCCCE" - }, - "/extrusion/pp-v3/media/latest.jpg": { - "id": 33, - "url": "https://forum.polymech.info/uploads/default/original/1X/44abbb22470e884c685a28773e37b4b05dfde327.jpeg", - "original_filename": "extrusion-image.jpg", - "filesize": 153603, - "width": 2000, - "height": 1999, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://9NuoNnKgkDKLJIH4vyoEfIcSBOD.jpeg", - "short_path": "/uploads/short-url/9NuoNnKgkDKLJIH4vyoEfIcSBOD.jpeg", - "retain_hours": null, - "human_filesize": "150 KB", - "dominant_color": "EAEAEC" - }, - "/extrusion/plastic-odyssey/media/latest.jpg": { - "id": 10034, - "url": "https://forum.polymech.info/uploads/default/original/2X/5/552f3ae114a2aded2d02016c6551b7fae51aa11c.jpeg", - "original_filename": "latest.jpg", - "filesize": 61808, - "width": 717, - "height": 625, - "thumbnail_width": 573, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://c9zM2i8U8tXpURbJYrs8LqeuplO.jpeg", - "short_path": "/uploads/short-url/c9zM2i8U8tXpURbJYrs8LqeuplO.jpeg", - "retain_hours": null, - "human_filesize": "60.4 KB", - "dominant_color": "D5DAEC" - }, - "/extrusion/lydia-v4.5/media/latest.jpg": { - "id": 10031, - "url": "https://forum.polymech.info/uploads/default/original/2X/e/e01fcd01e74bca48e492ae75808b26efc350c3cc.jpeg", - "original_filename": "latest.jpg", - "filesize": 79390, - "width": 882, - "height": 861, - "thumbnail_width": 512, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://vYH5lKhxW39dEvG5WBwIFZu3oFm.jpeg", - "short_path": "/uploads/short-url/vYH5lKhxW39dEvG5WBwIFZu3oFm.jpeg", - "retain_hours": null, - "human_filesize": "77.5 KB", - "dominant_color": "BEB6AB" - }, - "/extrusion/lydia-v4.5/drawings/dimensions.jpg": { - "id": 10029, - "url": "https://forum.polymech.info/uploads/default/original/2X/c/c2bd4c9b3751868fcb72809f48fdfeb7edb872ce.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 207784, - "width": 1999, - "height": 1545, - "thumbnail_width": 646, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://rMKcsK2sPSBU18qOkvdkr4EljCS.jpeg", - "short_path": "/uploads/short-url/rMKcsK2sPSBU18qOkvdkr4EljCS.jpeg", - "retain_hours": null, - "human_filesize": "203 KB", - "dominant_color": "E3E1E1" - }, - "/extrusion/lydia-v3.5/media/latest.jpg": { - "id": 10032, - "url": "https://forum.polymech.info/uploads/default/original/2X/3/3b33d0ee512a44523931d87aa6f5d8142d2358a3.jpeg", - "original_filename": "latest.jpg", - "filesize": 1621203, - "width": 2216, - "height": 3936, - "thumbnail_width": 281, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://8rJbycvAeXjWYq9hOfEdmzTFe2D.jpeg", - "short_path": "/uploads/short-url/8rJbycvAeXjWYq9hOfEdmzTFe2D.jpeg", - "retain_hours": null, - "human_filesize": "1.55 MB", - "dominant_color": "8B8B8B" - }, - "/extrusion/lydia-print-head-hydra/media/latest.jpg": { - "id": 10033, - "url": "https://forum.polymech.info/uploads/default/original/2X/0/0bf6bff884b9f708bf7459f245cb7f9a9e578795.jpeg", - "original_filename": "latest.jpg", - "filesize": 77408, - "width": 612, - "height": 646, - "thumbnail_width": 473, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://1HPUvik16iojNPSiKHx8zcZqhBr.jpeg", - "short_path": "/uploads/short-url/1HPUvik16iojNPSiKHx8zcZqhBr.jpeg", - "retain_hours": null, - "human_filesize": "75.6 KB", - "dominant_color": "9A938A" - }, - "https://assets.polymech.info/machines//sheetpress/100cm/media/latest.jpg": { - "id": 68, - "url": "https://forum.polymech.info/uploads/default/original/1X/324ed19082277585a17bd0bc66a5edbca03c4d06.jpeg", - "original_filename": "Sheetpress-image.jpg", - "filesize": 515387, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://7b2JYMp6wMKfog0KNFTyI8cK3jg.jpeg", - "short_path": "/uploads/short-url/7b2JYMp6wMKfog0KNFTyI8cK3jg.jpeg", - "retain_hours": null, - "human_filesize": "503 KB", - "dominant_color": "B3AEB5" - }, - "https://assets.polymech.info/machines//sheetpress/mini-heat-press-cups/media/latest.jpg": { - "id": 10041, - "url": "https://forum.polymech.info/uploads/default/original/2X/5/5a66aae2daace3aeb3cc693a3d2715a1a0ea54d1.jpeg", - "original_filename": "latest.jpg", - "filesize": 71858, - "width": 1584, - "height": 889, - "thumbnail_width": 690, - "thumbnail_height": 387, - "extension": "jpeg", - "short_url": "upload://cTIW3TfZtPQ0lDY3xNdPTItt7oZ.jpeg", - "short_path": "/uploads/short-url/cTIW3TfZtPQ0lDY3xNdPTItt7oZ.jpeg", - "retain_hours": null, - "human_filesize": "70.2 KB", - "dominant_color": "D7D9DD" - }, - "https://assets.polymech.info/machines//sheetpress/cassandra/media/latest.jpg": { - "id": 10042, - "url": "https://forum.polymech.info/uploads/default/original/2X/e/eddc3fc24aeb024e51f9b356dcce8fd9cbdbc175.jpeg", - "original_filename": "latest.jpg", - "filesize": 136249, - "width": 2236, - "height": 1788, - "thumbnail_width": 625, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://xWd2Baze4pl7PTEibzWzVjxvTJX.jpeg", - "short_path": "/uploads/short-url/xWd2Baze4pl7PTEibzWzVjxvTJX.jpeg", - "retain_hours": null, - "human_filesize": "133 KB", - "dominant_color": "CED0D6" - }, - "https://assets.polymech.info/machines//sheetpress/110cm-fiction-factory/media/latest.jpg": { - "id": 10043, - "url": "https://forum.polymech.info/uploads/default/original/2X/2/25d1b8cb6582f0f1777e22ab2506a2db53c2113b.jpeg", - "original_filename": "latest.jpg", - "filesize": 175586, - "width": 1280, - "height": 960, - "thumbnail_width": 666, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://5oyZAEnC8pPfvIM4mCDqVWZaHRV.jpeg", - "short_path": "/uploads/short-url/5oyZAEnC8pPfvIM4mCDqVWZaHRV.jpeg", - "retain_hours": null, - "human_filesize": "171 KB", - "dominant_color": "878485" - }, - "https://assets.polymech.info/machines//sheetpress/100cm-Australia/media/latest.jpg": { - "id": 68, - "url": "https://forum.polymech.info/uploads/default/original/1X/324ed19082277585a17bd0bc66a5edbca03c4d06.jpeg", - "original_filename": "Sheetpress-image.jpg", - "filesize": 515387, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://7b2JYMp6wMKfog0KNFTyI8cK3jg.jpeg", - "short_path": "/uploads/short-url/7b2JYMp6wMKfog0KNFTyI8cK3jg.jpeg", - "retain_hours": null, - "human_filesize": "503 KB", - "dominant_color": "B3AEB5" - }, - "https://assets.polymech.info/machines//sheetpress/components/sprcb-650/media/latest.jpg": { - "id": 10044, - "url": "https://forum.polymech.info/uploads/default/original/2X/8/83e5585489734cd42ed4afbb375c1c3215e4ab6e.jpeg", - "original_filename": "latest.jpg", - "filesize": 161001, - "width": 1350, - "height": 1080, - "thumbnail_width": 625, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://iONUVduhr2iSeuqN8GzeaKGpOJE.jpeg", - "short_path": "/uploads/short-url/iONUVduhr2iSeuqN8GzeaKGpOJE.jpeg", - "retain_hours": null, - "human_filesize": "157 KB", - "dominant_color": "BEA691" - }, - "https://assets.polymech.info/machines//injection/el-tornillo-motor/media/latest.jpg": { - "id": 10045, - "url": "https://forum.polymech.info/uploads/default/original/2X/9/9da60ab9b4877b799e1f20ce947e53b0c76af70b.jpeg", - "original_filename": "latest.jpg", - "filesize": 52295, - "width": 1280, - "height": 853, - "thumbnail_width": 690, - "thumbnail_height": 459, - "extension": "jpeg", - "short_url": "upload://muCHLNlJitojQlYIx2rnucGP1z5.jpeg", - "short_path": "/uploads/short-url/muCHLNlJitojQlYIx2rnucGP1z5.jpeg", - "retain_hours": null, - "human_filesize": "51.1 KB", - "dominant_color": "E9D9D8" - }, - "https://assets.polymech.info/machines//shredder/asterix-pp/media/latest.jpg": { - "id": 10046, - "url": "https://forum.polymech.info/uploads/default/original/2X/f/f01647767bbd42d2d6c0e24b331198825337a2cd.jpeg", - "original_filename": "latest.jpg", - "filesize": 949596, - "width": 3245, - "height": 3512, - "thumbnail_width": 461, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://yfUkcg7Z3WsHzrEgh17Rrdk1jDT.jpeg", - "short_path": "/uploads/short-url/yfUkcg7Z3WsHzrEgh17Rrdk1jDT.jpeg", - "retain_hours": null, - "human_filesize": "927 KB", - "dominant_color": "ABAAAA" - }, - "https://assets.polymech.info/machines//shredder/pp-v42/media/latest.jpg": { - "id": 10047, - "url": "https://forum.polymech.info/uploads/default/original/2X/5/5f90db04f6983cc81e650b20fc991f043015c9f7.jpeg", - "original_filename": "latest.jpg", - "filesize": 165959, - "width": 1411, - "height": 941, - "thumbnail_width": 690, - "thumbnail_height": 460, - "extension": "jpeg", - "short_url": "upload://dDpI66snA1sxVlMDFCJGumUsVrF.jpeg", - "short_path": "/uploads/short-url/dDpI66snA1sxVlMDFCJGumUsVrF.jpeg", - "retain_hours": null, - "human_filesize": "162 KB", - "dominant_color": "A9BFC6" - }, - "https://assets.polymech.info/machines//shredder/pp-v3.3/media/latest.jpg": { - "id": 10048, - "url": "https://forum.polymech.info/uploads/default/original/2X/6/6aa4e11ad2318808cb0d386ba0c20b3611230b9d.jpeg", - "original_filename": "latest.jpg", - "filesize": 66452, - "width": 1280, - "height": 960, - "thumbnail_width": 666, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://fdpRzSme4uVFqUhQVSP96dVsihD.jpeg", - "short_path": "/uploads/short-url/fdpRzSme4uVFqUhQVSP96dVsihD.jpeg", - "retain_hours": null, - "human_filesize": "64.9 KB", - "dominant_color": "DCDEDF" - }, - "https://assets.polymech.info/machines//shredder/obelix/media/latest.jpg": { - "id": 10049, - "url": "https://forum.polymech.info/uploads/default/original/2X/a/af12d1a448eb6ec79975c7d8f18aea06f6f458fb.jpeg", - "original_filename": "latest.jpg", - "filesize": 147029, - "width": 838, - "height": 1257, - "thumbnail_width": 333, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://oYLSlTx7fVSiOkHBeJuXM6Uvnqb.jpeg", - "short_path": "/uploads/short-url/oYLSlTx7fVSiOkHBeJuXM6Uvnqb.jpeg", - "retain_hours": null, - "human_filesize": "144 KB", - "dominant_color": "A3A19F" - }, - "https://assets.polymech.info/machines//shredder/idefix/media/latest.jpg": { - "id": 10050, - "url": "https://forum.polymech.info/uploads/default/original/2X/7/70fef809e5acaca32727523afcf2e80483f718de.jpeg", - "original_filename": "latest.jpg", - "filesize": 750921, - "width": 1984, - "height": 2976, - "thumbnail_width": 333, - "thumbnail_height": 499, - "extension": "jpeg", - "short_url": "upload://g7BKbWdwN1yWakdBE2kDnOnH8M6.jpeg", - "short_path": "/uploads/short-url/g7BKbWdwN1yWakdBE2kDnOnH8M6.jpeg", - "retain_hours": null, - "human_filesize": "733 KB", - "dominant_color": "B8B7B7" - }, - "https://assets.polymech.info/machines//shredder/bicycle-shredder/media/latest.jpg": { - "id": 8434, - "url": "https://forum.polymech.info/uploads/default/original/2X/5/557d864fde6dd8744459a14b744369f9b516e928.jpeg", - "original_filename": "ND800_0005383_freigestellt_Loehrer.jpg", - "filesize": 115522, - "width": 1280, - "height": 854, - "thumbnail_width": 690, - "thumbnail_height": 460, - "extension": "jpeg", - "short_url": "upload://cchwg7INpVSxQO7uOYd6icH9caA.jpeg", - "short_path": "/uploads/short-url/cchwg7INpVSxQO7uOYd6icH9caA.jpeg", - "retain_hours": null, - "human_filesize": "113 KB", - "dominant_color": "BAB5B4" - }, - "https://assets.polymech.info/machines//shredder/asterix-sm-morren/media/latest.jpg": { - "id": 10051, - "url": "https://forum.polymech.info/uploads/default/original/2X/9/9d1c5334c555be514d2c1453f164dcb41a32714f.jpeg", - "original_filename": "latest.jpg", - "filesize": 578060, - "width": 1536, - "height": 2730, - "thumbnail_width": 281, - "thumbnail_height": 499, - "extension": "jpeg", - "short_url": "upload://mpREexDAGxpF54u8KjsixNsz41V.jpeg", - "short_path": "/uploads/short-url/mpREexDAGxpF54u8KjsixNsz41V.jpeg", - "retain_hours": null, - "human_filesize": "565 KB", - "dominant_color": "AEA5A2" - }, - "https://assets.polymech.info/machines//shredder/pp-v4/media/latest.jpg": { - "id": 22, - "url": "https://forum.polymech.info/uploads/default/original/1X/5d3aa41a599d877d9605c04da9c3fae93fe7b01a.jpeg", - "original_filename": "Shredder-Pro-image.jpg", - "filesize": 497151, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://diK2DEilOgNa2VtDqYENZHl86vg.jpeg", - "short_path": "/uploads/short-url/diK2DEilOgNa2VtDqYENZHl86vg.jpeg", - "retain_hours": null, - "human_filesize": "485 KB", - "dominant_color": "C4C3C6" - }, - "https://assets.polymech.info/machines//shredder/pp-v21-imperial/media/latest.jpg": { - "id": 39, - "url": "https://forum.polymech.info/uploads/default/original/1X/07330852ececdb57bbe072890e70680e196448bd.jpeg", - "original_filename": "preview.jpg", - "filesize": 144158, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://11GG5TvNoNeCqCLmdRilrYi477L.jpeg", - "short_path": "/uploads/short-url/11GG5TvNoNeCqCLmdRilrYi477L.jpeg", - "retain_hours": null, - "human_filesize": "141 KB", - "dominant_color": "ECEBEC" - }, - "https://assets.polymech.info/machines//shredder/components/shredder_v31-light/media/latest.jpg": { - "id": 10052, - "url": "https://forum.polymech.info/uploads/default/original/2X/f/fc3fe2a3e1636b4a939f679a89105aa10e73cd9d.jpeg", - "original_filename": "latest.jpg", - "filesize": 2849046, - "width": 6000, - "height": 3376, - "thumbnail_width": 690, - "thumbnail_height": 388, - "extension": "jpeg", - "short_url": "upload://zZvcadcQ6OmnWKODHYPjnU8DUOp.jpeg", - "short_path": "/uploads/short-url/zZvcadcQ6OmnWKODHYPjnU8DUOp.jpeg", - "retain_hours": null, - "human_filesize": "2.72 MB", - "dominant_color": "919399" - }, - "https://assets.polymech.info/machines//shredder/pp-v2.1/media/latest.jpg": { - "id": 39, - "url": "https://forum.polymech.info/uploads/default/original/1X/07330852ececdb57bbe072890e70680e196448bd.jpeg", - "original_filename": "preview.jpg", - "filesize": 144158, - "width": 2000, - "height": 2000, - "thumbnail_width": 500, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://11GG5TvNoNeCqCLmdRilrYi477L.jpeg", - "short_path": "/uploads/short-url/11GG5TvNoNeCqCLmdRilrYi477L.jpeg", - "retain_hours": null, - "human_filesize": "141 KB", - "dominant_color": "ECEBEC" - }, - "https://assets.polymech.info/machines//zoe/media/latest.jpg": { - "id": 10057, - "url": "https://forum.polymech.info/uploads/default/original/2X/c/c4ba6f88176c36a69780dd0824a8bcf80d1b2bab.jpeg", - "original_filename": "latest.jpg", - "filesize": 1832639, - "width": 6000, - "height": 3376, - "thumbnail_width": 690, - "thumbnail_height": 388, - "extension": "jpeg", - "short_url": "upload://s4l1hUJdkqgslHxoP9NDk14hdmb.jpeg", - "short_path": "/uploads/short-url/s4l1hUJdkqgslHxoP9NDk14hdmb.jpeg", - "retain_hours": null, - "human_filesize": "1.75 MB", - "dominant_color": "BEBCBA" - }, - "https://assets.polymech.info/machines//combo/IntegrationUnitMonash/media/latest.jpg": { - "id": 10058, - "url": "https://forum.polymech.info/uploads/default/original/2X/3/3afb10d72ec535d3d1bab2b221a7b3233e3244bf.jpeg", - "original_filename": "latest.jpg", - "filesize": 1280644, - "width": 4608, - "height": 3072, - "thumbnail_width": 690, - "thumbnail_height": 460, - "extension": "jpeg", - "short_url": "upload://8pLB9v9Pgdhd7ZwNdL2DTSpa9IP.jpeg", - "short_path": "/uploads/short-url/8pLB9v9Pgdhd7ZwNdL2DTSpa9IP.jpeg", - "retain_hours": null, - "human_filesize": "1.22 MB", - "dominant_color": "898E7D" - }, - "https://assets.polymech.info/machines//injection/elena-zmax-motor/media/latest.jpg": { - "id": 10019, - "url": "https://forum.polymech.info/uploads/default/original/2X/0/0acd2fb1efe11358657bb4da7b73e0cc408958e7.jpeg", - "original_filename": "latest.jpg", - "filesize": 693630, - "width": 2011, - "height": 3011, - "thumbnail_width": 333, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://1xynPpSps3mvDcd5Wkid0TrVTev.jpeg", - "short_path": "/uploads/short-url/1xynPpSps3mvDcd5Wkid0TrVTev.jpeg", - "retain_hours": null, - "human_filesize": "677 KB", - "dominant_color": "A67366" - }, - "https://assets.polymech.info/machines//extrusion/lydia-v4.6-ex/media/latest.jpg": { - "id": 10421, - "url": "https://forum.polymech.info/uploads/default/original/2X/9/9d1bdc6ddc11ef44b36c7b983b6429986ba275e0.jpeg", - "original_filename": "latest.jpg", - "filesize": 224235, - "width": 1980, - "height": 1584, - "thumbnail_width": 625, - "thumbnail_height": 499, - "extension": "jpeg", - "short_url": "upload://mpQEBo4eJfLsjp7UgzTJobFRTB6.jpeg", - "short_path": "/uploads/short-url/mpQEBo4eJfLsjp7UgzTJobFRTB6.jpeg", - "retain_hours": null, - "human_filesize": "219 KB", - "dominant_color": "CCCBCC" - }, - "https://assets.polymech.info/machines//extrusion/lydia-v4.6-ex/drawings/dimensions.jpg": { - "id": 10029, - "url": "https://forum.polymech.info/uploads/default/original/2X/c/c2bd4c9b3751868fcb72809f48fdfeb7edb872ce.jpeg", - "original_filename": "dimensions.jpg", - "filesize": 207784, - "width": 1999, - "height": 1545, - "thumbnail_width": 646, - "thumbnail_height": 500, - "extension": "jpeg", - "short_url": "upload://rMKcsK2sPSBU18qOkvdkr4EljCS.jpeg", - "short_path": "/uploads/short-url/rMKcsK2sPSBU18qOkvdkr4EljCS.jpeg", - "retain_hours": null, - "human_filesize": "203 KB", - "dominant_color": "E3E1E1" - } -} \ No newline at end of file diff --git a/gre.sh b/gre.sh deleted file mode 100644 index 2d6e74a64..000000000 --- a/gre.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -# Script to update git remote domain to git.polymech.info -# This script updates the origin remote URL from git.polymech.io to git.polymech.info - -echo "Updating git remote domain to git.polymech.info..." - -# Get current remote URL -current_url=$(git remote get-url origin) -echo "Current remote URL: $current_url" - -# Replace git.polymech.io with git.polymech.info -new_url=$(echo "$current_url" | sed 's/git\.polymech\.io/git.polymech.info/g') -echo "New remote URL: $new_url" - -# Update the remote URL -git remote set-url origin "$new_url" - -# Verify the change -updated_url=$(git remote get-url origin) -echo "Updated remote URL: $updated_url" - -# Test connectivity -echo "Testing connectivity to new remote..." -if git ls-remote origin > /dev/null 2>&1; then - echo "✅ Successfully connected to new remote!" -else - echo "❌ Warning: Could not connect to new remote. Please check the URL and your network connection." -fi - -echo "Git remote update completed!" \ No newline at end of file diff --git a/meta/mail-1.md b/meta/mail-1.md deleted file mode 100644 index 7038fd092..000000000 --- a/meta/mail-1.md +++ /dev/null @@ -1,34 +0,0 @@ - -Dear community, enthusiasts, users, and investors, - -Six years have passed since my wife and me began working full-time on this project. During this time, I’ve meticulously read every forum post and Discord message, monitored every map pin (including 563 censored ones), and scrutinized every offer on the Bazaar. Beyond this, my daily tasks included investigating numerous related projects, damage reduction, migrating, and maintaining thousands of parts in the library, and continually enhancing designs to meet our customers’ evolving needs. Our interactions with hundreds of clients and Discord users have been guided by a commitment to providing the best support possible. - -Despite all efforts and facts that have emerged, ‘Precious Plastic HQ’ and its selected beneficiaries have shown an excessively aggressive approach toward content creation and user relations, greatly disadvantaging users and investors. Over the period of the last 3 years, the project has seen a range of unethical practices, from defamation, indoctrination, unfair competition, Bazar ranking manipulation, exposure for freeloading, privacy violations, pay-or-else schemes, extensive censorship of differing opinions and issues, banning ‘misfit’ users across numerous Discord servers (owned and ‘moderated’ by Bazar sellers as well), the wrongful takedown of long-term vendors (ending often in bankruptcy) but also misleading users and investors with false statistics and claims, employing selective reporting and sensationalism, including instances of adolescents working in unhealthy conditions, and even injured soldiers used for marketing. Such actions have significantly compromised the integrity of communication and trade, favoring only a select few, showing no interests, respect, and involvement necessary to facilitate a smooth and supportive process for all participants. As a result, content creation, trade, and exchange have been restricted for everyone else, a trend reflected in the declining metrics as engagement, sales, innovation, and investment, particularly after the implementation of new and imposed measures in 2021. - -Long-standing concerns such as educational value, viability and criticisms, but also proposals often ignored or censored, have highlighted the project’s deteriorating state. The severe and sometimes lifelong consequences faced by individuals, stemming from misleading prospects, hype and corrupt practices, cannot be overlooked. We’ve witnessed numerous bankruptcies among machine builders and regular users alike, leading to dire financial situations and the loss of hard-earned savings. The project’s designs, including commercial offerings touted as solutions for the waste problem, have proven immature and ineffective, yet they’ve been sold at unreasonable prices, often at the taxpayer’s expense. Furthermore, the very activities of the project have shown little to no benefit to the involved individuals, the surrounding community, or the actual issues we aimed to address. The term ‘Open Source’ has regrettably been used more as a marketing gimmick than as a means to foster collective growth towards a common goal. Credits of volunteer’s work have been claimed and being now used against the community. Crucial updates and documentation have been withheld for profit, leaving users and individuals exposed to potential legal challenges, especially regarding machine designs and molds. Even in developing countries, where the impact of the plastic problem is most acute, there’s been a noticeable lack of progress and support. - -In light of these issues, I wish to stress the urgency of establishing a truly community-owned system that genuinely embraces fairness, honesty, and democracy. Such a system should encourage bounties and forge connections with both international and local markets, with the hope of attracting like-minded individuals who are eager to contribute positively once again. - -In case you have spare time, these are the areas we could need a hand: - - Machine & Product Design - Solidworks (expert level) - Systems (Architecture) - Electronics (Micro-Controllers & PLCs) - Mechatronics (Robotics) - Polymer science - Software development (Typescript / C / C++ / CSharp and markup languages) - Business and legal matters - Media and content-related tasks (Library, Documentation) - -And these options have proven promising and viable: - - Complete re-design of all machines, leaving nothing left to desire, modular, accessible, OpenSource - suited for education, lab & science, and small enterprises. Beyond designs, best practice guides, as well templates should be provided in a central pool. - Large scale printing - Custom machines and consultancy as a service (bounties) - Data acquisition (waste, services) - Furniture and larger objects (boats) - -Please respond to this email directly. It has been sent to everyone on the map as well. - -kind regards -​ diff --git a/meta/pp-next-todos.md b/meta/pp-next-todos.md deleted file mode 100644 index f5aae451c..000000000 --- a/meta/pp-next-todos.md +++ /dev/null @@ -1,316 +0,0 @@ -# Precious Plastic - Uncensored / Unofficial - -v3, v4 and v5 - backports, issues, variants & fixes. This repository is currently under development and is the source for the Precious Plastic library, acting as source for research and development. It includes all v3, v4 but also upcoming v5 machines. Other than machines, you can find updated howtos, research data, papers and books. - -Stay tuned, we hope to publish it soon as easy to search and navigate website at [library.precious-plastic.org](https://library.precious-plastic.org) - -### Installation from GIT - -1. Install [GIT LFS](https://git-lfs.github.com/) 'GIT LFS' enables large files over 50MB. -2. clone repo - -``` -git clone https://git.polymech.info/osr-plastic/pp-next.git (7GB) -``` - -3. In case files are not expanded, run - -``` -git lfs pull -``` - -## Todos (for developers only) - -- [-] merge issues@pp-lib -- [x] merge issues@discord -- [x] fix links & library content -- [-] merge PH content - - [x] flatten v3/v4 (variants but with ratings regarding completeness) - -### users - -- [x] Directory, by region, service ... -- [-] Addressbook -- [-] Resolve links -- [x] classification -> PPContact -- [x] check 'rejected' -- [-] OSR tags - -### howtos - -- [-] apply OSR specs and validation -> reports -- [ ] @gabi : please remove biased content according to [Wiki specs](https://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view#:~:text=Neutral%20articles%20are%20written%20with,a%20particular%20point%20of%20view.) -- [-] add file grid/preview -- [-] add versions -- [x] Polish SEO and social preview -- [-] Wikifactory deploy adaptor -- [ ] As forum post - -### templates - -- [x] Mappin -> OSR-Contact -> PH-LDAP-Contact -- [ ] Howto - - [x] List - - [-] Howto - Summary -> see osrl - - [-] Step -> see osrl - - [x] JSON -> OSR indexer - - [x] Sitemap -> JekyllFeed - - [x] SEO display -> JekyllSEO2 - - [ ] Resource Bar : PDF|Source|Download(all of it) - - [-] Apply OSR specs to files (@gabi) - - [-] OSR Rating - - [-] OSR Spec validation - - [ ] uncensored - - [ ] @osr-sync template -- [-] Product Thumbnail -- [x] QC protocol (from ph-osr spec) -> gsheet -- [ ] Testing protocol (from ph-osr spec) -> gsheet -- [ ] Test report -- [x] Assembly (from ph-osr spec) -> jekyll -> jekyll -> PDF -- [x] Vendor Product PDF (from ph-osr template) - osrl -> jekyll -- [ ] Vendor Brochure (from ph-osr template) -> osrl -> jekyll -- [x] License (sum) -> osrl -> jekyll -- [ ] Warrenty/Disclaimer (using component propagation/emitter) -> osrl -> jekyll -- [x] Sub cert summary -> osrl -- [ ] Disclaimer - - [ ] link cases - - [ ] manual rep -- [ ] Applications (tested only) - - [ ] per type - - [ ] latest known recommendation/machine with specs - - [ ] peer cases -- [-] CAD Sheet / Drawing -- [x] Naming convention for parts and sub assemblies (CAD|LASER|CAM) -- [ ] Known issues -- [-] Limitations -- [ ] Damage / callback report -- [ ] Contribs / Contributors - - [ ] Author -- [ ] Partnership -- [ ] Internship -- [ ] Working group / member list -- [-] Firmware - - [x] Source Viewer/Download - - [x] FW Tools (@osr-firmware/toolkit) - - [ ] migrate to platform-IO - - [ ] platform-IO eject (@osr-firmware/toolkit) -- [ ] Guide -- [ ] Forum post (by user) -- [ ] Project to Product -- [ ] Directory - - [ ] index - - [ ] preview -- [ ] Item folder - - [x] License - - [-] Config - - [-] Templates -- [-] BOM - - [ ] CAD map - - [ ] Vendor map - - [ ] Drawing map - - [ ] Resources - - [ ] @osr-sync - - [ ] @osr-notify - - [ ] @osr-convert -- [ ] Public CE Version (osr-sync PlastiHub template) -- [ ] Definition of done - - [ ] contributor - - [x] employee -- [-] Electrical Diagram/Schematic - - [x] Shredder - - [x] Power circuit - -## OSR-Commons -- [ ] Repo Readme collector - - [ ] collect tasks - - [ ] collect refs -- [ ] File grid - -## OSR-Convert - -- [x] Howto - - [x] Expand tags to SEO keywords - - [x] Incl. full author sources/links - - [-] Fetch'n embedd related from PP Search -- [x] expand config.json::authors - -## OSR - Sync - - [x] sub-asemblies / parts to 3dxml, step, ... - - [x] flat pack config.json::required components - - [x] add local transformers (strip local names, etc...) - - [x] integrate staging/versioning for library (and manuals, ...) - -## OSR - CAD - -- [ ] Grunt - Tasks - - [ ] CAD->CAM (Fusion) mapping (meta:export) - - [ ] Setup sheets - - [ ] Local PID mapping - - [ ] Sustainabilty props (meta:export) - - [ ] ECAD mapping - -## OSR Viewer - -- [x] PDF viewer with page URL parameters -- [x] Machine, project & product zips - -## Map - -- [x] Convert censored into pins -- [x] GMaps, its 2020! -- [ ] merge old map - - [-] plookup and completion - - -## V3 - -- [ ] redo wiring diagrams (source) -- [x] extract Zoe auto-reverse variant for simple Arduinos (with v4 compat as well) -- [x] migrate v3 imperial shredder -- [x] migrate v3.2 shredder -- [x] migrate v3.3 shredder -- [x] migrate v3.4 shredder -- [x] migrate Lydia screw mount -- [ ] integrate bertha injector -- [-] migrate Lydia v3.3 -- [x] migrate Lydia v3.5 -- [x] migrate Lydia v4.5 -- [x] migrate Lydia Mini - - [ ] extend for more thrust bearings -- [x] migrate Idefix -- [x] migrate shredder - v3.1 - light - -[x] double wheel support - - [-] bearing mount plate -- [x] migrate feedscrew for injectors -- [x] Sheetpress - - [x] migrate cassandra - stacked / simple version - - [x] CAD - basics - - [x] merge firmware framework from @plastichub/firmware - - [ ] cartridge/loading system -- [x] 220V | 70sqcm variant for sheetpress, Cassandra -- [x] migrate Asterix -- [x] remove this 2kW/400V wood auger joke -- [x] redo v3 bs extruder -- [x] integrate Asterix-PP -- [x] integrate Asterix-Morren -- [x] integrate Asterix-SM -- [x] integrate zoe@latest - - [x] motor/ex 2cm to the left -- [-] integrate pellet face die cutter (v4+) -- [x] integrate Elena - - [x] standard - - [x] xmax - - [-] light - -## V4 - -- [-] Redo missing drawings -- [x] Shredder, migrate Obelix - - [x] update BOM for direct drive (no coupling) and missing components (lock nuts & Hal9000) -- [-] Integrate 1.30m sheetpress -- [ ] Backport updates to 1m sheetpress -- [x] Integrate 1.20m sheetpress - - [-] replace beams (uni) - - [-] replace rails (uni) - - [-] CAM files (uni) -- [-] Integrate 1.50m sheetpress -- [x] Merge 4x - 8x SSR variant (it's fucking ~8 amps per relay only) -- [-] Redo shredder CAD, it's a fucking mess -- [x] Redo v4 Shredder (assembly sucks, performance sucks, housing instable, tab & slots stupid, stationary blades also stupid and cause jamming) - - [-] Small - - [x] Medium - 2kW - - [x] Large - 4kW - - [-] Extra Large - 7kW -- [-] Integrate Asterix@Obelix -- [x] Integrate Armin's scanner : - - [-] stationary @ SPI|I2C - - [x] handheld @BT/LED - - [-] tomra style conveyor -- [ ] 3T Injection - - [ ] Clamp - Semi - - [ ] Clamp - Auto - -# v4/v3 Follow-Up (sprint 31) - -- [ ] Oil-Housing for Obelix::* -- [-] Re-design side panels for press-brake, Idefix -- [ ] Migrate SW ECAD symbols -- [ ] Integrate new BOM system -- [ ] Dog-Clutch for Zoe 3.8 -- [x] Injection: press mechanics | valve -- [ ] Tool library -- [ ] commons - -# V5 - -**Candidates (tbc)** - -- [ ] Lydia - 50mm - - [-] Filament version - - [ ] Lab version - - [ ] Electronics : Monitoring & support for various protocols - - [ ] Cooling - - [-] Nickel/Chrome plating - - [ ] pellet face die cutter -- [ ] Obelix - 7/11 kW -- [ ] Zoe (v4 like) -- [ ] 5T Injection - - [.] Clamp - Semi - - [ ] Clamp - Auto -- [-] Asterix 7kW - reverse vending -- [-] Asterix - PP - reverse vending -- [-] Idefix - 11kW -- [-] Cassandra lab mile -- [ ] Misc: drying, flake transport -- [ ] Extendable grid-cell sheetpress using conventional heat wires and steel plates -- [-] Common - - [-] universal toggle clamp - - [ ] mold cooling/heating cartridge system - - [x] valve - -## Common - -- [-] redo/update BOMs to OSR specs (see partner project : https://gitlab.com/plastichub/client-oshwapp/blob/master/src/views/Help/HelpBomProtocol.vue) -- [ ] add partner projects/directory -- [ ] augment SEO context (from parents) -- [x] integrate Noah & friends -- [-] integrate customer success stories -- [x] integrate past and ongoing research (slack & forum) -- [x] Forum embed & preview -- [x] integrate pdf render engine (manuals, warranty & assembly) -- [x] Forum bestofs -- [-] osr-deploy templates for all of the artefacts -- [-] engine :: policies -> specs -> templates -> content -> feedback - - [ ] CAD, CAM, naming conventions, grouping (sub - assemblies) - policies -- [-] machine / project snippet deployment for pp academy -- [-] guide to imperial conversions -- [-] Machine configurator (components, downloads, drawings, specs) - -## Stats/KPI - -- [x] Bazar trends -- [x] Overall network metrics, instagram, ... -- [ ] Actual growth -- [ ] investigate related orgs/partners - -## Academy - -- [-] add warnings, fix specs -- [-] remove/tag biased content (all the workspace and business bs) -- [-] Merge with resources/knowledge base -- [ ] Jekyll remake, for the glamorous PP SS HQ -- [x] clean slate content / ready for Jekyll - -Can be done from scratch, too much goofy stuff in there - -### Forum - -- [x] define rules for content rating/migration -- [x] extract link directory -- [-] related module - -### Directory removal requests - -- http://polymech.info/users/opalstreasures.html - -- http://polymech.info/users/brothers-make.html diff --git a/Gruntfile.js b/scripts/Gruntfile.js similarity index 100% rename from Gruntfile.js rename to scripts/Gruntfile.js diff --git a/component.js b/scripts/component.js similarity index 100% rename from component.js rename to scripts/component.js diff --git a/constants.js b/scripts/constants.js similarity index 100% rename from constants.js rename to scripts/constants.js diff --git a/index.js b/scripts/index.js similarity index 100% rename from index.js rename to scripts/index.js diff --git a/library.js b/scripts/library.js similarity index 100% rename from library.js rename to scripts/library.js diff --git a/machines.js b/scripts/machines.js similarity index 100% rename from machines.js rename to scripts/machines.js diff --git a/package-lock.json b/scripts/package-lock.json similarity index 100% rename from package-lock.json rename to scripts/package-lock.json diff --git a/package.json b/scripts/package.json similarity index 100% rename from package.json rename to scripts/package.json diff --git a/product.js b/scripts/product.js similarity index 100% rename from product.js rename to scripts/product.js diff --git a/tsconfig.json b/scripts/tsconfig.json similarity index 100% rename from tsconfig.json rename to scripts/tsconfig.json diff --git a/tasks/Gruntfile.ts b/tasks/Gruntfile.ts deleted file mode 100644 index a5d413dae..000000000 --- a/tasks/Gruntfile.ts +++ /dev/null @@ -1,98 +0,0 @@ -import * as path from 'path' - -import { files, forward_slash } from '@plastichub/osr-cli-commons/glob' -import { IComponentConfig } from '@plastichub/osr-commons/' -import { isValidLibraryComponent, readOSRConfig } from '@plastichub/osr-fs-utils' -import { logger } from './' - -import { - productCADTask, - productGitSyncTask -} from './component' - -export const grunt = (grunt) => { - grunt.initConfig({ - pkg: grunt.file.readJSON("package.json"), - sshexec: { - update: { - debug: true, - verbose: true, - commands: 'sh update-osr.sh' - } - } - }) - - grunt.loadNpmTasks("grunt-extend-config") - - const cad_tasks = [] - const git_tasks = [] - - const items = (category, includeProducts = false) => { - const componentsPath = path.resolve(category) - let components = files(componentsPath, '**/**/config.json') as string[] - // components = components.filter(isValidLibraryComponent) - components = components.filter((c) => { - try { - - const config = readOSRConfig(c) as IComponentConfig - if (config) { - if(config.forum ===false){ - return false - } - if (!includeProducts) { - return !config.code && !config.cscartId && !config.steps - } else { - } - } - return true - } catch (error) { - logger.error(`Invalid config : ${c}`) - } - }) - return components - } - - let components = - [ - - ...items('./injection/components',true), - ...items('./extrusion/components',true), - ...items('./sheetpress/components', true), - ...items('./sheetpress/', true), - ...items('./shredder',true), - ...items('./injection'), - ...items('./compression'), - ...items('./extrusion') - ] - - const root = path.resolve('.') - components = components.filter(isValidLibraryComponent) - components = components.map((c) => { - const dir = path.relative(root, path.parse(c).dir) - return forward_slash(dir) - }) - - const componentTasks = (items) => { - items.forEach((i) => { - productCADTask(grunt, i, {}, cad_tasks), - productGitSyncTask(grunt, i, {}, git_tasks) - }) - } - - logger.debug(`Registered component tasks for`, components) - - componentTasks(components) - - grunt.registerTask('components-update', [ - 'components-cad', - 'components-git' - ]) - - grunt.registerTask('default', [ - 'components-update' - ]) - - require("@plastichub/osr-tasks").initConfig(grunt, {}) -} - -module.exports = grunt \ No newline at end of file diff --git a/tasks/compileOptions.ts b/tasks/compileOptions.ts deleted file mode 100644 index 707659f02..000000000 --- a/tasks/compileOptions.ts +++ /dev/null @@ -1,97 +0,0 @@ -export interface ICompileOptions { - language: string; - debug: number; - profile: Profile; - output: string; - plugins: string[]; - env: string; - cwd: string; - source: string; - variables: PathVariablesClass; - srcInfo: Info; - targetInfo: Info; - pathVariables: PathVariablesClass; -} - -export interface PathVariablesClass { - OSR_ROOT: string; - PRODUCT_ROOT: string; - OA_ROOT: string; - KB_ROOT: string; - OSR_CACHE: string; - OSR_LIBRARY_MACHINES: string; - OSR_USER_ASSETS: string; - OSR_PRIVATE: string; - OSR_TEMPLATES: string; - OSR_CONTENT: string; - root: string; - cwd: string; - product: string; - debug: number; - env: string; - SRC_PATH: string; - SRC_DIR: string; - SRC_NAME: string; - SRC_FILE_NAME: string; - SRC_FILE_EXT: string; - SRC_IS_FILE: boolean; - SRC_IS_FOLDER: boolean; - SRC_IS_EXPRESSION: boolean; - SRC_IS_GLOB: boolean; - SRC_FILES: string[]; - abs_url: string; - CACHE: string; - CACHE_URL: string; - GIT_REPO: string; - DST_PATH: string; - DST_DIR: string; - DST_NAME: string; - DST_FILE_NAME: string; - DST_FILE_EXT: string; - DST_IS_FILE: boolean; - DST_IS_FOLDER: boolean; - DST_IS_EXPRESSION: boolean; - DST_IS_GLOB: boolean; - DST_FILES: string[]; -} - -export interface Profile { - includes: string[]; - variables: ProfileVariables; - env: Env; -} - -export interface Env { - bazar: Bazar; - "bazar-release": Bazar; -} - -export interface Bazar { - includes: string[]; - variables: BazarVariables; -} - -export interface BazarVariables { - abs_url: string; -} - -export interface ProfileVariables { - PRODUCT_ROOT: string; - abs_url: string; - CACHE: string; - CACHE_URL: string; - GIT_REPO: string; -} - -export interface Info { - PATH: string; - DIR: string; - NAME: string; - FILE_NAME: string; - FILE_EXT: string; - IS_FILE: boolean; - IS_FOLDER: boolean; - IS_EXPRESSION: boolean; - IS_GLOB: boolean; - FILES: string[]; -} diff --git a/tasks/component.ts b/tasks/component.ts deleted file mode 100644 index ed483dfac..000000000 --- a/tasks/component.ts +++ /dev/null @@ -1,140 +0,0 @@ -import * as path from 'path' - -import { resolve } from '@plastichub/osr-cli-commons/fs' -import { files, forward_slash } from '@plastichub/osr-cli-commons/glob' - -import { sync as cp } from '@plastichub/fs/copy' -import { sync as rm } from '@plastichub/fs/remove' -import { sync as exists } from '@plastichub/fs/exists' - -import { - componentContentOptions as componentContentOptions -} from './library' - - -import { logger } from './' - -const COMPONENT_TEMPLATE = './osr/bazar/root.html' - -const debug = true -const verbose = false - -let DEFAULT_CAD_OUTPUTS = '${SRC_DIR}/${SRC_NAME}.+(json|html|step|x_t)' -const HTML_DEFAULT_PATH = 'resources/edrawings.html' - -export const productLaserTask = (grunt, product, options: any = {}, laser_tasks) => { - const config = {} - const slug = path.parse(product).base - - config[`component-${slug}`] = { - src: [product], - options: { - clear: true, - debug, - verbose - } - } - grunt.extendConfig({ - laser: config - }) - grunt.registerTask(`component-${slug}`, `laser:component-${slug}`) - - laser_tasks.push(`laser:component-${slug}`) - - grunt.registerTask(`products-laser`, laser_tasks) -} - -export const productCADTask = (grunt, component, options: any = {}, cad_tasks) => { - const config = {} - const slug = path.parse(component).base - - component = path.resolve(path.join(process.cwd(), component)) - - const rel = forward_slash(path.relative(path.resolve('.'), component)) - let glob = `${rel}/cad/*Global*.+(SLDASM)` - const filesSolidworks = files(path.resolve('.'), glob) - if (!filesSolidworks.length) { - return - } - - - config[`component-${slug}`] = { - src: [`${component}/cad/*Global*.+(SLDASM)`], - output: DEFAULT_CAD_OUTPUTS, - options: { - debug, - verbose, - skip:true, - onNode: (data => { - try { - options.debug && logger.info(`Converted ${data.src} to ${data.target}`) - const parts = path.parse(data.target) - if (parts.ext === '.html' && parts.name.toLowerCase().indexOf('global') !== -1) { - const target = path.join(component, HTML_DEFAULT_PATH) - if(exists(target)){ - rm(target) - } - cp(data.target, target, {}) - } - } catch (error) { - logger.info(`Error copying ${data.src} to ${HTML_DEFAULT_PATH}`, error) - } - }) - } - } - grunt.extendConfig({ - cad: config - }) - grunt.registerTask(`component-${slug}`, `cad:component-${slug}`) - - cad_tasks.push(`cad:component-${slug}`) - - grunt.registerTask(`components-cad`, cad_tasks) -} - -export const productBazarTask = (grunt, component, options: any = {}, cscart_tasks) => { - if (!component) { - logger.error('Invalid component') - } - const config = {} - const slug = path.parse(component).base - config[`component-${slug}`] = { - src: [COMPONENT_TEMPLATE], - options: componentContentOptions(component) - } - grunt.extendConfig({ - compile: config - }) - grunt.registerTask(`component-${slug}`, `compile:component-${slug}`) - - cscart_tasks.push(`compile:component-${slug}`) - - grunt.registerTask(`products-bazar`, cscart_tasks) -} -export const productGitSyncTask = (grunt, component, options: any = {}, git_tasks) => { - - const config = {} - - const opts = { - clean: true, - debug, - verbose, - cwd: '${OSR_ROOT}/osr-machines/', - rel: component.replace('products/', '') - } - - const slug = path.parse(component).base - - config[`component-${slug}`] = opts - - grunt.extendConfig({ - git: config - }) - - grunt.registerTask(`git-component-${slug}`, `git:component-${slug}`) - - git_tasks.push(`git:component-${slug}`) - - grunt.registerTask(`components-git`, git_tasks) - -} \ No newline at end of file diff --git a/tasks/constants.ts b/tasks/constants.ts deleted file mode 100644 index f64e83b75..000000000 --- a/tasks/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const MODULE_NAME = `OSR-Machines` \ No newline at end of file diff --git a/tasks/index.ts b/tasks/index.ts deleted file mode 100644 index 20d109c5f..000000000 --- a/tasks/index.ts +++ /dev/null @@ -1,10 +0,0 @@ - -import { logger as _logger } from '@plastichub/core/debug' -import { MODULE_NAME } from './constants' - -export const logger = _logger(MODULE_NAME) - -import { substitute as _substitute , substituteAlt as _substituteAlt } from "@plastichub/core/strings" -import { IObjectLiteral } from "@plastichub/core" - -export const substitute = (alt:boolean, template:string, vars:IObjectLiteral) => alt ? _substituteAlt(template,vars) : _substitute(template, vars); diff --git a/tasks/library.ts b/tasks/library.ts deleted file mode 100644 index f4ce86275..000000000 --- a/tasks/library.ts +++ /dev/null @@ -1,69 +0,0 @@ -import * as path from 'path' -import { files } from '@plastichub/osr-cli-commons/glob' -import { Converter } from 'showdown' -const cheerio = require('cheerio') - -export const addAssembly = (item) => `${item}/cad/**/Global*.+(SLDASM)` - - -export const componentContentOptions = (product) => { - - console.log('Create product compile options for ', product) - - product = '' + product - - const product_rel = product.replace('products/', '') - - return { - debug: false, - watch: false, - root: '.', - env: 'bazar-release', - profile: '${root}/.osrl.json', - output: '${product}/bazar/raw.html', - format: 'html', - module: 'plastichub-products', - cwd: path.resolve('.'), - cache: false, - onCompiled: onComponent, - onCompileDone: onComponentCompiled, - variables: { - product, - product_rel, - root: path.resolve('.'), - product_relative: '' + product_rel - } - } -} - -export const MainAssembly = (dir) => { - const mains = files(dir, '**/cad/**/*Global*.+(SLDASM)') as string[] - return mains[0]; -} - -export const file_path_with_ext = (file, ext) => { - const parts = path.parse(file); - return path.join(parts.dir, parts.name + '.' + ext); -} - -export const unique_by = (arr, key) => { - return [...new Map(arr.map(item => [item[key], item])).values()] -} - -export const onComponent = (src, dst, content) => { - const $ = cheerio.load(content, { - xmlMode: true - }); - - $('a').each(function () { - $(this).attr("style", "color:#4C74B9"); - }) - - $('table').each(function () { - $(this).attr("style", "display:table;width:auto;margin-left:auto;margin-right:auto"); - }) - - return Promise.resolve($.html()) -} - -export const onComponentCompiled = (src, dst, options, content) => Promise.resolve() diff --git a/vfs-settings.json b/vfs-settings.json index bdf53c9d4..ad97dbb04 100644 --- a/vfs-settings.json +++ b/vfs-settings.json @@ -1,23 +1,14 @@ { - "owner": "3bb4cfbf-318b-44d3-a9d3-35680e738421", + "owner": "00000000-0000-0000-0000-000000000000", "groups": [], "acl": [ { - "path": "components", - "permissions": [ - "read", - "list", - "write" - ], - "userId": "7b7edc7f-aba4-4e7c-a5dc-4da6c22631f9" - }, - { - "path": "/combos/zoe", + "path": "/", "permissions": [ "read", "list" ], - "userId": "authenticated" + "userId": "anonymous" } ] } \ No newline at end of file