1

I am trying to do the IFC Export through Autodesk Forge. I am using Automation API. The code was working fine earlier when I used to just have the conversion to Revit from my model. I extended the same code with flag based approach ( by passing the parameter in the command line parameters to Forge App).

The code is working fine on Local but when I am trying this on Cloud, it is somehow returning the same IFC file every time irrespective of the input model passed . I tried to have the debuggers to see if the model I am passing is getting transported to Forge corrected or not . They are ok. Till the last step , the inputs values are ok, but not sure where it is going wrong after the Export or during the export. I am using

Document.Export

method from Autodesk API to convert to IFC.

The status of the Work Item is Success as can be seen by the report that is downloaded from the reportUrl.

End upload phase successfully. Job finished with result Succeeded Job Status: { "status": "success", ...

Update:- Copying the result.txt file ( changed some specific sensitive values)

[07/02/2021 11:57:22] Job information:
"CommandLine":[
  "$(engine.path)\\revitcoreconsole.exe /i \"$(args[inputFile].path)\" /al \"$(appbundles[XXXXXApp].path)\" \"ifc\""
]
............
"BoundArguments":{
  "section0": {
    "localName": "1x7hUD1GaAOuaQyP.rfa",
    "url": "<https://exampleapi.XXX.com/Masked:8/wSLCxHxr+mXhp2+zA/IN18CJs=>"
  },
  "section1": {
    "localName": "bE2u59aoh79eT3SA.rfa",
    "url": "<https://exampleapi.XXX.com/Masked:dr2fG6Cm78bAH2bMiZmQ1Rtzltc=>"
  },
  "section2": {
    "localName": "BHK42GD7MsE49wuA.rfa",
    "url": "<https://exampleapi.XXX.com/Masked:/5wYD4CV/Kihxb1vQGeDm0fbKok=>"
  },
  "section3": {
    "localName": "7VceGbPmI8XVPp92.rfa",
    "url": "<https://exampleapi.XXX.com/Masked:evPysRNw9zZt7IWwa4SGZYfXv5I=>"
  },
  "inputFile": {
    "localName": "base_project.rvt",
    "url": "<https://developer.api.autodesk.com/Masked:7kr3KyLK1KRZ9ijHbzA0/5Fo7qE=>"
  },
  "structure": {
    "localName": "structure_obj.json",
    "url": "<https://exampleXXX.com/Masked:Az9LQbyzpRp7RY0rR6EMht10X+I=>"
  },
  "outputFile": {
    "localName": "results1.ifc",
    "url": "<https://exampleapi.XXX.com/Masked:8WtPja/Lv5Q6pcaqaXyCrv5TY2I=>",
    "verb": "post"
  },
  "params": {
    "localName": "settings.json",
    "url": "data:application/json,{\"files_to_load\":[\"1x7hUD1GaAOuaQyP.rfa\",\"bE2u59aoh79eT3SA.rfa\",\"BHK42GD7MsE49wuA.rfa\",\"7VceGbPmI8XVPp92.rfa\"],\"real_names\":[\"150 UB 14.0\",\"180 UB 18.1\",\"180 UB 16.1\",\"250 UB 31.4\"]}"
  },
  "onProgress": {
    "ondemand": true,
    "url": "<https://example.wlnr5sjl3a.execute-api.us-east-1.amazonaws.com/Masked:UK/Z3b5X3xUWxXiH6C9r9i9UlRU=>",
    "headers": {
      "Content-Type": "application/json",
      "x-das-authorize": "awssigv4(us-east-1)",
      "x-ads-token-data": "{\"access_token\":{\"client_id\":\"YYYYYYYYYYYYYYYYYYY\"},\"scope\":\"code:all\",\"expires_in\":3561,\"client_id\":\"YYYYYYYYYYYYYYYYYYYYYY\"}"
    },
    "verb": "put"
  }
}
"Quotas":{
  "limitProcessingTimeSec": 10800,
  "limitTotalUncompressedAppsSizeInMB": 5000
}
[07/02/2021 11:57:22] Starting work item 3cf0f34b6e314a15a5c0ad465c74f673
[07/02/2021 11:57:22] Start download phase.
[07/02/2021 11:57:23] End download phase successfully.
[07/02/2021 11:57:23] Start preparing script and command line parameters.
[07/02/2021 11:57:23] Command line: [ /i "T:\Aces\Jobs\3cf0f34b6e314a15a5c0ad465c74f673\base_project.rvt" /al "T:\Aces\Applications\a662b3c16ef94a4208b5394390cf7f52.XXXToRevit.CreateXXXToRevitAppBundle[1].package" "ifc"]
[07/02/2021 11:57:23] End preparing script and command line parameters.
[07/02/2021 11:57:23] Start script phase.
[07/02/2021 11:57:23] Start Revit Core Engine standard output dump.
[07/02/2021 11:57:23] Running in unattended mode.
[07/02/2021 11:57:23] ====== Revit is running: revitcoreconsole ======
[07/02/2021 11:57:23] Current Exe path: T:\Aces\AcesRoot\21.0\coreEngine\Exe\revitcoreconsole.exe
[07/02/2021 11:57:23] Echoing command line args:
[07/02/2021 11:57:23]   0:/i
[07/02/2021 11:57:23]   1:T:\Aces\Jobs\3cf0f34b6e314a15a5c0ad465c74f673\base_project.rvt
[07/02/2021 11:57:23]   2:/al
[07/02/2021 11:57:23]   3:T:\Aces\Applications\a662b3c16ef94a4208b5394390cf7f52.XXXToRevit.CreateXXXToRevitAppBundle[1].package
[07/02/2021 11:57:23]   4:ifc
[07/02/2021 11:57:23]   5:/isolate
[07/02/2021 11:57:23]   6:HKEY_CURRENT_USER\SOFTWARE\AppDataLow\Software\Autodesk\CoreUser\WorkItem_3cf0f34b6e314a15a5c0ad465c74f673
[07/02/2021 11:57:23]   7:T:\Aces\Jobs\3cf0f34b6e314a15a5c0ad465c74f673\userdata
[07/02/2021 11:57:23] Running RevitAssemblyResolver....
[07/02/2021 11:57:23] Initializing RevitCoreEngine...
[07/02/2021 11:57:23] Selected Revit\RCE install Path: (from app.config) C:\Revit2021
[07/02/2021 11:57:23] Resolving location of Revit/RevitCoreEngine installation...
[07/02/2021 11:57:23] Running user application....
[07/02/2021 11:57:27] Found an addIn for registration: XXXXX.addin
[07/02/2021 11:57:27] Initializing RCE....
[07/02/2021 11:57:27] Initializing RevitCoreEngine (and possibly running stub installer)...
[07/02/2021 11:57:27] Language not specified, using English-United States(ENU) as default.
[07/02/2021 11:57:30] T:\Aces\AcesRoot\21.0\coreEngine\Exe\revitcoreconsole.exe
[07/02/2021 11:57:30] /i
[07/02/2021 11:57:30] T:\Aces\Jobs\3cf0f34b6e314a15a5c0ad465c74f673\base_project.rvt
[07/02/2021 11:57:30] /al
[07/02/2021 11:57:30] T:\Aces\Applications\a662b3c16ef94a4208b5394390cf7f52.XXXToRevit.CreateXXXToRevitAppBundle[1].package
[07/02/2021 11:57:30] ifc
[07/02/2021 11:57:30] /isolate
[07/02/2021 11:57:30] HKEY_CURRENT_USER\SOFTWARE\AppDataLow\Software\Autodesk\CoreUser\WorkItem_3cf0f34b6e314a15a5c0ad465c74f673
[07/02/2021 11:57:30] T:\Aces\Jobs\3cf0f34b6e314a15a5c0ad465c74f673\userdata
[07/02/2021 11:57:30] Initialize and  get RCE: (VersionBuild) 21.1.30.74 (VersionNumber) 2021 (SubVersionNumber) 2021.2
[07/02/2021 11:58:05] XXXToRevitApp:: HandleDesignAutomationReadyEvent:Entered  

[07/02/2021 11:58:31] Export Return value is True   
[07/02/2021 11:58:31] XXXToRevitApp:: HandleDesignAutomationReadyEvent:Exiting  
[07/02/2021 11:58:35] Finished running.  Process will return: Success
[07/02/2021 11:58:35] ====== Revit finished running: revitcoreconsole ======
[07/02/2021 11:58:35] ਍㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽਍਍潃灭汩瑡潩敲畳瑬漠൦ †䔠偘䕒卓匠档浥⁡†›䙉㉃㍘਍††湩猠畯捲⁥楦敬†㨠䌠尺敒楶㉴㈰就䑅屍䙉㉃㍘呟ㅃ攮灸਍㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽਍਍਍††‰䅗乒义升搠瑥捥整⹤਍††‰剅佒卒搠瑥捥整⹤[SBXMSG] The process 5260 ended.
[07/02/2021 11:58:36] End Revit Core Engine standard output dump.
[07/02/2021 11:58:36] End script phase.
[07/02/2021 11:58:36] Start upload phase.
[07/02/2021 11:58:36] Uploading 'T:\Aces\Jobs\3cf0f34b6e314a15a5c0ad465c74f673\results1.ifc': verb - 'POST', url - '<https://exampleapi.XXX.com/forge?action=incoming&id=qaaaWIMr4We63aLF&context=XXX_to_revit_ifc'
[07/02/2021 11:58:36] End upload phase successfully.
[07/02/2021 11:58:36] Job finished with result Succeeded
[07/02/2021 11:58:36] Job Status:
{
  "status": "success",
  "stats": {
    "timeQueued": "2021-07-02T11:57:22.6117767Z",
    "timeDownloadStarted": "2021-07-02T11:57:22.7513002Z",
    "timeInstructionsStarted": "2021-07-02T11:57:23.6471532Z",
    "timeInstructionsEnded": "2021-07-02T11:58:36.3737133Z",
    "timeUploadEnded": "2021-07-02T11:58:36.5235544Z",
    "bytesDownloaded": 15074888,
    "bytesUploaded": 7337646
  },
  "id": "3cf0f34b6e314a15a5c0ad465c74f673"
}
6
  • It is hard to tell without a sample, would you mind copying the content of the result.txt file, and the input/output parameters you are using? That will help to understand what's wrong. Commented Jul 5, 2021 at 12:16
  • Hi Cyrille , Thanks for reverting. I have added the contents of the result.txt in the post . This will also give you the idea about input and output parameters. Commented Jul 6, 2021 at 1:11
  • Hi Cyrille , one thing I wanted to clarify --- Can this problem be related to some issue in calling the Export function ? I am calling this as below Boolean retValue = doc.Export(@".\", "results1.ifc", opt); =================================== so in this case , I was not sure how to use the directory when it is on Cloud ? Just asking if this has got something to do with the problem. Commented Jul 6, 2021 at 4:59
  • The code to export IFC file looks good, usually, we use Directory.GetCurrentDirectory() as currently folder path in Revit cloud engine, but your code should also work good. Since you mentioned you always get the same IFC output file, I suspect the input file is not respected, can you make sure the input file is correct? Commented Jul 6, 2021 at 10:53
  • @ZhongWu Thanks. I have checked. I added console writes in the program to print properties from the input to make sure it is the correct one ( I have not pasted the contents of those in the question above for brevity ) . I couldn't however find the way to check if the resultant results1.ifc is the correct one. Is there a way we can open the IFC and read some properties from it programmatically like the way we open it in normal Text Editor. Or secondly is there a way to see if the different files are getting created at the Forge end at least and some problem at the download time at our end ? Commented Jul 7, 2021 at 0:48

1 Answer 1

1

The problem was with respect to the reference of the Document object being passed while calling the Export method. Once I fixed that, the IFC models started generating successfully depending on the input.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.