46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import sys
|
|
import os
|
|
import pprint
|
|
import pickle
|
|
import logging
|
|
dname = os.path.dirname(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
|
|
sys.path.insert(0, dname)
|
|
|
|
from kibot.EasyEDA.easyeda_3d import *
|
|
|
|
component_id = 'C181094'
|
|
|
|
if False:
|
|
download_easyeda_3d_model(component_id, 'test')
|
|
exit(0)
|
|
#
|
|
if True:
|
|
a = EasyedaApi()
|
|
res = a.get_cad_data_of_component(component_id)
|
|
print(pprint.pformat(res))
|
|
if not res:
|
|
logging.error('Not found')
|
|
exit(1)
|
|
c = Easyeda3dModelImporter(res, True)
|
|
print("********************************************")
|
|
print(pprint.pformat(c.__dict__))
|
|
with open('model.pkl', 'wb') as file:
|
|
pickle.dump(c, file)
|
|
else:
|
|
with open('model.pkl', 'rb') as file:
|
|
c = pickle.load(file)
|
|
# print(pprint.pformat(c.__dict__))
|
|
with open('model.obj', 'w') as file:
|
|
file.write(c.output.raw_obj)
|
|
|
|
exporter = Exporter3dModelKicad(model_3d=c.output)
|
|
|
|
os.makedirs('a.3dshapes', exist_ok=True)
|
|
exporter.export('a.3dshapes')
|
|
if exporter.output:
|
|
filename = f"{exporter.output.name}.wrl"
|
|
lib_path = "a.3dshapes"
|
|
logging.error(f"Created 3D model for ID: {component_id}\n"
|
|
f" 3D model name: {exporter.output.name}\n"
|
|
f" 3D model path: {os.path.join(lib_path, filename)}")
|