我能够完成上传Revit文件以及在查看器中翻译和加载的所有步骤。 我正在尝试下载已翻译的SVG / SVF以供离线查看。 我找到了以下端点的参考并用此测试出来:
function download(){ var uri = 'https://developer.api.autodesk.com/derivativeservice/v2/derivatives/<<urn>>' ; var authorizationHeader = 'Bearer <<token>>' request.get( { url: uri, headers: { 'Authorization': authorizationHeader, 'Accept-Encoding': 'gzip, deflate' }, }, function(error, response, body){ if(!error){ console.log(body); }else{ console.log(error); } }); }API返回: {“diagnostic”:“Derivative api仅支持adsk.viewing和adsk.objects urn”}
I am able to accomplish all steps to upload Revit files and translate and load in viewer. I am now trying to download the translated SVG/SVF for offline viewing. I found reference to the following endpoint and tested it out with this:
function download(){ var uri = 'https://developer.api.autodesk.com/derivativeservice/v2/derivatives/<<urn>>' ; var authorizationHeader = 'Bearer <<token>>' request.get( { url: uri, headers: { 'Authorization': authorizationHeader, 'Accept-Encoding': 'gzip, deflate' }, }, function(error, response, body){ if(!error){ console.log(body); }else{ console.log(error); } }); }API returns: {"diagnostic":"Derivative api only supports adsk.viewing & adsk.objects urn"}
最满意答案
如果您希望获取所有必需的文件以供离线查看,则有几个步骤。 首先检查提取项目中的downloadBubble方法(node.js):
this.downloadBubble =function (urn, outPath) { var self =this ; self._outPath =outPath ; return (new Promise (function (fulfill, reject) { self._progress.msg ='Downloading manifest' ; self.getManifest (urn) .then (function (bubble) { //utils.writeFile (outPath + 'bubble.json', bubble) ; self._progress.msg ='Listing all derivative files' ; self.listAllDerivativeFiles (bubble.body, function (error, result) { self._progress._filesToFetch =result.list.length ; console.log ('Number of files to fetch:', self._progress._filesToFetch) ; self._progress._estimatedSize =0 | (result.totalSize / (1024 * 1024)) ; console.log ('Estimated download size:', self._progress._estimatedSize, 'MB') ; //self.fixFlatBubbles (result) ; //self.fixFusionBubbles (result) ; self._progress.msg ='Downloading derivative files' ; self.downloadAllDerivativeFiles (result.list, self._outPath, function (failed, succeeded) { //if ( ++self._done == 1 /*2*/ ) // return ; self.failed =failed ; self.succeeded =succeeded ; fulfill (self) ; }) ; }) ; }) .catch (function (err) { console.error ('Error:', err.message) ; self._errors.push (err.message) ; reject (self) ; }) ; })) ; } ;在https://extract.autodesk.io上进行测试
There are several steps if you desire to grab all the required files for offline viewing. Start by checking the downloadBubble method (node.js) in extract project:
this.downloadBubble =function (urn, outPath) { var self =this ; self._outPath =outPath ; return (new Promise (function (fulfill, reject) { self._progress.msg ='Downloading manifest' ; self.getManifest (urn) .then (function (bubble) { //utils.writeFile (outPath + 'bubble.json', bubble) ; self._progress.msg ='Listing all derivative files' ; self.listAllDerivativeFiles (bubble.body, function (error, result) { self._progress._filesToFetch =result.list.length ; console.log ('Number of files to fetch:', self._progress._filesToFetch) ; self._progress._estimatedSize =0 | (result.totalSize / (1024 * 1024)) ; console.log ('Estimated download size:', self._progress._estimatedSize, 'MB') ; //self.fixFlatBubbles (result) ; //self.fixFusionBubbles (result) ; self._progress.msg ='Downloading derivative files' ; self.downloadAllDerivativeFiles (result.list, self._outPath, function (failed, succeeded) { //if ( ++self._done == 1 /*2*/ ) // return ; self.failed =failed ; self.succeeded =succeeded ; fulfill (self) ; }) ; }) ; }) .catch (function (err) { console.error ('Error:', err.message) ; self._errors.push (err.message) ; reject (self) ; }) ; })) ; } ;Test it live at https://extract.autodesk.io
更多推荐
发布评论