Ë
    Hì§j€£  ã                   óÒ  — d Z ddlZddlZddlZdZedz   ZdZ edeedz   dd	d
dddddddddddddœddidd¬«       ededz   edz   ddddd d!d"d#d#d#d#d#d#d#d#d#d#d$œ
i d%d&d'¬(«       ed…i d)d*“d+ed,z   “d-ed.z   “d/d0“d1d2“d3d4“d5d6“d7ed8z   “d9d:“d;d<“d=i “d>i “d?d@“dAdB“dCdD“dEdD“dFdD“dGdD“dHdI“dJdK“Ž ed…i d)dL“d+edMz   “d-edNz   “d/dO“d1dP“d3d4“d5dQ“d7dR“d9dS“d;dT“d=i “d>i “d?d@“dAdB“dFdD“dGdD“Ž edUedVz   edWz   dXdYd4dZd[d\d]i i d^dBdD¬_«       ed`daddbdcdddedfdgdhi i ddi¬«      djœZdkZ	dldmii dndoidpdqidndridsœZ
dt„ Z e«       Zd†du„Zd†dv„Z e«       Zed)   Zed+   Zed-   Zed/   sen
edwz   ed/   z   Zed/   sdxndyed/   z   Zedwz   ed5   z   Zej                  dz«      Zej                  d?d«      Z eej                  dCd{«      «      Z eej                  dEd{«      «      Z eej                  dFd{«      «      Z eej                  dGd{«      «      Z eej                  dHd|«      «      Z eej                  dJd}«      «      Zej                  dAdi«      Z ed7   Z!ed9   Z"ed;   Z#ed1   Z$ed3   Z% ejL                  e$«      Z' ejL                  e%«      Z(ed=   Z)ed>   Z*e
j                  ei «      Z+e,d~k(  rDdD ]  Z- e.e-d€›d� e/«       e-   ›�«       Œ  e.d‚dƒ e0e)«      fz  «        e.d‚d„ e0e*«      fz  «       yy)‡uõ  ì œí’ˆ ê³ ìœ ê°’(ê²½ë¡œÂ·ë�„ë²ˆ ì •ê·œì‹�Â·í˜•ê°• ê·œê²©Â·ì¶œë ¥ ìœ„ì¹˜) í•œ ê³³ ëª¨ì�Œ.

ì™œ í•„ìš”í•œê°€: íŒŒì�´í”„ë�¼ì�¸(pass1~pass10)ì�€ 500PRO í”„ë ˆìž„ í•˜ë‚˜ì—� ë§žì¶° ê°’ì�´ ì—¬ê¸°ì €ê¸°
ë°•í˜€ ìžˆì—ˆë‹¤. ë‘� ë²ˆì§¸ ì œí’ˆ(400Q)ì�„ ê°™ì�€ íŒŒì�´í”„ë�¼ì�¸ìœ¼ë¡œ ë�Œë¦¬ë ¤ë©´ ê·¸ ê°’ë“¤ë§Œ ê°ˆì•„ë�¼ìš¸ ìˆ˜
ìžˆì–´ì•¼ í•œë‹¤. ì•Œê³ ë¦¬ì¦˜Â·ê²Œì�´íŠ¸Â·ìˆ˜ì¹˜ íŒ�ì •ì�€ ì�´ íŒŒì�¼ê³¼ ë¬´ê´€í•˜ë©° í•˜ë‚˜ë�„ ë°”ë€Œì§€ ì•Šì•˜ë‹¤.

ì œí’ˆ ì„ íƒ� ë°©ë²• (ì…‹ ì¤‘ ì•žì„  ê²ƒì�´ ì�´ê¸´ë‹¤):
  1) ì»¤ë§¨ë“œë�¼ì�¸  --product 400q      (ë˜�ëŠ” --product=400q)
  2) í™˜ê²½ë³€ìˆ˜    DWG2OBJ_PRODUCT=400q
  3) ì•„ë¬´ê²ƒë�„ ì—†ìœ¼ë©´ '500pro'  â†� ê¸°ì¡´ ìŠ¤í�¬ë¦½íŠ¸ë¥¼ ì�¸ìž� ì—†ì�´ ë�Œë¦¬ë©´ ì˜ˆì „ê³¼ 100% ë�™ì�¼

