#!/usr/bin/env python # coding: utf-8 # In[7]: import os from OCC.Core.gp import gp_Dir from OCC.Display.WebGl.jupyter_renderer import JupyterRenderer from OCC.Extend.DataExchange import read_step_file, export_shape_to_svg from OCC.Display.WebGl.x3dom_renderer import X3DExporter import OCC.Core.TopAbs as TopAbs import ipywidgets as widgets # widgets file_picker = widgets.FileUpload(accept='.stp,.step',description='choose step file') file_name = widgets.Text(placeholder='uploaded file') color_picker = widgets.ColorPicker( concise=False, description='Pick a color', value='white', disabled=False) vbox = widgets.VBox([widgets.HBox([file_picker, file_name]), color_picker]) def on_filepicker_change(change): newValue = change['new'] for k, v in newValue.items(): print(k) file_name.value = k file_picker.observe(on_filepicker_change, names='value') # In[8]: vbox # In[10]: help(file_picker) # In[3]: shp = read_step_file(os.path.join('..','assets', 'step', 'as1_pe_203.stp')) # In[25]: x3dexp = X3DExporter(shp, None, None, False, (1,1,0), (0,0,0), 0, 0, (0,0,0), 2, 1) # In[26]: x3dexp.compute() # In[27]: len(x3dexp._triangle_sets) # In[28]: x3d=x3dexp.to_x3dfile_string(0) # In[4]: from OCC.Core.VrmlAPI import VrmlAPI_Writer # In[6]: myWriter = VrmlAPI_Writer() # In[7]: myWriter.Write(shp,'Vent.wrl') # In[8]: from subprocess import * # In[9]: run(['chmod','a+x','../bin/tovrmlx3d']) # In[10]: out=run(['../bin/tovrmlx3d','--encoding','xml','Vent.wrl'], stdout=PIPE) # In[12]: x3domHTML = ''' ''' # In[13]: import xml.etree.ElementTree as ET # In[14]: from IPython.display import HTML # In[15]: x3domXML = ET.tostring(ET.XML(out.stdout), encoding="unicode", short_empty_elements=False) # In[17]: HTML(x3domHTML + x3domXML) # In[18]: shp.DumpJsonToString() # In[28]: TopAbs.topabs_ShapeTypeFromString('COMPOUND') # In[ ]: