{"action":"created","issue":{"url":"https://api.github.com/repos/dcowden/cadquery/issues/33","labels_url":"https://api.github.com/repos/dcowden/cadquery/issues/33/labels{/name}","comments_url":"https://api.github.com/repos/dcowden/cadquery/issues/33/comments","events_url":"https://api.github.com/repos/dcowden/cadquery/issues/33/events","html_url":"https://github.com/dcowden/cadquery/issues/33","id":40182258,"number":33,"title":"Feature Request: Sweep Operation","user":{"login":"jmwright","id":1015439,"avatar_url":"https://avatars.githubusercontent.com/u/1015439?v=3","gravatar_id":"","url":"https://api.github.com/users/jmwright","html_url":"https://github.com/jmwright","followers_url":"https://api.github.com/users/jmwright/followers","following_url":"https://api.github.com/users/jmwright/following{/other_user}","gists_url":"https://api.github.com/users/jmwright/gists{/gist_id}","starred_url":"https://api.github.com/users/jmwright/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmwright/subscriptions","organizations_url":"https://api.github.com/users/jmwright/orgs","repos_url":"https://api.github.com/users/jmwright/repos","events_url":"https://api.github.com/users/jmwright/events{/privacy}","received_events_url":"https://api.github.com/users/jmwright/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dcowden/cadquery/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2014-08-13T18:09:30Z","updated_at":"2015-01-13T14:28:32Z","closed_at":null,"body":"The source code makes note that this functionality might be added to the extrude function at some point. While I don't see this being as important as the revolve operation, I think it's something that will be needed.\r\n\r\nI'll need to think a little bit about how this could most cleanly be merged with the extrude function."},"comment":{"url":"https://api.github.com/repos/dcowden/cadquery/issues/comments/69751398","html_url":"https://github.com/dcowden/cadquery/issues/33#issuecomment-69751398","issue_url":"https://api.github.com/repos/dcowden/cadquery/issues/33","id":69751398,"user":{"login":"jmwright","id":1015439,"avatar_url":"https://avatars.githubusercontent.com/u/1015439?v=3","gravatar_id":"","url":"https://api.github.com/users/jmwright","html_url":"https://github.com/jmwright","followers_url":"https://api.github.com/users/jmwright/followers","following_url":"https://api.github.com/users/jmwright/following{/other_user}","gists_url":"https://api.github.com/users/jmwright/gists{/gist_id}","starred_url":"https://api.github.com/users/jmwright/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmwright/subscriptions","organizations_url":"https://api.github.com/users/jmwright/orgs","repos_url":"https://api.github.com/users/jmwright/repos","events_url":"https://api.github.com/users/jmwright/events{/privacy}","received_events_url":"https://api.github.com/users/jmwright/received_events","type":"User","site_admin":false},"created_at":"2015-01-13T14:28:32Z","updated_at":"2015-01-13T14:28:32Z","body":"The following FreeCAD script will give a solid coil, which I'm using as an approximation of a spring in an assembly. It gives a reference of how CQ might handle sweeping a pipe or coil under the hood. We can already make a helix in CQ and the section to sweep. What we lack is the ability to sweep the section over the path.\r\n```python\r\nimport Part\r\nfrom FreeCAD import Base\r\n\r\nhelix = Part.makeHelix(1.016, 8.89, 10.795, 0.0)\r\n\r\nsection = Part.Wire(Part.makeCircle(0.4445, Base.Vector(10.795, 0, 0), Base.Vector(0, 1, 0)))\r\n\r\nmakeSolid = True\r\nisFrenet = True\r\n\r\npipe = Part.Wire(helix).makePipeShell([section], makeSolid, isFrenet)\r\n\r\nPart.show(pipe)\r\n```\r\n\r\nIt's also interesting to note that this script runs in the CQ module for FreeCAD without modification, and prevents me from having to run it in the stock scripting window or in the Python console. Any valid Python should run fine in the module because of how it executes the code."}}