--product í† í�°ì�€ import ì‹œì �ì—� sys.argv ì—�ì„œ ì œê±°í•œë‹¤. pass6/pass9/pass10 ì�´
'--' ë¡œ ì‹œìž‘í•˜ì§€ ì•ŠëŠ” ì�¸ìž�ë¥¼ ë�„ë²ˆìœ¼ë¡œ ì�½ê¸° ë•Œë¬¸ì—� ë‚¨ê²¨ ë‘�ë©´ '400q' ë¥¼ ë�„ë²ˆìœ¼ë¡œ ì˜¤í•´í•œë‹¤.
ì�¸ìž�ë¥¼ ì•ˆ ì£¼ë©´ argv ëŠ” ì†�ëŒ€ì§€ ì•Šìœ¼ë¯€ë¡œ ê¸°ì¡´ ë�™ìž‘ì�´ ê·¸ëŒ€ë¡œ ë³´ì¡´ë�œë‹¤.
é    Nu-   E:\ë�„ì§„íŒ©í† ë¦¬\3DìŠ¤ìº”ë°�í‹°ì¹­ì‹œìŠ¤í…œz\fab_modelsz‚C:\Users\user\AppData\Local\Temp\claude\E-----Claude--20260728-claude-code-2-1-219\8defc145-8ae5-48d0-9058-355f3d9ae8ed\scratchpadu   ì—�ë²„ë‹¤ìž„ E500PROz\out\frame.dxfÚ z2110DN-\d{4}-\d{3,4}uB   2110DN-\d{4}|FRAME|SCALE|\bSIZE\b|^\d\s*/\s*\d$|í˜„ëŒ€ì—�ë²„ë‹¤ìž„zmanifest.jsonuP   F:\ì„¤ìš°\ì—�ë²„ë‹¤ìž„ í”„ë ˆìž„\e500 pro\2110DN-0003 500 PRO FRAME 25.11.12.dwgu   500PRO_ì „ì²´ë¶€ìž¬Úe500pro_)zCHANNEL SS275 250*90*T9 1EAÚCç     @o@ç     €V@ç      "@)u$   CHANNEL SS275 250*90*T9 1EA (ê¸ˆì°½)r   r   r   r   )u&   CHANNEL - SM490 9T ë³€ê²½ 1EA (ì ˆê³¡)r   r   r   r   )u(   CHANNEL - SM490 9T (ë³€ê²½) 1EA (ì ˆê³¡)r   r   r   r   )z2110DN-0004-001z2110DN-0004-002z2110DN-0004-003z2110DN-0004-004z2110DN-0004-005z2110DN-0004-020ú2110DN-0010-001z2110DN-0009-001r	   )gÇþ\Ž¾jAgÐ…Æ9Fº@g      y@uR   VLMíŒ�ë�…: %s â€” ë‹¨í’ˆë�„ ì‹œíŠ¸ë¥¼ ê·¸ë¦¼ìœ¼ë¡œ ì§�ì ‘ ì�½ì–´ í™•ì •í•œ í‘œê¸°.)ÚlabelÚscrÚdxfÚ
out_subdirÚpn_regexÚframe_regexÚmanifestÚsrc_dwgÚskp_nameÚ
obj_prefixÚspecÚspec_atÚbom_dxÚspec_srcu   ì—�ë²„ë‹¤ìž„ 400Qz\400qz$\out2\2110DB-0004_E400Q 25.10.29.dxfÚ400qz_(?:\d{4}DB-\d{4}-\d{3,4}|D-\d{8}(?:-?[A-Z]{1,2})?|R[BCDJ]\d{3}-\d{4}(?:-\d{1,2})?(?:SW|[A-Z])?)uW   \d{4}DB-\d{4}(?!-\d)|FRAME|SCALE|\bSIZE\b|^\d\s*/\s*\d$|í˜„ëŒ€ì—�ë²„ë‹¤ìž„|ì—�ë²„ë‹¤ìž„zmanifest_400q.jsonuD   F:\ì„¤ìš°\ì—�ë²„ë‹¤ìž„ í”„ë ˆìž„\400Q\2110DB-0004_E400Q 25.10.29.dwgu   400Q_ì „ì²´ë¶€ìž¬Úe400q_)zCHANNEL 250*90*9Tr   r   r   r   )
z2110DB-0006-001z2110DB-0006-002z2110DB-0006-003z2110DB-0006-004z2110DB-0006-005z2110DB-0006-006z
D-18010103z
D-18010104z
D-18010105z
RC102-0025g     @�@u‘   ë�„ë©´ ê·œê²© í…�ìŠ¤íŠ¸: %s â€” ì£¼ì˜�ì—­ ê°™ì�€ ì‹œíŠ¸ì—�ì„œ ì�´ ë�„ë²ˆì—� ê°€ìž¥ ê°€ê¹Œìš´ ê·œê²© í‘œê¸°ë¥¼ ì�´ì–´ í™•ì •(ì‚¬ë³¸ì‹œíŠ¸ ì œì™¸).g     LíÀ)r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Úy_mainr
   u%   ì—�ë²„ë‹¤ìž„ D800 DTH ë©”ì�¸í”„ë ˆìž„r   z\d800r   z"\d800\out\RJ302-0001_P00_FRAME.dxfr   Úd800r   z#(?:R[BJQX]\d{3}-\d{4}|D\d{3}-\d{4})r   u�   FRAME|SCALE|\bSIZE\b|^\d\s*/\s*\d$|í˜„ëŒ€ì—�ë²„ë‹¤ìž„|ì—�ë²„ë‹¤ìž„|\bTITLE\b|\bSUBJECT\b|\bSHEET\b|\bPAPER\b|\bMODEL\b|\bSPEC\.|\bCH\.|\bAP\.r   zmanifest_d800.jsonr   z!\d800\in\RJ302-0001_P00_FRAME.dwgr   u   D800_ì „ì²´ë¶€ìž¬r   Úd800_r   r   r   g     à•@r   u|   ë�„ë©´ ê·œê²© í…�ìŠ¤íŠ¸: %s â€” ì£¼ì˜�ì—­ ê°™ì�€ ì‹œíŠ¸ì—�ì„œ ì�´ ë�„ë²ˆì—� ê°€ìž¥ ê°€ê¹Œìš´ ê·œê²© í‘œê¸°ë¥¼ ì�´ì–´ í™•ì •.Údim_gateTÚtile_all_labelsÚside_view_demoteÚdim_text_not_frameÚcomp_long_ming      8@Úcomp_short_ming      (@u!   ì—�ë²„ë‹¤ìž„ T600 ë©”ì�¸í”„ë ˆìž„z\t600z!\t600\out_fB\FRAME_2409_share.dxfÚ
