Autodesk Forge에서 시작
3913 단어 Forge
Autodesk의 Forge는 BIM의 웨어하우스 및 뷰어, API 올인원 서비스라고 할 수 있습니다.오픈 소스 BIM 서버도 있지만 전환 기능 등 API 확충 상황을 고려해 이 서비스를 이용하는 것이 좋다.Revit, IFC, OBJ 등 다양한 파일을 가져오거나 내보낼 수도 있습니다.지금은 공짜예요.
인증 정보
Autodesk 계정을 만들고 Forge 서비스에 로그인하여 Application을 먼저 만듭니다.여기서 만든 Client ID와 Client Secret은 OAuth 인증에 중점을 두고 있습니다.URL은 무엇이든 가능하기 때문에 먼저 넣을 필요가 있다.
우선 번거롭지만 샘플대로 컬인증을 해보세요.인증 API의 사양은 다음과 같습니다.
https://developer.autodesk.com/en/docs/oauth/v2/reference/http/authenticate-POST/
액세스 토큰 가져오기
먼저 받은 ID, 시크릿을 사용하여 액세스 토큰을 받아야 합니다. -다음 매개 변수에 그것들을 기술하십시오.마지막 scope는 방문한 응용 프로그램, 사용자의 권한을 표시하며 공백에서 몇 개를 나누어 입력할 수 있습니다.이번에는 모든 데이터에 접근할 수 있고 업로드할 수 있는 두 개의 데이터를 지정했다.
curl -v 'https://developer.api.autodesk.com/authentication/v1/authenticate'
-X 'POST'
-H 'Content-Type: application/x-www-form-urlencoded'
-d 'client_id=xxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxx&grant_type=client_credentials&scope=bucket:create data:read data:write'
만약 이것이 성공적이라면, 아래의 접속 영패를 얻을 수 있다.이거 적어놓을게요.{"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Bearer","expires_in":3599}`
파일 업로드가져온 액세스 토큰을 사용하여 IFC와 같은 BIM 데이터를 업로드합니다.참고로 업로드된 파일은 재장력 정책을 설정할 수 있습니다.데이터는 24시간 안에 사라진다.API의 사양은 다음과 같습니다.
https://developer.autodesk.com/en/docs/data/v2/reference/http/buckets-POST/
Bucket 작성
업로드하기 전에 파일을 만드는 컨테이너(Bucket).이전 액세스 토큰 요청을 사용합니다.BucketKey는 뭐든지 할 수 있지만 다른 거랑 쓰면 혼나요.GUID, 클라이언트 ID 등을 생성하여 뒤에 적절하게 설치할 수 있습니다.
curl -v 'https://developer.api.autodesk.com/oss/v2/buckets'
-X 'POST' -H 'Content-Type: application/json'
-H 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
-d '{"bucketKey":"mybucket_xxxxxx","policyKey":"transient"}'
성공하면 다음과 같은 느낌이 든다.{"bucketKey":"mybucket_xxxxxx","bucketOwner":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","createdDate":1528027336176,"permissions":[{"authId":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","access":"full"}],"policyKey":"transient"}
파일 업로드Bucket이 나타나면 BIM 데이터를 업로드할 수 있습니다.Contents-Length는 필수지만 일반 고객은 자동으로 추가됩니다.여기 헬로워예요.나는 ifc라는 파일을 올렸다.
curl -v 'https://developer.api.autodesk.com/oss/v2/buckets/mybucket_xxxxxx/objects/HelloWall.ifc'
-X 'PUT'
-H 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxx'
-H 'Content-Type: application/octet-stream'
-H 'Content-Length: 100000000 ファイルのサイズ(byte)'
-T 'HelloWall.ifc'
이것도 잘 되면 다음과 같은 반응이 있다.{
"bucketKey" : "mybucket_xxxxxx",
"objectId" : "urn:adsk.objects:os.object:mybucket_xxxxxx/HelloWall.ifc",
"objectKey" : "HelloWall.ifc",
"sha1" : "6b6acf973e033af4aea85158b106adedef30cd1f",
"size" : 6033,
"contentType" : "application/octet-stream",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/mybucket_xxxxxx/objects/HelloWall.ifc"
* Connection #0 to host developer.api.autodesk.com left intact
}]
여기까지의 일은 내가 직접 했지만 샘플 프로그램은 자동으로 그 근처에서 했다.NodeJS의 샘플 뷰어를 시작하면 방금 파일이 업로드되었음을 알 수 있습니다.일단 여기까지.
Reference
이 문제에 관하여(Autodesk Forge에서 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Takashi_Kasuya/items/409997752b47b038abe4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)