
    TiJ                         d dl Z d dlZddlmZ ddlmZmZmZmZ ddl	m
Z
 	 	 	 	 dd	ed
ee         dee         dee         dedefdZ	 d dlZeedZdS # e$ rZ ee          ZeedZY dZ[dS dZ[ww xY w)    N   )ExceptionWrapper)BinaryIODictNumberOptional   )load_glbFTfile_obj
tol_lineartol_angulartol_relativemerge_primitivesreturnc                    t          j                    5 }t          j                            |d          }t          |d          5 }	|	                    |                                            ddd           n# 1 swxY w Y   t          j                            |d          }
t          |          |||d}t          j
        ||
fi d |                                D              t          |
d          5 }	t          d	|	|d|cddd           cddd           S # 1 swxY w Y   	 ddd           dS # 1 swxY w Y   dS )
a6  
    Use `cascadio` a packaged version of OpenCASCADE
    to load a STEP file using GLB as an intermediate.

    Parameters
    -----------
    file_obj
      STEP file to load.
    **kwargs
      Passed to `cascadio.step_to_glb`

    Returns
    ----------
    kwargs
      Keyword arguments for a Scene.
    z	data.stepwbNzconverted.glb)r   r   r   r   c                     i | ]
\  }}|||S )N ).0kvs      R/DATA/AppData/hermes/venv/lib/python3.11/site-packages/trimesh/exchange/cascade.py
<dictcomp>zload_step.<locals>.<dictcomp>;   s    III11=q!===    rb)r   r   r   )tempfileTemporaryDirectoryospathjoinopenwritereadboolcascadiostep_to_glbitemsr
   )r   	file_typer   r   r   r   kwargsFstepfilefglbfilecascadio_kwargss               r   	load_stepr/      s\   6 
	$	&	& U!7<<;//(D!! 	%QGGHMMOO$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% ',,q/22
 !%%5 6 6$&(	
 
 		
 	
 JI 5 5 7 7III	
 	
 	
 '4   	UATQ9ITTVTT	U 	U 	U 	U 	U 	U 	U1U U U U U U U U0	U 	U 	U 	U 	U 	U 	U 	U 	U1U U U U U U U U U U U U U U U U U UsZ   1D8(A9-D89A=	=D8 A=	A6D87DD8D#	#D8&D#	'D88D<?D<)stpstep)NNFT)r   r   
exceptionsr   typedr   r   r   r   gltfr
   r$   r/   r%   _cascade_loadersBaseExceptionEwrapperr   r   r   <module>r9      sM   				  ) ) ) ) ) ) 4 4 4 4 4 4 4 4 4 4 4 4       $($(#(!5U 5U5U  5U &!	5U
 4.5U 5U 
5U 5U 5U 5Up9OOO()<< 9 9 9q!!G&889s   		A A4A//A4