t600_framezR[JG]\d{3}-\d{4}zmanifest_t600_frame.jsonu–   F:\ì„¤ìš°\ê³µìœ ë¬¸ì„œ\2023~ ì—�ë²„ë‹¤ìž„\24.08.21 T600 FRAME, MAST ì œìž‘ ìš”ì²­\24.09 RG102-0002 000 T600 MAIN FRAME ë°œì£¼ë�„ ëª¨ì�Œ @@@@@@@@@@.dwgu   T600í”„ë ˆìž„_ì „ì²´ë¶€ìž¬Út600f_u   ì—�ë²„ë‹¤ìž„ T600 ARC ë§ˆìŠ¤íŠ¸z\t600mz"\t600\out_mC\MAST_2411_mastdir.dxfÚ	t600_mastzR[ABCDGJ]\d{3}-\d{4}zmanifest_t600_mast.jsonuc   F:\ì„¤ìš°\ì—�ë²„ë‹¤ìž„ ë§ˆìŠ¤íŠ¸\24.11 RG111-0001 A00 T600 ARC MAST ë°œì£¼ë�„ ëª¨ì�Œ @@@@@@@@@@.dwgu   T600ë§ˆìŠ¤íŠ¸_ì „ì²´ë¶€ìž¬Út600m_g     0‘@)r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   u/   ì—�ë²„ë‹¤ìž„ 45B ë©”ì�¸í”„ë ˆìž„ RD202-0008_P00z†C:\Users\user\AppData\Local\Temp\claude\E-----Claude--20260728-claude-code-2-1-219\d7515fca-4f61-411d-a663-620845a60868\scratchpad\45bu   _45B_ì œìž‘ì¤‘z(?:R[BCD]\d{3}-\d{4}|D-\d{8})u°   FRAME|SCALE|\bSIZE\b|^\d\s*/\s*\d$|í˜„ëŒ€ì—�ë²„ë‹¤ìž„|ì—�ë²„ë‹¤ìž„|\bTITLE\b|\bDWG\.? ?NO\b|\bREV\b|\bMODEL\b|\bTOL\.|\bW\.T\.|\bD\.S\.|\bDR\.|\bCH\.|\bAP\.|\bMATERIAL\b|WEIGHTzmanifest_45b.jsonu°   E:\06_ê³ ê°�ì‚¬ë�°ì�´í„°\ì„¤ìš°ê¸°ê³„\ê³µìœ ë¬¸ì„œ\2019ì—�ë²„ë‹¤ìž„\5_ECD45B_RD202-0001\23.08 ECD45B T450G MAIN FRAME Pê°œì • ìˆ˜ì •\20230814_RD202-0008_P00 MAINFRAME WELD ASSYu   45B_ì „ì²´ë¶€ìž¬Úe45b_z%s)Ú500pror   r   r#   r%   Ú45br(   z2110DN-0019-002)g      >@u<   CEO í™•ì • 30T, ì·¨ì†Œì„ =25T (BOM ê·œê²© ì›�ë¬¸ PL25-PL30T)z
RJ102-0591)ç     €F@uR   CEO í™•ì • 45T, D800ê³¼ ë�™ì�¼ ì‹œíŠ¸ â€” ì�´ì „ 40T ê·¼ê±°ëŠ” í‘œì œëž€ ìž¡ê¸€ìž�z
RG114-0021)g      0@uX   CEO í™•ì • 16T â€” BOM PL16 ì±„íƒ�. í‘œì œëž€ SPEC.ì¹¸ì�€ PL15 (ë�„ë©´ ë‚´ë¶€ ë¶ˆì�¼ì¹˜))r*   uP   CEO í™•ì • 45T â€” SPEC PL45 ìž¬íŒ�ë�…. ì�´ì „ 40T ê·¼ê±°ëŠ” í‘œì œëž€ ìž¡ê¸€ìž�)r(   r   r#   r%   r   c                  ó  — d} t         j                  }d}|t        |«      k  ro||   }|dk(  r"|dz   t        |«      k  r||dz      } |||dz   …= Œ:|j                  d«      r|j	                  dd«      d   } |||dz   …= Œi|dz  }|t        |«      k  rŒo| s't
        j                  j                  d«      xs t        } | j                  «       j                  «       } | t        vr%t        d| ›d	d
