TeeA commited on
Commit
49c8e40
·
1 Parent(s): 9dbe966
onshape/onshape_download.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import requests
3
+ import base64
4
+
5
+ access_key = os.environ.get("ONSHAPE_ACCESS_KEY")
6
+ secret_key = os.environ.get("ONSHAPE_SECRET_KEY")
7
+ did = "ef42d7639096f3e61a4d4f07"
8
+ wid = "5fcd0f25ce3dee08bbb823bf"
9
+ prt_file_path = "prt0002.prt"
10
+ tid = "68382b8879834455c6382294"
11
+ resulteid = "c46568af3e8bf618762a1db3"
12
+
13
+ # Basic Auth header
14
+ credentials_raw = f"{access_key}:{secret_key}"
15
+ credentials_base64 = base64.b64encode(credentials_raw.encode("utf-8")).decode("utf-8")
16
+
17
+ url = "https://cad.onshape.com/api/v10" + f"/blobelements/d/{did}/w/{wid}/e/{resulteid}"
18
+
19
+ headers = {
20
+ "Accept": "application/json;charset=UTF-8; qs=0.09",
21
+ "Authorization": f"Basic {credentials_base64}",
22
+ # "X-XSRF-TOKEN": "QcscTFRgL6vE7h7UFHKmng==",
23
+ # DO NOT set Content-Type manually when sending files with requests
24
+ }
25
+
26
+
27
+ files = {"file": open(prt_file_path, "rb")}
28
+
29
+ response = requests.get(url, headers=headers)
30
+
31
+ with open("downloaded_file.step", "wb") as f:
32
+ f.write(response.content)
33
+ print("File downloaded successfully as 'downloaded_file.step'.")
onshape/onshape_translation.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import requests
3
+ import base64
4
+
5
+ access_key = os.environ.get("ONSHAPE_ACCESS_KEY")
6
+ secret_key = os.environ.get("ONSHAPE_SECRET_KEY")
7
+ did = "ef42d7639096f3e61a4d4f07"
8
+ wid = "5fcd0f25ce3dee08bbb823bf"
9
+ prt_file_path = "prt0002.prt"
10
+
11
+ # Basic Auth header
12
+ credentials_raw = f"{access_key}:{secret_key}"
13
+ credentials_base64 = base64.b64encode(credentials_raw.encode("utf-8")).decode("utf-8")
14
+
15
+ url = "https://cad.onshape.com/api/v10" + f"/translations/d/{did}/w/{wid}"
16
+
17
+ headers = {
18
+ "Accept": "application/json;charset=UTF-8; qs=0.09",
19
+ "Authorization": f"Basic {credentials_base64}",
20
+ # "X-XSRF-TOKEN": "QcscTFRgL6vE7h7UFHKmng==",
21
+ # DO NOT set Content-Type manually when sending files with requests
22
+ }
23
+
24
+ # All form fields as strings (empty strings '' where appropriate)
25
+ data = {"translate": "true", "formatName": "STEP"}
26
+
27
+ files = {"file": open(prt_file_path, "rb")}
28
+
29
+ response = requests.post(url, headers=headers, data=data, files=files)
30
+
31
+ try:
32
+ print(f"✅ Translate response: {response.json()}")
33
+ except Exception:
34
+ print(f"Status: {response.status_code}")
35
+ print(response.text)