j                  t        «      ›d�«      ‚| S )un   --product / í™˜ê²½ë³€ìˆ˜ / ê¸°ë³¸ê°’ ìˆœìœ¼ë¡œ ì œí’ˆ ì�´ë¦„ì�„ ì •í•˜ê³ , argv ì—�ì„œ í† í�°ì�„ ì œê±°í•œë‹¤.Né   z	--producté   z
--product=Ú=ÚDWG2OBJ_PRODUCTu   ì•Œ ìˆ˜ ì—†ëŠ” ì œí’ˆ: u
    (ê°€ëŠ¥: z, Ú))ÚsysÚargvÚlenÚ
startswithÚsplitÚosÚenvironÚgetÚDEFAULTÚstripÚlowerÚPRODUCTSÚ
SystemExitÚjoin)Únamer2   ÚiÚas       õ@   E:\ë�„ì§„íŒ©í† ë¦¬\3DìŠ¤ìº”ë°�í‹°ì¹­ì‹œìŠ¤í…œ\dwg2obj\product.pyÚ
_pick_namerC   Ø  sÿ   € à€DÜ�8‰8€DØ	€AØ
Œc�$‹iŠ-Ø�‰GˆØ�Ò  A¡¬¨D«	Ò 1Ø˜˜A™‘;ˆDØ�Q�q˜1‘u�W�ØØ�<‰<˜Ô%Ø—7‘7˜3 “? 1Ñ%ˆDØ�Q�q˜1‘u�W�ØØ	ˆQ‰ˆð Œc�$‹i‹-ñ Ü�z‰z�~‰~Ð/Ó0Ò;´GˆØ�:‰:‹<×ÑÓ€DØ”8ÑÝÂTÈ4Ï9É9ÔU]ÕK^Ð_Ó`Ð`Ø€Kó    c                 ó\   — t         | xs t        j                  «       j                  «          S )u>   í˜„ìž¬(ë˜�ëŠ” ì§€ì •í•œ) ì œí’ˆì�˜ ê°’ ë¬¶ì�Œì�„ ë�Œë ¤ì¤€ë‹¤.)r<   ÚNAMEr:   r;   )r?   s    rB   r8   r8   ó  s#   € ä�T’\œT×(Ñ(Ó*×0Ñ0Ó2Ñ3Ð3rD   c                 óº   — |xs t         j                  «       j                  «       }| j                  d«      }|dk(  r|d   dz   |d   z   S | j	                  dd«      S )uà  ë�„ë²ˆ -> OBJ íŒŒì�¼ëª… ê¼¬ë¦¬í‘œ.

    500PRO ëŠ” ë�„ë²ˆì�´ '2110DN-0004-001' í•œ ê°€ì§€ ê¼´ì�´ë�¼ ì¡°ë¦½ë²ˆí˜¸ë¥¼ ë–¼ê³  '0004_001' ë¡œ ì�¼ë‹¤.
    400Q ëŠ” 'D-18010103' Â· 'RB102-0096' ì²˜ëŸ¼ ë§ˆë””ê°€ 2ê°œì�¸ ë�„ë²ˆì�´ ì„žì—¬ ìžˆì–´ ê°™ì�€ ê·œì¹™ì�„ ì“°ë©´
    split('-')[2] ì—�ì„œ IndexError ë¡œ ì£½ëŠ”ë‹¤. ê·¸ëž˜ì„œ ì œí’ˆë³„ë¡œ ê·œì¹™ì�„ ë‚˜ëˆˆë‹¤.
    (500PRO ê·œì¹™Â·ê²°ê³¼ íŒŒì�¼ëª…ì�€ í•œ ê¸€ìž�ë�„ ë°”ë€Œì§€ ì•ŠëŠ”ë‹¤ â€” ê¸°ì¡´ ì‚°ì¶œë¬¼ê³¼ ê³„ì†� ë§žë¬¼ë¦°ë‹¤.)
    Ú-r(   r,   Ú_r-   )rF   r:   r;   r5   Úreplace)Úpnr?   ÚpÚpartss       rB   Úobj_tailrN   ø  s[   € ð 
Š”×ÑÓ×$Ñ$Ó&€AØ�H‰H�S‹M€EØˆH‚}Ø�Q‰x˜#‰~  a¡Ñ(Ð(Ø�:‰:�c˜3ÓÐrD   Ú\Ú
fab_modelszfab_models/r   Fg      T@g      4@Ú__main__)rF   ÚLABELÚSCRÚDXFÚFABÚFAB_RELÚMANIFESTÚSRC_DWGÚSKP_NAMEÚ
OBJ_PREFIXÚPN_REGEXÚFRAME_REGEXÚ11z = u   %-11s = %dê°œÚSPECÚSPEC_AT© )N)1Ú__doc__r6   Úrer1   ÚROOTÚFAB_ROOTÚ	_SCR_BASEÚdictr<   r9   ÚTHK_CEO_ALLrC   rF   r8   rN   Ú_PrR   rS   rT   rU   rV   rW   ÚY_MAINÚBOM_DXÚboolÚDIM_GATEÚTILE_ALL_LABELSÚSIDE_VIEW_DEMOTEÚDIM_TEXT_NOT_FRAMEÚfloatÚCOMP_LONG_MINÚCOMP_SHORT_MINÚSPEC_SRCrX   rY   rZ   r[   r\   ÚcompileÚPNÚ	FRAME_PATr^   r_   ÚTHK_CEOÚ__name__ÚkÚprintÚglobalsr3   r`   rD   rB   Ú<module>r|      sÖ  ðñó 
Û 	Û 
à7€Ø�.Ñ €ðA€	ñ Ø$ØØÐ)Ñ)ØØ(ØYØ ØcØ&Øð  VØ^Ø^ØUØ^Ø^ð  að  cñ
ð  ÐEð
ð
 àeôE#ñL Ø!Ø˜Ñ ØÐ?Ñ?ØðDðGà%ØWØ$Øð
  LØKØKØKØKØKØFØFØFØFñ
ð ð
 ðIð ôa1ñh ò bÙ5ðbà˜Ò ðbð Ð=Ò=ðbñ ð	bñ 8ðbñ"0ð#bñ( &ð)bð* Ð@Ò@ð+bñ, %ð-bñ. ð/bñ2 ð3bñ4 ð5bñB ðCbñD4ðEbñb ðcbñl ðmbñB ðCbñZ  ð[bñv ðwbñx ðybñJ ò ZÙ1ðZà˜Ò ðZð Ð<Ò<ðZñ  ð	Zñ %ðZñ 0ð!Zñ& ,ð'Zñ2Zð3Zñ8 .ð9Zñ: ð;Zñ> ð?Zñ@ ðAZñT ðUZñV4ðWZñn ðoZñ~  ðZñz Ø/Ø˜	Ñ!ØÐ=Ñ=Øð< )ð0ð +ðXà-ØØØð ð4ð ô{Bñ` Ø?ðEð
 Ø#ð
 2ðKð %ðAð $Øð ØàØô=ñ]N€ð` €ð 	Ðað	ð ð
 	Ðrð	ð 	Ðxðð" 	Ðpðñ5!€òHñ0 ƒ|€ó4ó
 ñ 	ƒU€ð 	ˆ7‰€Øˆ�i€Øˆ�i€Ø˜Ò&�h¨X¸©_¸rÀ,Ñ?OÑ-O€à  Ò.‰,°]ÀRÈÑEUÑ5U€ð �‰:˜˜:™Ñ&€Ø	�‰�Ó	€Ø	�‰�˜%Ó	 €á�—‘�z 5Ó)Ó*€Ù�r—v‘vÐ/°Ó7Ó8€á˜Ÿ™Ð1°5Ó9Ó:Ð á˜"Ÿ&™&Ð!5°uÓ=Ó>Ð ñ �b—f‘f˜_¨dÓ3Ó4€Ù�r—v‘vÐ.°Ó5Ó6€Ø�6‰6�*˜dÓ#€Ø
ˆY‰-€Øˆj‰>€Ø�Ñ€
Øˆj‰>€Ø�Ñ€Ø€R‡Z�Z�Ó€ØˆB�J‰J�{Ó#€	Ø	ˆ&�z€Ø
ˆY‰-€Ø
�/‰/˜$ Ó
#€ð ˆzÒóNˆá›a¡£¨1¢Ð.Õ/ðNñ 
ˆ/˜V¡S¨£YÐ/Ñ
/Ô0Ù	ˆ/˜Y©¨G«Ð5Ñ
5Õ6ð rD   