From 7c3fbda01eccfa7ec24f919776f92c78099ec34f Mon Sep 17 00:00:00 2001 From: tim Date: Wed, 4 Sep 2024 09:12:58 -0400 Subject: [PATCH] Updated icons - new master svg file for storing icons bonsai_icons.svg script for exporting png files and generating light mode versions support for light mode --- src/bonsai/bonsai/bim/data/icons/add.png | Bin 2634 -> 0 bytes src/bonsai/bonsai/bim/data/icons/add_type.png | Bin 2661 -> 0 bytes src/bonsai/bonsai/bim/data/icons/add_void.png | Bin 2605 -> 0 bytes src/bonsai/bonsai/bim/data/icons/assign.png | Bin 2444 -> 0 bytes src/bonsai/bonsai/bim/data/icons/butt.png | Bin 767 -> 0 bytes .../bonsai/bim/data/icons/centerline.png | Bin 1126 -> 0 bytes .../bonsai/bim/data/icons/decomposition.png | Bin 4907 -> 0 bytes src/bonsai/bonsai/bim/data/icons/dm_IFC.png | Bin 0 -> 1144 bytes src/bonsai/bonsai/bim/data/icons/dm_add.png | Bin 0 -> 997 bytes .../bonsai/bim/data/icons/dm_add_type.png | Bin 0 -> 1173 bytes .../bonsai/bim/data/icons/dm_add_void.png | Bin 0 -> 956 bytes .../bonsai/bim/data/icons/dm_assign.png | Bin 0 -> 895 bytes src/bonsai/bonsai/bim/data/icons/dm_butt.png | Bin 0 -> 176 bytes .../bonsai/bim/data/icons/dm_centerline.png | Bin 0 -> 329 bytes .../bonsai/bim/data/icons/dm_centreline.png | Bin 0 -> 329 bytes .../bim/data/icons/dm_decomposition.png | Bin 0 -> 1900 bytes .../bonsai/bim/data/icons/dm_edit_axis.png | Bin 0 -> 183 bytes .../bonsai/bim/data/icons/dm_edit_profile.png | Bin 0 -> 191 bytes .../bonsai/bim/data/icons/dm_extend.png | Bin 0 -> 308 bytes .../bonsai/bim/data/icons/dm_exterior.png | Bin 0 -> 248 bytes src/bonsai/bonsai/bim/data/icons/dm_flip.png | Bin 0 -> 405 bytes .../bonsai/bim/data/icons/dm_interior.png | Bin 0 -> 237 bytes src/bonsai/bonsai/bim/data/icons/dm_merge.png | Bin 0 -> 1244 bytes .../bonsai/bim/data/icons/dm_mirror.png | Bin 0 -> 495 bytes src/bonsai/bonsai/bim/data/icons/dm_mitre.png | Bin 0 -> 267 bytes .../icons/dm_perform_quantity_take-off.png | Bin 0 -> 752 bytes .../bonsai/bim/data/icons/dm_refresh.png | Bin 0 -> 1034 bytes src/bonsai/bonsai/bim/data/icons/dm_regen.png | Bin 0 -> 1149 bytes .../bonsai/bim/data/icons/dm_rotate_90.png | Bin 0 -> 1027 bytes src/bonsai/bonsai/bim/data/icons/dm_split.png | Bin 0 -> 799 bytes .../bonsai/bim/data/icons/dm_unassign.png | Bin 0 -> 1140 bytes .../bonsai/bim/data/icons/dm_unjoin_walls.png | Bin 0 -> 460 bytes src/bonsai/bonsai/bim/data/icons/dm_void.png | Bin 0 -> 821 bytes .../bonsai/bim/data/icons/edit_axis.png | Bin 689 -> 0 bytes .../bonsai/bim/data/icons/edit_profile.png | Bin 801 -> 0 bytes src/bonsai/bonsai/bim/data/icons/extend.png | Bin 1186 -> 0 bytes src/bonsai/bonsai/bim/data/icons/exterior.png | Bin 1024 -> 0 bytes src/bonsai/bonsai/bim/data/icons/flip.png | Bin 1211 -> 0 bytes src/bonsai/bonsai/bim/data/icons/interior.png | Bin 971 -> 0 bytes src/bonsai/bonsai/bim/data/icons/lm_add.png | Bin 0 -> 1028 bytes .../bonsai/bim/data/icons/lm_add_type.png | Bin 0 -> 1197 bytes .../bonsai/bim/data/icons/lm_add_void.png | Bin 0 -> 1016 bytes .../bonsai/bim/data/icons/lm_assign.png | Bin 0 -> 1027 bytes src/bonsai/bonsai/bim/data/icons/lm_butt.png | Bin 0 -> 180 bytes .../bonsai/bim/data/icons/lm_centerline.png | Bin 0 -> 398 bytes .../bonsai/bim/data/icons/lm_centreline.png | Bin 0 -> 400 bytes .../bim/data/icons/lm_decomposition.png | Bin 0 -> 1871 bytes .../bonsai/bim/data/icons/lm_edit_axis.png | Bin 0 -> 183 bytes .../bonsai/bim/data/icons/lm_edit_profile.png | Bin 0 -> 190 bytes .../bonsai/bim/data/icons/lm_extend.png | Bin 0 -> 346 bytes .../bonsai/bim/data/icons/lm_exterior.png | Bin 0 -> 277 bytes src/bonsai/bonsai/bim/data/icons/lm_flip.png | Bin 0 -> 433 bytes src/bonsai/bonsai/bim/data/icons/lm_ifc.png | Bin 0 -> 2038 bytes .../bonsai/bim/data/icons/lm_interior.png | Bin 0 -> 267 bytes src/bonsai/bonsai/bim/data/icons/lm_merge.png | Bin 0 -> 1494 bytes .../bonsai/bim/data/icons/lm_mirror.png | Bin 0 -> 571 bytes src/bonsai/bonsai/bim/data/icons/lm_mitre.png | Bin 0 -> 270 bytes .../icons/lm_perform_quantity_take-off.png | Bin 0 -> 1113 bytes .../bonsai/bim/data/icons/lm_refresh.png | Bin 0 -> 1042 bytes src/bonsai/bonsai/bim/data/icons/lm_regen.png | Bin 0 -> 1359 bytes .../bonsai/bim/data/icons/lm_rotate_90.png | Bin 0 -> 1532 bytes src/bonsai/bonsai/bim/data/icons/lm_split.png | Bin 0 -> 925 bytes .../bonsai/bim/data/icons/lm_unassign.png | Bin 0 -> 1257 bytes .../bonsai/bim/data/icons/lm_unjoin_walls.png | Bin 0 -> 493 bytes src/bonsai/bonsai/bim/data/icons/lm_void.png | Bin 0 -> 829 bytes src/bonsai/bonsai/bim/data/icons/merge.png | Bin 3467 -> 0 bytes src/bonsai/bonsai/bim/data/icons/mirror.png | Bin 1502 -> 0 bytes src/bonsai/bonsai/bim/data/icons/mitre.png | Bin 863 -> 0 bytes .../data/icons/perform_quantity_take-off.png | Bin 3055 -> 0 bytes src/bonsai/bonsai/bim/data/icons/regen.png | Bin 3426 -> 0 bytes .../bonsai/bim/data/icons/rotate_90.png | Bin 3155 -> 0 bytes src/bonsai/bonsai/bim/data/icons/split.png | Bin 2031 -> 0 bytes src/bonsai/bonsai/bim/data/icons/unassign.png | Bin 3017 -> 0 bytes .../bonsai/bim/data/icons/unjoin_walls.png | Bin 1434 -> 0 bytes src/bonsai/bonsai/bim/data/icons/void.png | Bin 2401 -> 0 bytes .../bonsai/bim/module/model/__init__.py | 3 + .../bonsai/bim/module/model/workspace.py | 42 +- src/bonsai/scripts/bonsai_icons.svg | 1122 +++++++++++++++++ src/bonsai/scripts/generate_png_icons.py | 108 ++ 79 files changed, 1264 insertions(+), 11 deletions(-) delete mode 100644 src/bonsai/bonsai/bim/data/icons/add.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/add_type.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/add_void.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/assign.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/butt.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/centerline.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/decomposition.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_IFC.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_add.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_add_type.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_add_void.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_assign.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_butt.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_centerline.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_centreline.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_decomposition.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_edit_axis.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_edit_profile.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_extend.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_exterior.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_flip.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_interior.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_merge.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_mirror.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_mitre.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_perform_quantity_take-off.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_refresh.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_regen.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_rotate_90.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_split.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_unassign.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_unjoin_walls.png create mode 100644 src/bonsai/bonsai/bim/data/icons/dm_void.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/edit_axis.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/edit_profile.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/extend.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/exterior.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/flip.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/interior.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_add.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_add_type.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_add_void.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_assign.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_butt.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_centerline.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_centreline.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_decomposition.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_edit_axis.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_edit_profile.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_extend.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_exterior.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_flip.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_ifc.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_interior.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_merge.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_mirror.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_mitre.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_perform_quantity_take-off.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_refresh.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_regen.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_rotate_90.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_split.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_unassign.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_unjoin_walls.png create mode 100644 src/bonsai/bonsai/bim/data/icons/lm_void.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/merge.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/mirror.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/mitre.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/perform_quantity_take-off.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/regen.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/rotate_90.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/split.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/unassign.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/unjoin_walls.png delete mode 100644 src/bonsai/bonsai/bim/data/icons/void.png create mode 100644 src/bonsai/scripts/bonsai_icons.svg create mode 100644 src/bonsai/scripts/generate_png_icons.py diff --git a/src/bonsai/bonsai/bim/data/icons/add.png b/src/bonsai/bonsai/bim/data/icons/add.png deleted file mode 100644 index b16b90a2a88a4d2d5a8724ecda73c400929e90e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2634 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 diff --git a/src/bonsai/bonsai/bim/data/icons/add_type.png b/src/bonsai/bonsai/bim/data/icons/add_type.png deleted file mode 100644 index a303cb0067fd0420a737edf4121f52133eafe624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2661 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 S%m4rC131{a*tA*&kp2R$qK~!! diff --git a/src/bonsai/bonsai/bim/data/icons/add_void.png b/src/bonsai/bonsai/bim/data/icons/add_void.png deleted file mode 100644 index 06e6b6859cb68243c8d7170f51c6203d2569b84b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2605 zcmbuB`#;m|AICq#G-ixBpGUXzY;zn_HaV6w)UDW}`H5<>TP`hFkx{Re!n$Mt@{-q-W}eq7h<$Lsu2R|lA=q9_0WFegXb z<9sFT1w@#iYss+_d@&<=Ifc5o0DAmdo*$0<0R5u^AVmQDKLP7={+3a7a~+gZ$5-d?FDFfJavZ;9pml1;_b;45`aEIBgN6s@#H9U9Elo3 zLpz0rxKT;b?%^Z~1x`rL|4AzZSsAh+Ox({0Dxt4_9z-0MZfPGy@C`n3c#uX}i0EIZz@D8QoKU|mI1&Ve zYX>PA9Aa3bZeM$Cm)^Oi9~&V$w}Zim<}K-fSGtlIIKO103m;yBJGcDfla&oJk5R!_ zjYb01bb3`8bEj^UkhBP^qbb8PEpF{;MgC<|-;X4MR?xj+TZkmfsM*UMBqUVkdvl3HrR=m`k9r3kH;%!&@m z{oY{g(TXVUMlx^#k(#C=aNM$o8KRqdzsaqLGx^j`ttY}3ckBhsiS5e*aFdq~Yj=OZ zNDYf7*493Ez7WvKdK247KGpIR1umwVZnUSG%AHoGljr8u zW$t}=BXcuYULil)GF7o%*qWtm`N?y+>H<3C@x(8F&D6XjAeC{3Jc7MDHVU0)QmrIZ z8ROiAh^o@a^aFtbvqKx@vHog)_bCD?`VBZxcj4de_k6SAJ$G&+9@4A?m6e!8%@Vg= zH@d27^?iKo4#!>XJGLw&OdzENtTFOvK&ymzP$l{h;{=6$bWP-;zEl2VO3JG=z*o~( zZ)D9qu(?CxT_y2gyTyW7#8B1$I6RUVFy3 zgil`ZWzR-yrDO+kMs59N>D;KT`BX&w;RT{RpA+d>*0hzk^C_#LZR@1Tt7c4A%6`71CZriDoA79gE|*n?RL%Kg z$m>`$&965?QoX+39ABONdGRw$V0sdtIozcUe~I537^gKqqduY-;I?tECILB>WsXuK z3k*@hptQ2|8>Wdq@!U~+X3FpP3HWf!`S!w36>M&EU2~T*8oVGcVR{aqU|Sz{YyWs= z-JNLAMF*jdw^2{K%&K3q-zJim@Hs9LOx zER!{t0k6(<%|W9kFd(xo(PmYngqz>={Y8?Z?uJ4pMRLC2Ay|l{W&dY&j!Za;BU-}1 zuiG2YvNciPx3kHH)4T94;t;Xl*L-ndqP*2S_e$kDN!yuN(-N0r(Qm5Ved7ql4=HXC z+s^f9v4LM(Mb=CKd4* zpLYbBv6U`h`Jdwl&hAK>uf1?ziL=G@iPrOkDiST}2xr4N@|NJWPN}dk-7hZ2!C+o5 zx;v**Pvw&DnG#uPNX4bxh8z7V4N|_I0b{a~gc!*#-7w@PlBV4}+Gc=?6(a~a467uw zHqYM;i1TN36*O7+Y*#P@wqJ!el5&&)m!JFrvgS=_O(Rka1?rTz-=z>wIyl(c;m z(t>&0{GfzUV_@q$;gwnd=+-vMb__e^G(lI35M+N$ z;ysS==Y!=exMhzbZ$JB1gbXyWE|=@oun(CUga=8V!rcneynRY;)8qpMKecI`T>Eno z5cDU}r~Xjx?$!Q`5)2T5-9BE+{9blRg%wF=Rf|ea$>-y7u9;C(+18@h`_pe~*vM^u zoxVCB7CoY=d(q;x*Ut}tN_;Li4Qd`oF=-Q9;T2~)ZY%tLvuG{Fiks6Tj~!wEvkuXrEGtZt+76nH^l)* zU!-aYFkqStrha-|UttBNvPi14rcG^!m|)Iy@Q>*^95FtVczdi>W8;dHc%G7EH#S%i zm)}IVJWt2h=Op0#*AXtYxH}wb9|vyZFd-E1yBT3E*x?y$!<33{J0>wpuF)NlZpa9R z4hLIJAL2$m1(qx@hrf~(md!>nIdD&cp@28<3G8yh{DL)TBSE$tp(e)vc>MprH^9lx L)%KoEVCH`Sy24!b diff --git a/src/bonsai/bonsai/bim/data/icons/assign.png b/src/bonsai/bonsai/bim/data/icons/assign.png deleted file mode 100644 index 7195dc0b03439e6f6126a004ef438a551d91f366..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2444 zcmbuB`#%%9*i$!udLM|aGCD&HI)A##0=MVUP9-sI7_5M8H@5lS|{_XR*Y;R{HE~+33006{E zM1mtOqr{8*lEM7{z4RuE7DAoxE50UrK4mf|x&cGRaf zzKDcaTQm31Ki7m#(*QpZp%dNs5GuWIz@azsJU%3bS&_r61A=G()EOp?!9;}xTtqQw z^bjVBuP78MOrv(L}m<(T(PY^AbN@Mu&EB*;R1AIe*nfgD$Shrg>zo-0uPl9(C z4S+#o3{hw-3T>o{!I)xQcf)r2`vP#>}=rWf^H z|9rxV`^xv%XTOyiXZDld?QOna!qIeBsa%j|QeeqJ3gDpS^j2hNcyiO-q3a_bS#zep zLy*8DT?o2vi{MiAlJGUUVyvjCT6b$2Q4>7Fldtv^Gfo=kgzEVa6hXJu-rDLxA9rXP z0kIa!Wv^KqUU5LStUL?kI9J_9Xab;%iLSVb+$_^yQoCS%jWt&ga8=0nM)FO=#Rn#fZ|0US9Hj2J z!$D}A`ax;{k&tg(lSnOAV&sp3y>2$QuvsG(s8;AR=DMTu$l==nSeC$@_-ll_`cU)fT-3`D`98G)(*PI>bBk5(j-AzQXDp-Xd^ov zImAR21BS(+P4p0BT8jjx^q_N^c>_Y~*8op3p9Wn8K77_yv3|Jtg7EV&kd0dk&35|a}aQxTm5X(E@gR6D~K!8{1uIPM@kjviH znE6g50?tV#3S-YK(YDwr%D{?xCpQl#9}re8B=r(5&%tY~lO24;%L8EmWQAV}NEqmI zyv#E@9%oc=BLiSpb=zYKoF6z*vug!=U9@2q_kv`Fo5?cyrcYdtS7k{@OT0ScD8sqD zye(0Oy1Vf1Tf}JD1Lcr{RiweD4% z)=eRvU)14jjzyQCmqNIak&%gOE_G+T^@`G95*8da3ws%F??R7Nv_Jy>%?U!wr4%n9 zG=9Cc^0oa+q2G(64XaY2cbclGq{PE#jy=QV`SYe1@G4pj7nRp)XOzJ&N(zZdvs=f@ z@Q*2@X;-rXELiCoA+>LP9-h=wK%3ly6}6RpMd8qt^P>PIvZ#*9;Axsw`*0VmPB^Z< z|J*aGCKxP%w3%+dVO)g{0d8zO@fZFhCc|BzhoqG!cHlA^-hrznNaQ$MN%b1Viblz9 zqX@IsoUH2TB-y2VN^*s51GON9;_|S&K}O4T)hfeHP1Z0>4LaoObs!t;qxm9Gmvl)Qi+JRRE$A0?A72C^3Pn&4O+cVtcd|b#TGL-i>xMcqHf6Z86eM=U*+M`@ zaZ%g6w!t!K+L(Rbls*Y>kT(;42Rf~r8Pz-{7aDIimv5Oj;O^OPwSa%8@z>VPy^O46 z$F69(rENBc9`1d1(ZQe!s#yQ@Pj{PFx{sxY`~Rvyxt7Dn1IL@C+G$KZZ20=FRh=|7 z8grBzsVIxjcEJ~ed@W(6>#+Fpo1u~> zPuzhf-O|ZDxo7h-n!z(&vR)8ESAIFNxy&$^rwGu`ofj_(=d=wT-?fj?DUA|}BN26z z3tio^&+R(f?FsOvD7L`Dt1uv7ep1xz_!)iY$#<|C?dHoq6K+>{o%+cUbK&UBK!PUS%-G8qV%egrL#Yw&&fZC3g{C zVwDw!^#zdfTsymbJ)eR0s(LLWFQ^k2Je|fK2$(=)5G7MS;O7}Z zF=;VK~5afjy7`!i*$0g ztUfqmUCU4TG~Z1Ce1M$x{7#Z>)rW?DGA`v%^dV`D!{Z{|?B5a+hyw!=Z{m&D*L zIpC$&VRgrB1+}u9yM)kv_6bDoJF&uR%&BolrA$rSC0NpnZ1faRi+bmyPzNvSf@wCv zEc_Ev1z^E02B)$sDj(NR(S%kLkuu8s^@;J@qt|K|um Mva%yQ#Cs+E2QiuqO#lD@ diff --git a/src/bonsai/bonsai/bim/data/icons/butt.png b/src/bonsai/bonsai/bim/data/icons/butt.png deleted file mode 100644 index 3d3531175ea61a6a8262b77c262814630e1c75d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 767 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`i` z64!_lx6GVW2K~_D)S_bjlFVHFqSS)?VtvoFWdDNHyx@$~oE-h)qGbJ~oYcIO)S@Jy z3IsDgGdVx6SPv|4<51)ppqUaNGhGr(QW=a4j7;UUM!PCVtq=ND7EJeOU4k9k) z;;RZ!ZU^%!}Xq*|INB@|9P4AHcM8y%O<&5 zzk_YBJFfpYhu!qwR^6}5IxqZ}`}6x&+<{*X4B5Y5e-L0`e8wffSj_N)Lx@o+VI6~@ z0eeGe0|!uuwWGn3VGWZ@1IG+)2bMF838D&2?*wPazdOER?#<7?ciqz8X4-Cfragvr z$CY=Azdy%nrC!(lJ;~ccBwf?~)_=yt-=C9zExB#cvh%)FyN0~gMiX}i!6WNh7_3jH zCU6KizVYJNusMdUjSRsD+pPagO80yEfi=@rWZ9%mmcqcGq&z(`c)I$ztaD0e0ssek B>Vp6P diff --git a/src/bonsai/bonsai/bim/data/icons/centerline.png b/src/bonsai/bonsai/bim/data/icons/centerline.png deleted file mode 100644 index b75f93fff883755c20f7f83c5b8d4c38c13c2125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1126 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`i` z64!_lx6GVW2K~_D)S_bjlFVHFqSS)?VtvoFWdDNHyx@$~oE-h)qGbJ~oYcIO)S@Jy z3IsDgGdVx6SPv|4<51)ppqUaNGhGr(QW=a4j7;fm*_9Srlz?+7?n6KM$P`g+;q+C+O~g!y6P${oZmM@VPbb$aA9- z!@qWKlBLv*_E+RGzv5=7747stzKCyiS_(r*?lGs|v+rgv{C)QIdr9`$0rwuee(Ig< z)1tMAjbYO-X{B8uou`roPBY3SxMpVYbQDF|HU)V%MR0ZBXiIq+v#;vNbCXbJhIu-U z{0nYgvbb)^aP?@XSVP50Q;wPd;fBZ``?yQrvP%3A4Pj*v)P3l)C5gesdh4MBJ&aBZ z7MU8eA#pCpa2ECcpPePR;Nm-0tBxxEQ=cj(ZkTfJ)6A|Fh77Z3^ShL+7MgloVH%6= zfv!teBm|yrsbX0=jpg#B8Lv4Vu2*}^s1aJxA;r+qwx4JFf;Bv%p5h6zOe}V0?s~Hr zHi+$DoI2$Q*XuULz>O*rLT9zUrShzJw5IjTO$h-c-p+447h*U!T{*g_BisH1r}WlM zGt?MzS+=p3_MY7JP&mXj<{V2g)9l&$C1vt!4m-$RwPTlHXq*vpGcW5r!&a3U(~dl2 z3Hezcqm;SIhU+SW!vpPreSe-XHR^kP7GGjk@?;U`0g*+K?Ot9gTe~DWM4fBuAPD diff --git a/src/bonsai/bonsai/bim/data/icons/decomposition.png b/src/bonsai/bonsai/bim/data/icons/decomposition.png deleted file mode 100644 index b63af19882d8dc92259e63679c37908257981bd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4907 zcmbtYi96Ka_n$GF!Pq9tgnUwwY-5nI8%y#rmP(SQjAbliH+@l-h6yb~DO;9F2}u!y z5Hl2o?Ae*2MP*N98@}W7`##_AAMkrW_uO;duXCPz&vVaxUiUutrh}aoLSVlD002N( zpR_p5)24gE59RgGd_yLA>Nv^S+RN4!aExb5^W-E?fdAEe!2JNoe-M74%ztfB9tKE_ zSZv@ac+iOxl)e9dzR_dVT|5IGeDXXG6cpbRVBbW{HV-^`+0yy)315E_K;tZh6iU&! z>>HpFN(v65XjprB*awpW&-jr1{WU0|9vbfcq(Dzns5>v>f2OOiM^GR|{U2bs`TTR< zn9_S=TDV;%0WfHcwgwujf!6&CjnzkE^tG|#1wYR6Vnp|19DM^w05n>Euj%P)YI#lS z9ob9tpPWM7cuovPZwITgmndQnH0NQVZh-$&KD&!Qcn-lm#~BY&APMkK|MlR-bRLY{ zgHQjH@c*V!*VOD%apk$i@YWVM#|YqjHp2hXSyWpG#t+5NF6=s;{>$atX~`Uq^WQK( zF*BHNIpuf68u>6A!}s9@Zb&I}$()m-5Fw8!@CnC#N!XAs&EWf|{zfs9TwwS0Fa51t zIB?oaj*|73y||D!G-e|>F>Hm8y2tLivYx}j_+UEB ziN?_)=Ly^wrlIc11y(Cm=Z1A5_ey3>jO0}}L#+Lwr0W915E=R%={1J~jy6j4oRJrN zDTVcy58>ADjRtuvlhptz8wifIGweM7B31s3ykI5Eo~FWjXA)e_hW~i{jcXv&C@|BU zSeLRq{bt1#B$WrQ$q!O}^oF`g3hrUU?IO?t3ez#;0SS^3fSi@{-)}_UYM9~J4#O|q zbSeh6*~QrgJE-OYTrJq3@JZrTqNzvtMB(iz@KWt$OUT3t6l(r~qaDO#aFTDe;ZJs9 zjBYJ)mUXUUQ#d&JOz)`O$ju$~b`Y5>&IH?C9TN2po-@o8hOUAAX~aTDN!lXS3oRD2 zLK)W&&S(-=WGl*`7nEQCO zV4ul{D!zscY#gRcF1fMc3$3vjsp+$+1b6Z2A8S?etxs*X3b(G7Ma8Ngf-8nL%}2j9 zRb8m)4^ynPefVJoA;0j(K-VDV+m;(hy4LHwz!_G^*dtIYbx`1IDzHqr)l9Rv9wj?V zxTL`r`$W8e2q7u|=`j8-&}sQ;5dwXaZt0qf9rW7q$`n#xzv|2{!TAGQocTm-l3Yg+ z;N*a+vUol|bodF)v?%{I8YDVvttGbL_-Z1zuLhrNyOnHn;dIB<(;ZK)Ux~{5y|r|) z4N`vnaOVAk7n;HWH1nqt+BXgaXXt>2L6f9181b1{V1C1KM0LM(#?9ae1w_t-OuiC|qn!mct_Z0mzW@)mHswGM>TP#Vt zD3}q4yD}bFkd(9*dMt)OVp8X3r4Az9nN5KFEGi;3{vCbr*wV>vKB)>m$+&KO-r~Ww z>{O?v$hgr~M^Mb!HEzKKM5HDC5dlWC&W^L2?s9%Qb}=cy{a&AB>*zutg#GHTDXCN8 zQKvh+S>gVp_T(ds`EXD7=bG6K2crYRSk^1X464HXhlJV%d#AApM&A1QqvLuhc|%X6 z{A*qUtB*v@%*8z!WH0A-@BG9%sp%4}k^&TumXH+mnakCF6Op&SYrpCI(C{#ghzE^| zeJEPi)a`ehDYL(^<*97czVPJfckI#Iv#a+T*PETC^kH+0ak2&w|L!>J{UVB$@EjG; z&%wA+_2KISraBR1*&3a-+!pYSMQ|DFmz$8ZJ)-I!c;-sVs*S175i!dFM9g6V49Zoh zJ?fceoF{HFRuqfOwHniJfA5oT@l}MLj++o9qkdlvPRyXjPJqv%WeDYLdCAz@!K|IE zu0@pM+uTNp?YZzr59z@4xa$4wMD=2ZY~9qs>Dk9~-flIaBA?$Gyw^BjCyHLG+EA@( zvQp{wk{>g7Z7bwfIgN^V{5jjPlfj}cf|aZvT9t`+l2vL;p&t78pbq*IJRauxP>|D1~$6Zm%Xy%_@Aw3*E2kLT2?M%)@8gLkO~)oW4_2tut3 zdALpIEKT$4b637$u8>+06?tsB_mt`E^^xBjs)fzh;v~>QReYm{305rz91HbP)2OME z!k4f4qf;tf6gy%zBbn9bSnn3&5o&$2|Zx_@g%oEkA(S*m)r>qWCKX?ZfADTXHteQgGE1 zm1iXhS?@$yC_2kB6)5FpwmM&$Jl|FHGAp&`Mf&RJ zzd(xp%X(*sib;H06uCe8HCl7Q3Eo94bZ~*;C}NlmmHdR3>zwllnJ}&MxOTh{Si8Rc z)>+36%qXj0*;~U+cqY_%Hr|RTS$j&2*gW@8M6qLipl_7r`LlFY8y~++EQk@%(*i>O z0*yF~n&o?zIE~uR7LBFFyfRK5B+k1fdq%!GFiQCQDM@<``)-NVM+&Ga5R~)$*#Xqk6aV-RW3Rd~@^NCp^11&iovb8^hqE}Pz zvs*&H6p6plFD=OIe_WyiZOA5X+$pDFUQJ>BXyzD2hbF|nVQ5Cr4yApG5~2L5k_m~N zF+rp;zv%Q1S)NE3w07)*r4(C@YqFuVNukCw+Y!Gug0aAc)6fxww;2?FNht@Ws4Uo3 zBPx4Nq`S@7@;7BNV@BJdqcrkZrf8b??ye$0$u|$I74(CsbaJ!;`wmyk#0*JB|k955uQB|x!8js`!XD$dzDj*MiL2n zHX1$gS(*VelLhQ1Xh1!8GB(u>Ni_1sb-XK;Xw~=bt8tZnS*>4vyOEUH2APG;b6^44 z3S}Ia+A1wQKyO8k7$(%$##G@%q={$o9pL~BWC(o% z!Tu{(-qRa#@^I*rAijGpwReM1c(s{V`7ZIIRSg-q4(u;vBX?C!#YnWutm$#Y)AXn5 zo14CBTcsIVxvCM`b;kZ_g{SQ^2R_Q^BDp`*>xgia8Hc;wU&+`#yn1?AaKAX<3P3sZ* zTMIo4eKcY$Gk)IHk$eZrAf)1f$or6)73XZK*U{KhL~61e3_7nsW>s`~6V`^#)r0WO z;2wX9(F3}Zkt0sI`0F2lt^o#;PD84EnONznzX4sxb@w2(zFDzctP)*=SF5^agkZE*FVD9vsNBPu)x zqBsz7r_hzJlgyle|EnXK@nyKmY00)O_QEI|eBFC<4Y>t=gFZe#rc@HY)###VQI?|@ zqL!(tH6i?vb<>4)NZWDDx=sJRnS52O%K@v|=|DYiyV?UZu5s+> z_nhDrwNz{yB3*Uq$%1fX^gw&F-_89s-W;BuT-cbjGQG)qa^QTfOB1kzaJw~2XFe#`JX5Hj#c?$) zjmKcB@Ldmx=t+YBW$9skbWaDaOx|3g6F4&qWCM)_l~x3P9^uG#6*(Cj3bby@^*F^+ zx?zm*WeU-7j%wQjy^F$+5`2i|$MX}7AL0Ml{y}xxo1D|&`WMI4v579d;GNI;Zwu_^ z@(iYW>p%jWvuGO2|C+d2U*6Ll#o9xcVyo|`TP*}SbZkw6OIgc1xR$W7sv-`_2R1VT zZMyE^ri5+VFAWT$&bO8fuJl03e)guC#V^xW^zDu2`0{7)z+Dv^I4g2)`+co|!tFG1 z0`e^XWI%kb#c$hzleHt_YAK^!2R`0L6KXd8xjycVE4{(H2tJO+k1vRYJ@?3AzxEG* zzHIQqU`<)U^^Iu8ioD!b7b*Zt@)YQdJ;hnrx|SGzTG%W9ksC0R>a@3To!J{B4shs~ z7hMpVFVub@D%eiy3m?r%X7w0aQtJDUY&h=>Xq(bT!_}4)ib)E1s)iLqJG@rN|J>~P zOyFlX*tjs+!V9f_BEkL9BJ2VA$ktqGQe1b7x+li~P;%Cv7o^ zhHoksYu?d6*>MAU_OmjLEXkj6SP8OTc-OXcgT~C8n(2y_T#m)88-y$I+uk#N-;QT4 zSRkC4!JPdPw>rb(U#c^FKdjikG{ZRJ$h}2QRa}ZFhNcAcv^#{e)R!(FjZ=-d-wjUl zdle=2tZ<`qRtGVFN!OqbeF$ODFL{Q=n5aAoQOE==-YEpa&J2VhiR=&u_(X+CULSqp z?r%cdug;2}0SUboK|P124m+^H`)Dp*k0w3Pz+bGeQ#M)$N%WV4K{&OxMS$*M?;rF~ zM990`kP!9pt9?S_aQ}>+p}KBbQ0k_y;QSOAtk&UR?+0OP4w?($I`p2yOne|lHf>)z z^IH}&y*yxT+C#C&!-==U0^lIz1#voX@Jw?f%;$5Z4 z<0k#gdaPtl$2c&n(As}PN|VR4^w~-@~JK|j}Yom#lBqfE@Bsj F{|48%>I?t? diff --git a/src/bonsai/bonsai/bim/data/icons/dm_IFC.png b/src/bonsai/bonsai/bim/data/icons/dm_IFC.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b6e399b3794e3dd2ff841bcd647f268219b562 GIT binary patch literal 1144 zcmV-;1c&>HP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11O-V% zK~z|Uo!484R#g-S@H0A=V_rr~tA`P~OhtBiiizk3iAWPkV&GFyjy-1RLr+HbBs76g zFBwFFq4qW;SfrJf3HBh8l}VI=js+uKP|InWUk~e?W}p3?Z)S4AfscLu>$3Oxum4_O zfnplZDjdLPST_l7HBRDp?8dcI#hy;`&01}+0k;w38SX1Ay3ztV@M=Ty$~Gt17bn3T z#k~Jpz)Wn<0-eQ~Y;6M;;&ifh4nrC46Ld|tfKKel0{noRaC2EmW#bqq*N5>Fdd2Cz zoyGVNS5H+y7xre3$8mjvxf3JF`!TG+GV~<4Sq&$#OPp?F0dw(D=J2Iv65WeG65J>r zYrtKF53-o=h!d(6ut<<4wF6~QX}}qH5BK2_TuSg4@jycnb8#e#{a+UqSd0@HUCD85^TcZ z5_5Z5)CvjVw6^h~Lg;rYq1CPmJeXB{7<2G)R>U!Mm+xLs=fxfq?K_4-ATE&B};G~eWGngvUh_r9e73TzE|9Sen+i) z^YB`h;Ah-}hs5oe+SV#>Q@cE)&gxOY^d9lOE88cOvrDV&RvYP8*NSn$p|(=IL7fkm z${@Y!7mhM%RlvSv{bX6}T6Hdrm781Gu7LbXy@2JoL!G(s2CgX+?r%wYs5Os|$RdES?c!QJqYO5R-L+2c6<#*(5q5C8e^! zP9a+TS|_1iA$FC0UEt$v_e(RU^m#O?etpBPMul9r^PizUBm7#3o=@$RxHy^uJdxnW z1k>|f4Ycv?#Lg_&uIgnz`5u?GOZhBNC(@`m>bp#kbwz{UY^~GL2`o-Qc_$pvI*?TN zLn_gi#BkClNZXO&=L)qx>jONtAIi< zHJ_Nrl{%h1c^6Ut|9C|O6k=@Oh2QWEo}2``PW*-6F9dGN`2PZ-0NC6IkwVx20000< KMNUMnLSTX%2p>2A literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_add.png b/src/bonsai/bonsai/bim/data/icons/dm_add.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c89c7d1511ca698f59d7e83b2bea443bc461bb GIT binary patch literal 997 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 literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_assign.png b/src/bonsai/bonsai/bim/data/icons/dm_assign.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf007a9585bbc70d7659ee624b14f7727e4e50e GIT binary patch literal 895 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 CZg~{| literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_exterior.png b/src/bonsai/bonsai/bim/data/icons/dm_exterior.png new file mode 100644 index 0000000000000000000000000000000000000000..19533f7ce9e9abb21921e2fccd9e016638da2758 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprTe!7srr@*0TEpB0i3-LHo{bKcT=A0Pm7h%g-o3jsncH~4noSEM@swD(4JrQMb;4^p-z-*=J5Z5S^;P6pyh2T#%CIJR!HB*K12_dKT pwNAv^U)`2;U=_;=Z4L(py=c(Qqlkb literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_flip.png b/src/bonsai/bonsai/bim/data/icons/dm_flip.png new file mode 100644 index 0000000000000000000000000000000000000000..4a108ee2fb89739a17852dea34e1e1827f769db3 GIT binary patch literal 405 zcmV;G0c!qpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10U}96 zK~z|U#n(|v!$1&#;eTU~qi51vSg_J9A|$uyLp_l7F!n{a4<@>%$?nV~*$xDjf#m-n z40aygl zj~_CCSrMc03}6;SGA;m2LS*AYfC(XrD*!5lIIaYU5URKVkVL5CM!+BW71#im@y3eK11{r} z5IVqk+>DR|@^KSF29U?qh&(_aS0T~>dt8hd2TYHP5W|4^;wc0$^f8)09wT literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_interior.png b/src/bonsai/bonsai/bim/data/icons/dm_interior.png new file mode 100644 index 0000000000000000000000000000000000000000..2771aecafbb9c89c5abb3f95813eea275656f2f9 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprR^I7srr@*5p6`|JyU`9jMsJ zwq1qu!TvmM<(^Kx<1W118jQ^E7{sh@ryE`1v*^|{c(f?tnuE21Xl%lP#R*qHl2z)5 zikaUsB$qTY_BSz>GwfZQu*KHkRl~vO3{}sYzBHCGxHYF7ado`qV4a}0>p+A1!4=GI bvJ4EnFYyKOZ`|tzbOnQ_tDnm{r-UW|aR*S? literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_merge.png b/src/bonsai/bonsai/bim/data/icons/dm_merge.png new file mode 100644 index 0000000000000000000000000000000000000000..1d78bd36a01a6815917d4b3bf730da9605536ec1 GIT binary patch literal 1244 zcmV<21S9*2P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11Zhb` zK~z|Ut(IGCRAmsye{*(Q1PTgX2u2W;aFK11OXN|bz=JP75Gux?M8t>)k%C%iNhzfS z5J->+NFs^}L~V>QMvNgwAABJK!R}TH0fM4ZxrCBJTiWjaeK@=Ax658mm49-Qoo_Dx zIdf*`8@%HgoMS+s$OTf<8-bGvYKH!D^1aZ*7kfN6~ zrlvEfgV#%rSq}0h#0nB#1l=lu_;B!M04sqr8MgCi>)CJAdIUso1uRy*3h|z!>jJBw z`P80Vjb_w(#JW}>+XRH2sH+sI-xfH5WW$}I@0)iaJ*%?%9|8r5Rn10r$VuWR#-t#P z>6gmycBkR2A}Be4BK3!n);LFl!IlN_4I5^#rW`DF)mvQ?~w6JfX@s z#LstM>-g+?V`~s+qjBwYNF41wk-ep|x*Y+0#{lmF^MHGE*!&J00JZ|xvKe^E3D<{k z{BQx{5Ks%8242rY4)8Fr1~>~W&SntC7)jdb81P4)fP;arfoBRNnTcV*USKM)9Oy|Y zJc3WI0l-&T$bZ4F#Dv|~e;z*S6#bcrdUlgZy-0(FjV1b!v(lDF6Aj`A@kj$h))LxA~?{1ebX zCMJzv3QX>mWgm$e_pLVre>(DfNKHaxGyXSCVVgBprJ8L9FwoKM&E&S|+F2R*$PEbZ z$}sBy_B(PJFxmr9r2ZdF>l|ev&wzu!FlFe6C|=$*9oKSoLlw9t$=L<27JXy15;sG`t|A z{3(nj{ja(3&MzcgmtWNM54&^dAHkoBDZHG0C5u+A0M_9*U=XxptR_;wv%pIBBz_a8 zFz2?-MMx^$upJeR!=GAz}>Q3}y2_1-kfjyLze+3>#Qjq6krQ?-=e(qD75u;KPL7gW{>T;ah zCC%&y`CLhH$G=5VNq-VR(x!|z=#aEnlI8I!mQ*FFC&PC^%BDXF6iGU)+tDOxsidir z?v^xE(iBPWNIILveuo>kzu$4Fr0=r?4T=vWh5t_iBm>k+>g)&cRY{Ao#rrP_q@G75 z?UdA-hxnYNI!X8Bic@e71V9*n*NXu60o_0g5CxhFIsXegkxpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10eneB zK~z|U#h0;8!!QtrzeL@50vMtyI}%b?Bvdi?F%TnStU#hneV{%-2j(JFc2qiq5wRDU zp$SS-JHB(;=9g}<6aQcC?AXQ_LqJT-t|lR4#dNGVdK>pU^zTP3A3tF;H0RR~#fzuF zS* z|C#VX41k+jTjl}SF$ZkR@F3-|nmYjY4&gL!0N5Kuqqzs5HH6n(0N{kkfY(}NT65T0 zhK-L(m#EkrL>VX~Du>Ek3E+iLn+E`F^^)G+0j3uBA!8{4w)5cfr2lQ{`~il5YC}^1 zh$i7$3n2thZPzLY0YK1MK@8ymXmwB#LG;{Rjpj3|e?EXk1B7#VIsm+1zHk`Y)CgfI z!9mW4&T`Z;AT}T5QI;<&)=ZQDR9`*1C&002ovPDHLkV1fer#Jd0h literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_mitre.png b/src/bonsai/bonsai/bim/data/icons/dm_mitre.png new file mode 100644 index 0000000000000000000000000000000000000000..552906a9922d4cda4d22c26029fb692f392d71a1 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprRR`E{-7)t;v7>|F>suZBSyK zp|N#tkin~lK=vN1ge#1T`6NmYtYDUq)C&y`nSXvVr_~INj1>QMbzRO1FHc(i{`vmA ztc(GBz$=bbOBst~9k050^eL~H$L&$d;=4&vvu{D9rNbKKj3@!Y#~ib!x3tJOPG2N3 zU-?Ct_=6&rSZ(E;z6I5}9q&3ASN2VmJ!mAr*I?N+dE!$Ih6UAO^QYY^dj)hOgQu&X J%Q~loCIBKPUNZmy literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_perform_quantity_take-off.png b/src/bonsai/bonsai/bim/data/icons/dm_perform_quantity_take-off.png new file mode 100644 index 0000000000000000000000000000000000000000..7b538234c7bb3811296b31349900038d7f500141 GIT binary patch literal 752 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 literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_split.png b/src/bonsai/bonsai/bim/data/icons/dm_split.png new file mode 100644 index 0000000000000000000000000000000000000000..e33e105c708925c84d2402ed05076ffc110470c5 GIT binary patch literal 799 zcmV+)1K|9LP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10<1|y zK~z|U?UzkRltCEBe>1Ktnx2H9GKeUv)fL4uIw&0!!b?Tu-Amu61usc#ueu&P)FA|q z5=fYCK@=D*MMwk|YZ-a9)UaE`+OF=?Vcnc}{MuFDo6l{2`^@wIFEjJZyoz|IV1xvF z6yAnQPkSu3Y3v%%K*|Iv=J-6+E40Q*4g7JTvcw(_4cN8+XyBI%6&2QbXrR^_&ufrR zZkE2_p#i)0xJD6mAyL;={LV2C#E$^iEEd)LP7DFF2K1xkfx_9z6QY5KK#{?I03%w? z+)JS7vL>|fdC_Lui7ueoVh*sNLO=`ODBHVXDMJ-FILG`$;U;}XtJOWNxybo5L zwDk=D@NFstGGftIj#u_NB_>%8InQJ;la=u#X`?6QLANWG1-DcxEa2lA|sQ#wyR_ekt zpxZ56iGS}EV|>*T7odGJ@th0*NU(bp)PO}p%Nw!)2w77GfYDrP=YHW7_&R{3K@Jl* z+C-+M9x`|m=*YEf&ITk9o&$O6f=j9uIA^6sfuB2WAmc(0y2grXAZTR`l1JqG0G)6T zRRH%b2N3tpK*~3b-+V-i-Rl9S^C_9%64bL`ks{o$9B^;coi!kY)40Fwvd3^G1=5}w d@FI2%`~xh6xSog2ry~FW002ovPDHLkV1o0oWF7zj literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/dm_unassign.png b/src/bonsai/bonsai/bim/data/icons/dm_unassign.png new file mode 100644 index 0000000000000000000000000000000000000000..f2148e4949523d5967ddd63adb4005242aefc54d GIT binary patch literal 1140 zcmV-)1dIELP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11OZ7z zK~z|UwbxsSRaG3v@y|LJO>D9YWfYl|V>UX|#fa)9x>5#ZR1^e}(e?nelH8wTL1s=yVqX( zzt&C>p&q5rO2;VnpO522?hm3@d-222RjDh%aCr{|kk*$DRTy|m#P!G{kgCI5NVi3M z_q+cKK-ye7#IEuO=)fMlN7^7oi*Nx>LPex&qoaFC^8q$>z9`&`FQhaxrgeY5cT6d# zw>%f!*r^b$adOWOjRNF`HSfD`f-nnZ5m)VN4xy_O?epg0EsRyp-QB49hyVr)mm@EE zJ34wc4WA-CnKf}`a{;pVPQ~&OGvo^^F^CgVU+Lgx0vwgiNLxor5N%!k_ybf1#y1Zj z?9STA*PW+Q*wZ|KCcy&2aqp( zjEZnc+Bkdcu=Bzt8K(~$H6IZm+PZ!ueT1>nK{pOHCvCoSG%+j7l-_76K&HxbRh*vG zcmJfnnM=v8L!Oa+EuWg&y|(!P?eiDm9gH)WUy@eeHD>SF#<}<4CiF{g4|N`^jR1rQ zV~ST3YjBE|u_dZUb4m|kKyqD7oAcaf;tM5#iyaO$E^p7JQpOK}${bo+ZLYy~5mf6^fIapll zJisO-ZRkAHl*w2W7ri)y$@c9hvn1? z(RcEdtHH0ummExS&CE z7=v31kk&ugDj$n59fPE9v3o&uJic@2*xc#a-85EEh52`yQAoX=SIB!!wuBp~+!5{b zSC1GLj+Kz&TU@l?=NqbWPP{C>^YJ)5^51wh6aH`y;>CWu6gi!c57T zcu!Vj_BE;ZZn(Twh#LF7N@*F0bj@a)m*d-p;xh$aIbbCmQqu}6@eQW7_P%sHmhA!Z-|0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10a-~z zK~z|U?Uuhw!%z^%KbMp)ic4|QK^K2a?vDNk4sI0$+kZk`3gZ7@?dl?Kj)IGWgSfO( zK^#?Z5W9#_L(ZkKX_8tYUci!rz@Sk=JTxu?FA@I)@Z1Btj_p=elZ%rLH#9#~)q^CR$vGgmd#fxilz_9|QXS|d zX>AT7rGjV};AWUqXzr#?f+6PNGp8&2PXhs4J4@iS0Rh`$R6ukqzU)+k;MM>jvMtoU zV@SJJ1U3h7OaWk?me(&x{^vT8+F;)gs8;%8Dp9v(5(d`A^Jj70NkkurJhW9m5Vj%( zw~SCi<8M3*06?oKQ%RnT09YR87~7^a2gm{b55O0Uo2ZH$y?Oxv0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10>Vi| zK~z|U?UzkRR8bVif9IKoS#4TGX%K~FXl9xk6x2p6%XV$-YsgeENyBAdB|`}f2nRe8LB9y)d*gY%BmmYC zHmNA81uo$G%PF9JR--a=Gh-0}uv&>`Bc(tMus$GKm{d^v%gwdJTlpO_fXzw1nxzid z9-y(e#*}b%Up)7N004-? z|IlMIugiqC7B)@Tzp}-7GhhaPe+;j=4 zRy(o!EQ1=P`ULo=H9%G85bw-Ae4W(TDez#9FDN}R43aE%y1&@zS5ObE^A7S|XGH?g zQu~}fLs4Fx!(DAINt$0<#gM>dn}bn9xFtfazwkv{v4U((cvaI)Vf{<;lyDAVVu8>f zK*hj!4q2S!%?cj`|K*nQ(QODANp5P&|#Gd9MZ;#o3gZ(s0dx zv0xu~e4fuhUVbzA0(C0Pk*p-k_ekb<4|JI5aL%v`r~rNjVLXY#95c-hf94QCC$to! z0}V$W(iWprt%O2+A2bSRcWYFZW(GEv2i%G~Pcsgb9B-jXpdQ6RFYA7#QC^a@L>Ci} zMIguSaY}^P6G;F}744^$;HRe003xYnZ$y6qoell`6+U3}00000NkvXXu0mjfee+Lf literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/edit_axis.png b/src/bonsai/bonsai/bim/data/icons/edit_axis.png deleted file mode 100644 index c3a8cfe528d5530d8cbcddbfd4b490d3a4ef598d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 689 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`jd z64!_lx6GVW2K~_D)S_bjlFVFvr<~Nhl++?8PhWkf{Ji4COx?_6Ag!MS5l_m@jRy

zn0%@jI}Io-3=$3kyB=YUo}pQQ|0z?T^c_zZ$B+ufx3f3$HaiHg7#8JuDU?d)aXc4s zc-2y;(aaXpI9K_8y86WV%`>OR?b`q3$Ui>mze}~_`fJ}MKN0yo(@j2b|F++omc@Bi z>dq{ZE9$;BA122mmQ<1*QV#8B9t* ziq(Z7k0ICrWGI7NWBp#a|7{=doveBL^@lpp0rJmyxI50u1vmixNqGul@O1TaS?83{ F1ORPazuo`< diff --git a/src/bonsai/bonsai/bim/data/icons/edit_profile.png b/src/bonsai/bonsai/bim/data/icons/edit_profile.png deleted file mode 100644 index 9c78530791a77f4dba36f1a6c76faf049636bc12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`jd z64!_lx6GVW2K~_D)S_bjlFVFvr<~Nhl++?8PhWkf{Ji4COx?_6Ag!MS5l_m@jRy

jV3MY6L)PLNaqx84L`p zK*-X{&^Ya$r7FmIV3!mn0ws-%EdN<(gPg|;5_ATN6(ur2sEq&bUjik#K@!2qsd=dk zVDhPA>@=XTFi1EE?0SSXdWL2J{-;cVf#~Du;uuoF_;&V2P9{eY7ypeMmM%WJhqc}u zWqRYPbLfQBnWqBX0w3!yB$Tr2mEPC+^C0h9LfXBx7yZnp-`)9omtEVAb(;(J_CyNY zUH)A2>W|~*b`5`6_FY$wyR$Fe?8BV6=Z3B?w=%Td*wVZ6_?9i7=2#yQc^<3Vke(yu z_qsM%zopr0KZuKj{pDw diff --git a/src/bonsai/bonsai/bim/data/icons/extend.png b/src/bonsai/bonsai/bim/data/icons/extend.png deleted file mode 100644 index c0500a9ed9dac78dd1e09a163b024dcfd9f2d6d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`i` z64!_lx6GVW2K~_D)S_bjlFVHFqSS)?VtvoFWdDNHyx@$~oE-h)qGbJ~oYcIO)S@Jy z3IsDgGdVx6SPv|4<51)ppqUaNGhGr(QW=a4j7;KuDA-L!i9kssBg=ml+8~GWf&`s`VnvAz5Gv#U`;&KF8IP3=B+%JzX3_Dj46+JntP6DAAU# zq~da@)x)Jldu8hEX^R4OPYX<#E!O2UgJUbFi_4bQkR5A#|K8yE$C%h1_5)t-}ImtI~|$2qsZ@Z;=%iC+w#{pu_Y*P2?U z_FhMpm6NBEO9kB`wxxGFYj>N33loQzOu;Mq{+^k1T|Br{qr%t-=@M3-WrajCP z-p73r;xG@)vR^6uO7-p&8{1>t85|rdP}1w`|oB1F&&C5 zl@VRYI3ZrLzCn(8p|`B3pc2E+tJMi2x(pBJSUpk-Vfdt--~57ApeiHV?F7S|htf3y zE#B)E?+R6YAzR}a*BEA7`g}ua=ws(=`*=Ev;(9bFL0ez9oC%#F5BTrJ>2y+V2?3l|!_*Y<+uR zDByFxUBl{|@F#oi*Y+Boto9d$vi-*T3Jc#g)K^qDFEd!by)LJP;{ku({Kc7PUjLWs z6qIVny<_L-Z}{K*Vr7Y;3d8TKvd_M9RJdv|@P(Aeom=c!$-cn&pR`rLUDtbiX4%L$ zuiLe|`SSLh-+M1zJ6(EJ;cbI_XubTu73QnXUDi3~FJ{_jX0Sj0*0R_Y40qf-trb7Y z_*y?K>^;6E&+qK3cRQYKcyEZAei)SnG#X={-<%V&Kh-@BnA#~XG8jBv{an^LB{Ts5 Dlv}uW diff --git a/src/bonsai/bonsai/bim/data/icons/exterior.png b/src/bonsai/bonsai/bim/data/icons/exterior.png deleted file mode 100644 index dcec1536214704bf4cb8e7e84598b3ce3bbd561a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`i` z64!_lx6GVW2K~_D)S_bjlFVHFqSS)?VtvoFWdDNHyx@$~oE-h)qGbJ~oYcIO)S@Jy z3IsDgGdVx6SPv|4<51)ppqUaNGhGr(QW=a4j7;JnMIf@gx#IWs z*XoD=AA712rWkv00)vm5js3QnqB%*crVHjQ^E}|@=F7A+>oLQUsF@L!AB$^wA_bWK zIs8}aFbm@g@Iij<(ukhLDCySEJ80tT`2H7@6+Csu8*O zDbI;jcSI*Y^_;LaW#!yEuXZ1hV@OzS{Y7BG^$QHEt+pLmw^nWa#O?Y`QW{a;9`bC6 zvF*KcQ)u?;haI;cZ0KEUIFI?9qBj#qPN%G6Tub4zD=Z1jmqd-8Uw?e*dU{j0$<=)v z%Oa;&L|QUGN}QXflI}38v~&7YV+FZunQo`%G1_p}^{R#_$+a%s7J0%hQkL;XqsRVV zPf}lK-i-8_C=s2+AADoB`Pn+&0){ii6{k2;&NFN~vLsKy@R^>$fu@_g)=s$nK(wXa zg2VO=hpdB~bF% z0I3Pd%uQu5Ft7q4ODjX;w0oASAcun8RFnvmG%~XMXQ2&pC@)CR87Nki$N-@-{=a_- zl;8$Q1ShBFr80oYr;4%DfWpEc;UKVs5!UD#8lKaR2TC*D@pN$vsbGA1%id4gQRH~x zHA6v1ue<|{9*rwr6n9SP&|}R_QsHZGX^`5v(Ceh^i`Z7KDhoyr5tp=|w%rrWPM`a4 zo?mucnYTNldggm}<+Dj)`|irTORS5D+!T2ItJSl29C!B{sGn|e_?Yppv(kYf-e5Z0 zLdpJjrA!Mpig3KG;0k9rs$6n(J7bsYg`?$+BJBxX*BM2c6S~bAdE^eN-eWU}V7Xo) z-f&Ry$C2GkJZuNe@3AlV&Y}2mAH!Z(j$VGo7qU)1H5v~20!fdP88#^w968RE;{2hb z{-DzQ%!Ruy?vcJ?d+b~3#pulQKlVrbQB`v+;p1c2wSmLQ;g8+5vb&N0zPai#?1~9$ zIq*aB+S0!-FE6rWd{N~o;PiO)Dx+h|84}z*BEI-=w(z$Kp4a2;eAA5cUUH|VETH0WG z!Ft=W!tTjiw$I=B=7W!T*1X5}xXjn*{;r8h*0x*!eEtWA>+(m8(`|Gwe3ibPRCC_` zA?Nb%pN~JjdU3`zhw5*f%U;Tx?tApdvM#lbp)s#G(ycH2fRfy5`+c`;s+`U++u0xd z)0_F{G3&Ya34Vxnvon1Re82NqTi736 zvfJbB0|tT4aMmrk-&}4SD&D%j7h0gu!th0D9``}<1>qlMIP4hq_Vl|Ju)Zj*;c4PNpzz39Fo&VJi{H_Jk;mws zxFfs4iwgM`y#}R6v4Xc4T#xQnFk$TK*{-F{!7tXq_B;z-)`v0f^vjOF034^DrpUXO@geCwyJ;liY diff --git a/src/bonsai/bonsai/bim/data/icons/interior.png b/src/bonsai/bonsai/bim/data/icons/interior.png deleted file mode 100644 index 2dc043eeaede77d9ebd076961071517506f8fb1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 971 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 LNkvXXu0mjf3lbQF literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_add_void.png b/src/bonsai/bonsai/bim/data/icons/lm_add_void.png new file mode 100644 index 0000000000000000000000000000000000000000..90fba897284a6bcb48adf71386396c9a21299df2 GIT binary patch literal 1016 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11BFRM zK~z|U#g|QNR8H=bQ*~u% zQelH8jkHv4W{5!~F>%I(h3*`nD-F)Pv4Kn_U5J)|HBB31M2el6ec~P|K|V#;u>OSO)ZIQ{(r8h^Z(?k&^UNv2mu8-~zkiFXWdU#nsbP*D;0Um$AX>N~ zFi^jS_s(}SS2BP#%nnhG0gn|ZoRyuclBO@}=d+>!Tp!Y`DLxS4`I3b1w)3j=+I}wP z1+a$c7Ucv`T_*92B~|d)uk-0r=N&(j>>F!}{}4TkvJ3d7jN;c7Uftcw*}w&w904Hx z1Zi{G9*eb1OHpQM#Rpe>K^kE*Auw^}_a{Z}R~@46x!vMj3&!0Tdz z3f}-NMdmB{IBr4-*|y!~anV((IIOtX==~07umUHteBR{(SJaT?F!j3eh5Nc<;l3_= z-DJ4ODX>xihJ`XeqN;&NB;u%3DFDLZ+qoMX8y$;S*$y0qqXIu?#^XCt0t?kMkx1zJ z=kNiD5U&V;F`W70oz70+kwurq;tbEs%#4H%b!KMa;RBJ#5eEQs4w4^%_)3I(0qDqf ziil^)@FEM{)!hJkvh8=^HQ65L4*SC3VFAo2CR8KWet&{88iqi`z4uhAe=O`^glx~s2cpfj@uU#Rqaq!866#Ugf9AK1R#R2C%zlQs-SNRz+axN md`|IQQ)vL@w2GDDLhTpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11CU8X zK~z|UwU$q4TvZf@zjNPX#uA0-fMT(wMAL-O$zUr8W%~G(wwFo6dd5MJDkjW@g@`wf?izXx`N(qVw5Z`B^{|NO*808G_YUHo8;`MR8ljLK;5qYVX+ z(SutNvJrKfaOL%e0^kHMvUKJVLtkzzfXGvIYPBrgnMMI<@Nm6iIJWMdDwojwT{pnp z(w)Wu2$$>Bx=qk@y>S4l=ju{YX7unUcN+)bxMzXr&#d80z2;Q`^ib}1lpiB2iJopK zKpErXXy$T(LlZNN2k4)eMDS{8ETX)oL>#O204S=&bPve+3MCfk)xPl!?H(eGV*tr# zw-J;sv3d#uGNOIsgKO(MJ3Dsqf$Cx^YqDS+_iL}X}we*U+Pj*cPE^9sxP8kZ1cta}$XVyD+J2Xt6+2MzK*ed1IZ`oj_~FR@KSr>FIO#1^^(8O!aOq z0`J$+^>Yve0}x>rM2N>I1z#2SJ@l@K3<9^R)T*kUu+~23`~CueFxIo7ABlD1B0+HA xg)jb`v(^r%Y8TJ~YyxHhUqo`A=ba5V{R3Z2TNzPQR-ym^002ovPDHLkV1lys;U541 literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_butt.png b/src/bonsai/bonsai/bim/data/icons/lm_butt.png new file mode 100644 index 0000000000000000000000000000000000000000..73f33be177fdd97d73edd83f2fc15f2c78c6bc54 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXpdv?47srr@*0Z*Et3^P3gIWzcJ_V*8)}vp^KY N_jL7hS?83{1OOQ(HQoRK literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_centerline.png b/src/bonsai/bonsai/bim/data/icons/lm_centerline.png new file mode 100644 index 0000000000000000000000000000000000000000..c49427f1eeedb3bb69927c011fa77518e9f29d8e GIT binary patch literal 398 zcmV;90df9`P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10UJp~ zK~z|U?UqkU#4r?xzw}9uFzP8(dV{H57TlL{A$Sg*V>k;L7~BtZQ>gR?_0JiE4tRt@ zCT?q5k#><%=v)4hmwdcm@)Bi?!4CDj`T#Ck0|4If>iXsT#u)SPD@UpIYqHpL^xix3 z;M3ggE?dj}G1*y+4sbFgNkpFNx=x##@B0;S>I5LmvIB6ib+t`;15DF`FbrcLw&ax6 z*_RUl&+`If%zaZ+N>xB_fYB|O0Y(QHbO?b8c*!3SES?v3+HF^bRfEi%WEznx0B2rme=?tJKiV|pTILS^pr~=F7G7yoVscEfC sZqKz701=7pPADR4VD5x7!1Mrq0NmnC^fjIM{r~^~07*qoM6N<$f_?UpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Ub$1 zK~z|U?Uq4G#4r?w|JNtIf~OEi3WIK2yDWH#S$lvHbifM?&c->#KsSX-4!*3lO$$-ZQC~QvM>xA0OwW&ilR6HIO&{@%h3YUEJ2ba8GuZ~ zIbN>6tq24`5Q)g5%ZR7}Fj~NQ3A})F0i#U_paJkP!0ZT=Ww`~g)j1uPz02mma9#rE z0!AfB)AVWRJ%IImH+C-PE8qpZfYB*XO6APlXsos-P*qh8p!dT`c0!{Sh~qe7=BUe* uQZ+U=%8CFpXL=`O<`n?n3BADd1bzS;PEPo<=K(qZ0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H12HZ(R zK~z|U#g=PqmS-8qfB*Y=UtpaKry|9L7(e(y!DMPQ#02?5B5?~_(m^!s+fW**Cp)!-+=Pg1zttd7!>_YDBUQy)f}M&;V2Tbyrcs0M1W z-UN06JF)sPOLN@1DTL9y8KwIj+O7u&>POs>C0M6;l5MYd!J; zto0BUAs$0K24PXAi(kfCpY07xu+~$I^9foHUPXaTH#1Sd-b!FMsZUPgz713jqh}}S zp2#Wg1zL#w1!*iZ`ELXu(o3KPJdAY^7|Pl;X@M{Z9>U@CdTQC9{q60S019sG?#O5_ zEmlYAIMz-#c7F{(9i>`zlsds}UeWzs0Cm=X4`@ajLtZ_eNpLfXE?_q!ox*+rv=Rzu zz|BM-KpX;Um^Nh(@cS$UcM@6I-=$k>=eq5Nb!M~1&j?SlS(EqWDHtcXvFi^&F^jxz z6{s3t+vLXWb(S7Ar6BM0_Rcs8ctdX8U&xl93@ST-U8sJ z09OL@U}`6j*MYuI)>fB*wHbGA&STz~>qdaJpfX|?rU{aBnJyl{%2E(wFL3w<0NER0 zdKDp7uv(F45{eh}T-`lXir2s`S?_B%cpZ^m5?uhuBOihEuaKnz?a$BZruOl0;I+{hNgITKq z=wKf45yUQ{F92^Kb}_~=3hct1%nLEaVQ?Y^=3%4-By<2La{V&k(-id!;7sO2^_XfD zPGC0yLwT_RT*wMe1DGZ>DFuaaB-8l-&gTGr0qDyB1Z}{cMM#cKqP`WvhZwDl>e>2F zFhv)US7BAE$Jp>%RsR$>Dd>9MF8B8B$;+}|{LG*#kpuQY&wsv?2#lEcId=ls*Wr#pu&fE#0 zkA#a8HEz-aOhis=x9y%1MpMo5z5 zr0HR}>lL`N8v88rIUIUn>ZC~+{4{1EW10`Vn&nyB!1LhRqnK70dj^qB!lKt=S}3M1 z#QarUO!G+?vq>n*#B>+X1Xr4YjYty=Fxt=cNhn^&Ksr$vz&>CI`y^5i<}h+E)`zhN zfF95>h&|c%a17i-3FVdQ&MBb@02&fEb^rhX literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_edit_profile.png b/src/bonsai/bonsai/bim/data/icons/lm_edit_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..16af577eecd72cf7323458e52aab97f4bc6ad8e5 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXpdxQi7srr@*0+kFN80ecuq?Hd2SU`ID>MiZENBU zQ}&J%d9N&D=TD zoFRHFVdQ&MBb@01CE(cK`qY literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_exterior.png b/src/bonsai/bonsai/bim/data/icons/lm_exterior.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ef805a04bda03cea305731ff97586439445878 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprS>dE{-7)t#7Ywi25xh57?f4NOyA8mq5g5amFv7e(wkTDMIAXaqoYIq_{+DmdoEAj zey{BRj|bBaFkY&*cVJw*Ra~fHy+i2x(}`=pK4MFF_W9HuUWWAw3{1bEHl6FUDu`-G+c_5SB!DLsYJGj}sS5M@zdkXMva V{m^!|{20)+44$rjF6*2UngH#IXbAuS literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_flip.png b/src/bonsai/bonsai/bim/data/icons/lm_flip.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5df2c97b8678d34b78245e0233030264d4fe6d GIT binary patch literal 433 zcmV;i0Z#sjP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10X|7Y zK~z|U#n(YngD@1v@h{Yy5pIE_(@WHyVTXsPI)i!%;6A-U-N_#BV`p~b(0SK448^8nM8g~aU5S%y<;DF%9`2Y*TC+-I@ zAQtgE*Ej&&cmXB^(e*jVA)V86ZjAj5wC+ bn!o4YQN-_$l?rPK00000NkvXXu0mjfxU{Jg literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_ifc.png b/src/bonsai/bonsai/bim/data/icons/lm_ifc.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b0f9ce0cd0cd53b757cc22fa9d2d14e16db46d GIT binary patch literal 2038 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H12ZKpO zK~z|UjaO}KRL2!PcV<8AHKrI86{sjuq>w1(Pb)X6Y_DN=-}Ba+h9EwyRBhZ=X} z%l-FGzUlJ;XVN#?0>!(ORX{_$N`>zjKvPpwt(5XOfKCg(ptWwwWHSHCX0w;1 zlt}>oHzguENJL*X#<)_-mVtqR_n4U{CntYQM18&!W^OAMi$^*-I%L%VVzJnQNF>q+ z;2~>%3_v`W%YEbn>2&%X0PO%i@gND{RRAl~>GX%?g=1r-hK7dC0MeGfM<*sG4iiy1 zR|Eh!jYW?bcC6Y zrBbPd_L^KSce79^qySv7;PNdJg+k!~fUo#7%>3%)%TjM*As<|{;WpGWY((9qD`yLRpRr*D)>r4|;8 z#a1E2CtB-sQp%qLc;1^{skP2XDOl}hK5$>e>;n5Z%4{lUS(40~c@j0qA^ zS$K#jB!m#p_|XGcDy3A(WO4-nIF1u77K?ueaMBnvB&9qXi9`+&QMa|Zd$rbSt@YtZ zB;pDop43`jVCFv%Q92%vzXkxwWO6kT2q8{rtODYf4>3|Na04u?Ad?897DnoMD(uKI*+-610pJCGczx< z-26jI>1wT;0UQMo^iPqQpC}fK$8FBC6niE0d5ip0B3j4HmyIz)HaUP7gb-UJk;t2o zNaUcDaua}I02c#+K+G5u1MrGPUS#HP2Lgeia5#M4ah!4z`$@P5zz&OG96-Ay4q&&nktqNhjWHhzAu^clmH=RfQtCO8NF;t( zL4Hk2xmGE4o`||E@)9#|k3=HR&dkgZ0K3U}ikZ9W>+6dEHd^FYi72U*Iui^AZ(vTu z0AP>nx*I4SkB<;hvj<*b<~7-D_7X5#Yvb{_OGGP#5W}TX>9UkE58zKy%2%}3!Vxy-%2U_2L=YtqRMD)ZoV`!GGcd2%LNhbw``U%vvM5gi`5*=%*@nz zKZ%)N)LJ(SAzT1{zYt{R)@o~Gu~;CV&mXO5)y{}aCUXL}tJggM2BOhuL!}cbwK7squ0EL_~>1;vj$@S%!mNV{%(>;JU8E z%x?kko6Jv{xh3<#NF5RNC6me37Wq=|liB2_rlzL8>5~Ih-UW?~jlo5W7QG4J zTNeDsXf)b6Iy$=2s|WSQm{uv}gUtN0wUPgL_%t(T0Iafn9J_w~`e&M*st=Qe#D5ZKZ*U;Ew zXC{-`Iv+Xkf4q)UsnlJ?V)1ugFjtxRnQS)u=W4c&<2(-F`^;PrLj2y-m^+UD0RSm- UNZ;DAQ2+n{07*qoM6N<$g0kkQ;Q#;t literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_interior.png b/src/bonsai/bonsai/bim/data/icons/lm_interior.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bf1c76a39982cacc1b9c268cf3e09da8feccf7 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXprRR`E{-7)t#79t(DiMv__4=^%#JW@^rR=va z_r2<6^k-sU;mzl*xiz3c;_v}p6zMY4q#xlV5l*Zle5}sJ{Ral22WQ% Jmvv4FO#oI~URwYF literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_merge.png b/src/bonsai/bonsai/bim/data/icons/lm_merge.png new file mode 100644 index 0000000000000000000000000000000000000000..0f707f1db9e2b728183bf048924a7f722c6ab5e0 GIT binary patch literal 1494 zcmV;{1u6Q8P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11!GA> zK~z|Ut(R$Rl+_x?f6sZRbQsE_S0yB(R@^{hTpCRXF%Hw$NgBTqM#WYNEr_`nRNQb2 zRukg_Brd^?f^1c9b7TAIRcQCK4dqm(Rw8HiF&= z%$XqnCy>{W{Ik09^>6F6*7M5zPP z*>VrUGmb9@vVrMCFHLmNq@%+y_y2c+JPCvxCHLs6y;}kc7(Q^`5z5~@hia3y?d=J) z$@Uf>!+uA^08*GA;uWLxKo2C(7K~OI`M* zpyY`}!aI5LZD7-Bqv1%eKp{l0=uf$@pE3CEaGnq`GEI?El zqhNeAH8s^1i^aFbA%7R>1TrTsn*GCP^X-~5k7aWgeAGWZl(Q><^G5?kQy^wRx5aw zD)oej+z8kbh3eDMXtZuvKzrBwz_D_ktd{PC=L)daZos+eRJARgPQT~INO!_RXm?B} zI9C5(fMhcH9}#)n@y+%;ZykV9R8ih^oD2B1_V&@m;>C-ntLjaT|3FVqPdAn55C0RD zOG|6jPTjPrRQ15Xz*E3?PR32c9RSecQw)F8k#g7~oy{?Ta5&rmOm(V%rIK5Au4qKn zeMkCHwz)Bf4jmd4kzJ1IGT-;lF#y`$bsY3j$2kR&{nFX;uOgfUWJev=+DwVKJK@RB zTi2uZ9bihidLGdBy>7L`@gigH7*)Nv{2C&{j^=%g^BjkN$#*R{+&?(u=bU%o<~c8t zqaLx1AZvj66)atRGq1&M|0v?|czv;0{L(SC{`~_gQco3ELpPTnxN#q?=J-&c1*_$g~AJg1*FsIUJ=>qn5G(I4*0&m zT0|y%N)w61lvphGkgC4va;fUQnM|f1s{9#MqM@OoX4b4(`+>#^*QdZX5jg~WSyNM^ zLqkLL#+W#88_sh)g6C4H)E%RXzybi8nwnu4^P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10mw;2 zK~z|U#g{#9!axv(-|TRKTmT`iK>EnQmYjeTp-7t?A>;;WDI(Hv0=igWZHJ(3i+oSePJVrzhW#-al;AbD4y{|q~u6_|w06=x1 z`2%=t!Y~XMS_nS?#c{2LCB7%fw#>6mQPV9T6GC2Qw#o#4V*| z!f4HRRT9D+`=1~QVL+9OW17byoO3NBSHt|F>sWJ#h4B zs}l1JjZJg860R^V=94Hru!7l5*5Fk`Ao~V`bKOf<*j*2KWTR2~ez)z;Uz&W4uf>?Y zou6XC&o_fvqm#G78rOO>{dt3R%v2J2~|& z@DA)bFIcjgyTGz(-Bdv{_X~T?T*{9$gd9K7mmtZ(en95npZEU*8D7;}^R}=u%mO-- N!PC{xWt~$(69Bg_Vf_FA literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_perform_quantity_take-off.png b/src/bonsai/bonsai/bim/data/icons/lm_perform_quantity_take-off.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a3ae8ed377484e703c1840cddf20c07c81d0b5 GIT binary patch literal 1113 zcmV-f1g86mP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11LjFY zK~z|U?UrAN6=fL4fA2SQG{G*6%rNO95W0yFq)2v)volN9f`zVzS<$X(Xp{+omzOg8ZL>@_!*s^8I=FFZw`|rWQ!4#mSrRDb1r%(R{(A(SVhK7db^!4>! z=O&_vEtkvT$jC@(XlQ6Sj^i7gRutfzi@o-T`pVz3jc;3&g-LK@hCSvg{9_B4AtqPPoOv%>!)W(3@F0pqq|xm=#>oZI4@`*~ns z;7BuIxm*szFnkptP1E;ErP5uJHcL8_B+1G4_VyOoadK-dBB~ypsyq?1p?q2@B{F`Bpl=`q4ReSknGRjtK(H>_ec_%&r7MaQxJ%Q@>Be9>?(&;3YuLxuaQ@ zT{5#4;LA#-@_7_R9|LQFW0F1swgB^;b4T)}8jC23RKFy#diCl+5;t@8^z^u%o*q{p zH)5w67ddCFct*ek0p)VJ(H+CanyF$s>}0(fjp$L}3*br^h7YA_`U=ns98Z$u`DWx% z6uoF>hk!GcO69S(wzgwtwpP+xW_AEL3(PmOCneSDxJD!DGPAkB+$_u1NqW}I4CsvG z_)s$eX7&PO|ADPh6mpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11D{Dm zK~z|U&6jP6RAm&$f9KxYjJvLswHUp*eaJUjtRyN~dn4LtlR~VK+L>`@HkOUv1kEk&BOGwbe538RG~Z6zetCMuB;i{Xbph`C1KHYA!mvorVfVP|Dt?##~IvhBd- za?d%O|BvT+?(>{SRF&y8V_Mb!4**sz$r1@RBldDIT0w6Bt^ovO6w%`-Lx_H&q4>{L z*Q{m@NW|ZQ$VT9SD(ij&#s&@dA1bI5^{+vsO+&HPNngbgkX=3x=e%1Gd2Yf%5|!Pk z4r1EJFwN6ks8c-YIb^a+FtrusN#I_v4@%U(o%2_&(dXYukc`#q2EP#CAyBy2& zIj|HM12!?9>d~&mpAP9Ka?hu-)%OzK8S4;T57N!dWV38*e^j6ODCwx>VFyc47gNMUH3hIam1tN2BTVE+iB%YhWo4Kz*(fUTPW z1JTXe5g&Fdei5Q0K8(s+Ijx(E;{}UQK3qK?lV!kJEMt=!L5T*R1zlX|R1ZiRm{Sn| z(|!sNl!OKb&bt9XbUn)4B4_@`sqz4Dd#=c!D{+8xv*%-t)|ZWEuKKGIKr;X;uIE0t z>7=U7F9a~Gg=EGX8JTz5EkLbS)md;Ut)|oPpO{1fHz5oIM>QO4ne_jM{eavC%mB{h zdkgo0XkZXn0GL3wq=s@_J7bTy)7OV`?;pwn01pEh1ObLYiXlc^X-7L}0jmJTmX9j| z0F0ts4eZhIz(zNMr8fR5&;T6J&e$*c5vMh946uO>(z|-GL%b%FzQ7XDwLlg_Un!0| z0h|He2fUc}KI!#e?^=9E=th)%z-6HCX-E9~Y5>5n)&k$6%*BxJWJmk0HH$~u@4(J{ z4O|O+#jNx?M=2+#cJz&5SdRe*fhKI@kVFHo%T`~*l)~HEXG5@J` zpN<~}?w8)+A`E>TScb3=r4dkI1oR}xenda}*DofQ(x&}xIPCy`19H1VFE&*?xBvhE M07*qoM6N<$f-^SJ>i_@% literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_regen.png b/src/bonsai/bonsai/bim/data/icons/lm_regen.png new file mode 100644 index 0000000000000000000000000000000000000000..3605ddc43ec938b663137b2199aa59c873bd6916 GIT binary patch literal 1359 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 literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_unassign.png b/src/bonsai/bonsai/bim/data/icons/lm_unassign.png new file mode 100644 index 0000000000000000000000000000000000000000..953ffb979939e7d034e1028712070ec3597ef22c GIT binary patch literal 1257 zcmV=P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11a?V8 zK~z|UwU>WrRb?2*KhHVWduQ9Sh+Je^m>OtkSxEgA+s-X>kOpeTez;BZ#~=BZE{I5m zL_hC|-fNH=7 z6cFFti&!hQVO!7t0w5hV_mYqwftf%8h$EapDFrHlCjf)!YufN-ci{nAYClI<4xGiv z0$mkOq5g#!?N^F}i%n}Gk>#{oAm#g_^PpnB9V z@qAW=VCY%@?zpb_bf|CucHjtLfVt9MS3GhYa{&+z=36`~fYwL;MEMCQW{CPsF|v70 z2&KV$(47SZ@G(B|$M>YAcFJwV5uxOtt-yFhexbhO=fVRl>*z#?0pk$5rEBrnTfWws zwWu}%Nt9Jej@xQJ0E#L>T?iZlW^pal4F1*(?*b{%CE6IhtG9<7wqpQkYj_Nk>IDX| z0uQ1?O{g@3Y}Ur;nmgme;qcSOn0X>HMOA|$(r=9Up{S^6@9y2ZZ(Az@IbjwL_HiwA z9VjK07>6Br)H@b%dU#kxMa2xuvNi+dBHoc9JzAEvE}2Z8cO0jwr>AFoI%kw71ZkjKvhEll>31plG>oFb1r__ zf2A_u;&6xSy2l*H8OW4m+ja>se%Mrhx(R!Ab;p$)i-YJXR2G2DQPsGJtQ+Pn@vmHL zUwR$L@At};y*|jI(2USN;9Oq$o~ekmjk*$MwEigvKz~PN#&@$Gcv(c6@~*Dh8H>e^ z2rV@VoF!qN%S$07jUXQY7YJBSRYv=pfLuY2yRQ2}JRZNE2KcXbh*V;p({-gzRo@3j zI>M={b{b<=#^dqp0EGeoIE^uNFLnQQ(RJOGs#*n12F3yxfVhZ6VzJnf;Yt4jl$E-{ THFmfW00000NkvXXu0mjfHC#k3 literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_unjoin_walls.png b/src/bonsai/bonsai/bim/data/icons/lm_unjoin_walls.png new file mode 100644 index 0000000000000000000000000000000000000000..a67f0daa547d5a702319b948c0ce73729bf38e6a GIT binary patch literal 493 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10eVS9 zK~z|U?Up@D13?gmpV`Dg#n4aAG5JP~01-J!* zzX-D~+*NfCcomU_-?T2iz-JhS70>g|RrMux01-K>*XwW9YBe;*R8j}9)|Oj_yJ-VF z1VK=b2en%59=J*kKt#%#*xN;<+)WStSp}DIqN>NqqA}(qilS{mf$JZ$Rn^Hwbtx0) zzVGk&zQ5H;=VTv{gVlNLs0UmCSZjAh?nF(I!9;1UKEJ!hWH*13~v_kTuh~ zcJ$n4c(^i)&D;S3Zkth-C|dt<*JetwxoZGW*^tf6riYv^=YZ8#iR*Se!_?DvL;A=q z0uyNhfYo9%SBlB9%bzfg5E+>yYK&p@k;F^8S%&SAgGK?tOPZ$z0IDT~@lK_50AQ|L jVPFrXLx3T`{{i>{%a_68W+?Z)00000NkvXXu0mjfBlp+G literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/lm_void.png b/src/bonsai/bonsai/bim/data/icons/lm_void.png new file mode 100644 index 0000000000000000000000000000000000000000..68016af132fd3031958ad61262ab18d0979e415b GIT binary patch literal 829 zcmV-D1H$}?P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10?J85 zK~z|U?UzkRRACf`pL5MI%Oa>v;HoeUtugQD2nMYr5?r=X{KIt0tg&1ssI3a5{7FJX zw1O7muAoJkyTWGfB#C7%l9I|c5s|4m&S@p6IpfSY*2c5^?)lF9aKG=q=Uh=${%05) z*=%oNr@e)p{~SO-9BrJAw=ouPV>UBROP+`c+qYzly* zmHlGSq;Q7dZ%z>gj0NgnUS=vL0FG|rnWF}{3hWMx7G?xml6G@#sGPZ|0n82xMY#za z3{!Yjb*3ahgU8LihyWb7NYh1bh;S+@;lE=@l{(AK>vaLl4$4Kj18j?t_)_>)sIo55 zw|sHMWs-`K6yGb)AW9MNA%^0g70wsi8SEM+B`5#{ju0@$tr2hf^zl^x@RE0=@Tk^SkyrYKhYfkjF6;A2PtK zc2ZlO$@k?C*7O1Gal8Wxq{3H-YV;!+OsUY|$_YM_g}ejWoArEU2TvG1q25kk7uafqt zf!md{Nk1klHVHzhuNZ^GZdVq-uc}-g5c$*;9Y8GOzZ=mXj+On8EP!ap00000NkvXX Hu0mjfH&k%O literal 0 HcmV?d00001 diff --git a/src/bonsai/bonsai/bim/data/icons/merge.png b/src/bonsai/bonsai/bim/data/icons/merge.png deleted file mode 100644 index 93adf4dc7dcd5b7fa408c7a4e35eda72d6616ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3467 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 diff --git a/src/bonsai/bonsai/bim/data/icons/mitre.png b/src/bonsai/bonsai/bim/data/icons/mitre.png deleted file mode 100644 index 3b1ecbfbf58b56da59b916c56702ee403d9b7bb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 863 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`i` z64!_lx6GVW2K~_D)S_bjlFVHFqSS)?VtvoFWdDNHyx@$~oE-h)qGbJ~oYcIO)S@Jy z3IsDgGdVx6SPv|4<51)ppqUaNGhGr(QW=a4j7;C>X-j;u63uz~yM_ zz`^pBp;Xz0F+knPgrQW?g*AZPse~a^*@ZJe)oBYusG*`>Oz>{Tl)78&qol`;+03>P%F8}}l diff --git a/src/bonsai/bonsai/bim/data/icons/perform_quantity_take-off.png b/src/bonsai/bonsai/bim/data/icons/perform_quantity_take-off.png deleted file mode 100644 index 1f0e258bb224a21f15c64eaa8e0ba98b441d4514..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3055 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 Bcsc+8 diff --git a/src/bonsai/bonsai/bim/data/icons/regen.png b/src/bonsai/bonsai/bim/data/icons/regen.png deleted file mode 100644 index 6b29ea3e51a73cbfb2fcfb8a31d28a82c304b062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3426 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 KM7_Ri{J#N;OfJs= diff --git a/src/bonsai/bonsai/bim/data/icons/rotate_90.png b/src/bonsai/bonsai/bim/data/icons/rotate_90.png deleted file mode 100644 index 5733b85f839bb8a8a30af356ac67fbc9ba3f33c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3155 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 LU8z-erxO1Ly+cHN diff --git a/src/bonsai/bonsai/bim/data/icons/unassign.png b/src/bonsai/bonsai/bim/data/icons/unassign.png deleted file mode 100644 index 0359ca3824278258eaddbd509b89d9660e624a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3017 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 Js4#Jl{}052I|u*( diff --git a/src/bonsai/bonsai/bim/data/icons/unjoin_walls.png b/src/bonsai/bonsai/bim/data/icons/unjoin_walls.png deleted file mode 100644 index 16f3272c8f7664a2e03b7d808e1e3e0f78981934..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1434 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=W~mXLX}-P;T0pi05PJYIBb;Vp zlwx3oif}MW!`T8rF@^~h@Am*H&U`nwVh|q;ZfR{h2V`&-ctipPxrIQO@zUM8KR`jd z64!_lx6GVW2K~_D)S_bjlFVFvr<~Nhl++?8PhWkf{Ji4COx?_6Ag!MS5l_m@jRy

zn0%@jI}Io-3=$3kyB=YUo}pQQ|0z=j2IixlE{-7;jBjUc%ocH!IBGjlK}g5N#fhW6 zbwx)@x{_dseriS#G)Be)ezb z%8YqC4PFWT|GkQnr(_Bf&zDcm`$`;MHZX=SxWmMp*RY8r>NeBv2-}H_1F4??N`q1m5vZhnEP`di}zHo)YjKJ0eYoC z0nuffCxi=zoM~LYHtdvr7)u4ezo>(Fx5<-^D~XN_qWdKk#J3zOZYp}^Eh@&c;_wI7 zC5Nlyjs~3b5Oo!ISR#HPX@+W(&SdXco^HJZ{2u36y5b|+(^Y~*4=>_Y=sx|b@M9~V zWy;~e6vi(nX0zRYeB)scTkS2jcONCpP0Zp`7(@PuDRsrqIAhbvD}Hzp*MqM6&kb&O zoY!jeSN;^c^phRWTEo*)9QKdC)XewOsI#-QY^hJIa(bk8<7w%Nin`CYJf~NwuKXVV z-LTNIz?{Q6uxX8hAJfmmPnX}y)<{%s{l6~kF8{mDz5M(KT^GE!VfgM45fPNTao%d? zJ%88ky=SPPKk;0n)(+-B5A1kd0t`d`Yt2v!|IDspa_E#g&)L1%GbCdeCwDwtBRA)Y zjl5mc_64sW7p>z6Yjf8DFV@33j?ybPJeI zZ0$c#n&o)=^ZZ-`r+tkKx$pT3u6z&8KD2Qe-`<=T-LCwi4%<_YXPy>(-ykp0zgm5{ zM2S4l&*uLoQUC1|dbY8OvpiqN8hkKYSi$1J*2vo2nX41lpJrX}cQN6dQ}ky${+)AU zeaiTg)gB#-6m_WKYf3IWGUfZXf0DBT{d=#4>vAh($A9zKcEaV)O}{*$71vzbQW;$` zWZncTtMyH=7rA`hD_Z=3=;8eqk9yXsg#P)$Br1K4^}?S}p06D|?o(ZIJ{C8x<_D5_{?X3+kyz)~a;zi1DZiN}$ORnWEx zb>DQs^?M&y_J@>wnaq$>A@=3S%H;aiMZOPJ}uy~N?! zB&pqrFBy`#r~NGPW>3*uxlwu=AF|}b1J(}5AF3vIPkUN2y`K4a>QcLgWBs#$`JM8j OlEKr}&t;ucLK6Tc$SGm~ diff --git a/src/bonsai/bonsai/bim/data/icons/void.png b/src/bonsai/bonsai/bim/data/icons/void.png deleted file mode 100644 index 366fa9eb9d2deb71ce7c69b43b6e7bbe53a738d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2401 zcmbuB`9IYA7so%Q8OAc136o{Iw%o*Jrb(7jmN7(@!uW=4gTcr$4I0;QZKFt8`bt;I z5{YX|A<8xeQ$nO~wz0?LW-O^F+Z}zsk9+@s@B8sS=XKuCa~|h?etW-D&e@%YiOGur z006VHBsd7vWY3_&0{;i)(u6>C$<9`OwzhzVAeI%FrND&#R*;Z90Qnz*3Mu>@!vze; zh+J+Gh-j#VMcCf?#~RhB?-K-~R7)2D6hE+MLT|=@+Y&&_aC7Hy3rY|fKs$wzX<_Ja zN-&y6riO;0t^9n>Qpq8X0py?{bQsMC?Hxo8@g>u|1r`5NP6n_TtPUEZkH+XKVKKO47#v1#8UATfPy^qqAyR_L07gIs+W>d$xZi|<+TNf) zW}=Y}hEaN15^*lnbL^I(o1iU$cKv2OG2*kHGY;1(J*_-Y& zi(|$rwl>zkU^|w3ZMHP@WCX>T<^*5yTjm60CMLxk=|U*xHTL$8H$S2CmhLq!)o-@5 zqq)cZ`!)@i8GSi9W0i}d!`VecQPeT372T5wic>w0bJ&WHwaOwi=f)Dleb`K)OeomYyP(#NYthDPaLm(DsEaUqr;t22bDCry{md{chkkz z8*YT#3=10~@b(Al2#~gKMztXt6>&9Q8%Ice(g#VWen(2)EPabRfKdAIW#FxUo~DVX zC40$n!OB_W1a!4wI9FQDWU9f@1;U*62+Eyt^E_R6?-2~K)X`Y*02_=1c$@YM5|L6} zCJxhfPBlHX4WN?Fl=>2L76{yIl$TotW;fSSZm5*G?yJj>tDeT<)op@OwM?cqlma~@ zWH7R$|IR@&ShWo@Pf3+xaQ%>m*C2L`bQX@=Nd6`4Ttz(WToT;kw8tw=pwBS&EOXrp zbaH|EP_(9p@}`!0;#Xx)SArP)^LMy*$WDKI*?#g<3SW7c>);w5$~wfm#MsuN-uYNM z|N8^U@&)2SiUCqiD0>Ek&f8b@XLn&y&TKql3j6FPv^14gkOIsO`Q{Dfmw1_d@n?Tb zBt~BGIUjkAMOA~#Klk6}DfxeYH-Hv-`RAr=pDp&K9Y1?yD61TFAP)f!d#o>{n2>5m%iiQ(J9H}dg9}%|GLU7nI<2l_%-Y#>|NU-^^Wi@?I333+d4^(0+stB%w$K- z&ul=_-wJACi1nMDxH_A>5}1LEK#ffuWYtCjl_N1?ix76qiL}Y~)t$xjZKMsL>AXsI zF`)b6yG7i`E2ok%nYHRgBIO2`Bm7)t-`IyeZeB9^liQqiQG)*37UZwU`&QFGPvwoG ztX<<)giAVusE~SP%T(dJxVD;8n-H$B?U8XkhxrS_9QRJxT;w5Vj2-aTc7jmG)$bOl>-qZ8BS~buEHI# z8iUSh{**JXXFLoq8Zc1L%Bm{e@tSzlIpZoPV;Xvx-0|=9oesK8Q1?x zNlODUbCQ>hhin+N5|LLJYI-_Dp-rc3EsAxT_*pLI488mw&&)Onn*X!mG`tYhYFwy z#{#QnG+0jD(c*hg?NiL-ZY3d$JIVK1XyZYa)0}KF!MkCblT~vnT^VT)Ug8H zaj5d*Hb!f{X1VocccI$g>KMFg=6VTHYgIZqFgOFL@U8c1Ma)!WW-u;qyZ@6+bKbKx z-GUDk%vh@aW^vNsdudtWNenDdF+PzuqQf3ns8cXY_Q*&vF-qsS8y=q6i3JR#jaRUB V@FBrt{r~@X04sAlLKWUC;V*4>6Bz&i diff --git a/src/bonsai/bonsai/bim/module/model/__init__.py b/src/bonsai/bonsai/bim/module/model/__init__.py index ca91b7aacc..a5e4566c81 100644 --- a/src/bonsai/bonsai/bim/module/model/__init__.py +++ b/src/bonsai/bonsai/bim/module/model/__init__.py @@ -231,6 +231,7 @@ def unregister(): bpy.utils.unregister_tool(workspace.CableCarrierTool) bpy.utils.unregister_tool(workspace.CableTool) bpy.utils.unregister_tool(workspace.BimTool) + del bpy.types.Scene.BIMModelProperties del bpy.types.Object.BIMArrayProperties del bpy.types.Object.BIMStairProperties @@ -239,7 +240,9 @@ def unregister(): del bpy.types.Object.BIMDoorProperties del bpy.types.Object.BIMRailingProperties del bpy.types.Object.BIMRoofProperties + bpy.app.handlers.load_post.remove(handler.load_post) bpy.types.VIEW3D_MT_mesh_add.remove(ui.add_mesh_object_menu) bpy.types.VIEW3D_MT_add.remove(ui.add_menu) + workspace.unload_custom_icons() \ No newline at end of file diff --git a/src/bonsai/bonsai/bim/module/model/workspace.py b/src/bonsai/bonsai/bim/module/model/workspace.py index 4f97d07f89..b74141b62c 100644 --- a/src/bonsai/bonsai/bim/module/model/workspace.py +++ b/src/bonsai/bonsai/bim/module/model/workspace.py @@ -29,16 +29,36 @@ from bonsai.bim.module.model.data import AuthoringData from bonsai.bim.module.system.data import PortData from bonsai.bim.module.model.prop import get_ifc_class -custom_icon_previews = None + +def check_display_mode(): + global display_mode + try: + theme = bpy.context.preferences.themes['Default'] + text_color = theme.user_interface.wcol_menu_item.text + background_color = theme.user_interface.wcol_menu_item.outline + print(f"text_color = {text_color}") + print(f"background_color = {background_color}") + if sum(text_color) < 2.6: + display_mode = "lm" + else: + display_mode = "dm" + except: + display_mode = "dm" def load_custom_icons(): global custom_icon_previews + if display_mode is None: + check_display_mode() + icons_dir = os.path.join(os.path.dirname(__file__), "..", "..", "data", "icons") custom_icon_previews = bpy.utils.previews.new() + + prefix = f"{display_mode}_" + for entry in os.scandir(icons_dir): - if entry.name.endswith(".png"): - name = os.path.splitext(entry.name)[0] + if entry.name.endswith(".png") and entry.name.startswith(prefix): + name = os.path.splitext(entry.name)[0].replace(prefix, "", 1) custom_icon_previews.load(name.upper(), entry.path, "IMAGE") @@ -240,13 +260,6 @@ class CableTool(BimTool): BimToolUI.draw(context, layout, ifc_element_type=cls.ifc_element_type) -MODIFIERS = { - "A": ("EVENT_ALT", "OPTION" if sys.platform == "Darwin" else "ALT"), - "C": ("EVENT_CTRL", "CTRL"), - "S": ("EVENT_SHIFT", "⇧"), -} - - def add_layout_hotkey_operator(layout, text, hotkey, description, ui_context=""): modifier, key = hotkey.split("_") @@ -816,7 +829,7 @@ class BimToolUI: row = cls.layout.row(align=True) if AuthoringData.data["relating_type_id"]: prop_with_search(row, cls.props, "relating_type_id", text="") - row.operator("bim.add_constr_type_instance", text=text, icon_value=custom_icon_previews["ADD"].icon_id) + row.operator("bim.add_constr_type_instance", text=text, icon_value=custom_icon_previews[f"ADD"].icon_id) else: row.label(text="No Construction Type", icon="FILE_3D") @@ -1168,6 +1181,13 @@ class Hotkey(bpy.types.Operator, tool.Ifc.Operator): else: bpy.ops.bim.show_openings() +custom_icon_previews = None +display_mode = None LIST_OF_TOOLS = [cls.bl_idname for cls in (BimTool.__subclasses__() + [BimTool])] TOOLS_TO_CLASSES_MAP = {cls.bl_idname: cls.ifc_element_type for cls in BimTool.__subclasses__()} +MODIFIERS = { + "A": ("EVENT_ALT", "OPTION" if sys.platform == "Darwin" else "ALT"), + "C": ("EVENT_CTRL", "CTRL"), + "S": ("EVENT_SHIFT", "⇧"), +} \ No newline at end of file diff --git a/src/bonsai/scripts/bonsai_icons.svg b/src/bonsai/scripts/bonsai_icons.svg new file mode 100644 index 0000000000..75f412a65b --- /dev/null +++ b/src/bonsai/scripts/bonsai_icons.svg @@ -0,0 +1,1122 @@ + + + + diff --git a/src/bonsai/scripts/generate_png_icons.py b/src/bonsai/scripts/generate_png_icons.py new file mode 100644 index 0000000000..e2b268ac79 --- /dev/null +++ b/src/bonsai/scripts/generate_png_icons.py @@ -0,0 +1,108 @@ +# the SVG_FILE should be the file that contains all the icons (each icon should be in a unique layer group, and colored for dark mode) +# the EXPORT_FOLDER is where the png files get exported to +# the script will export dark mode version and modify colors for a light mode verion +# requires inkscape to run +# to run on mac: python3 generate_png_icons.py + +import os +import subprocess +import xml.etree.ElementTree as ET +import re + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +SVG_FILE = os.path.join(SCRIPT_DIR, 'bonsai_icons.svg') +EXPORT_FOLDER = os.path.join(SCRIPT_DIR, '..', 'bonsai', 'bim', 'data', 'icons') + +overwrite_all = False +skip_all = False + +def dark_to_light(svg_content): + svg_content = re.sub(r'#ffffff', '#434343', svg_content, flags=re.IGNORECASE) # white to drak grey + + svg_content = re.sub(r'#00d27b', '#009d5c', svg_content, flags=re.IGNORECASE) # make green darker + svg_content = re.sub(r'#009a5f', '#00663f', svg_content, flags=re.IGNORECASE) # make dark green darker + svg_content = re.sub(r'#75ffaf', '#3dff8f', svg_content, flags=re.IGNORECASE) # make light green darker + + svg_content = re.sub(r'#cce3ff', '#3391ff', svg_content, flags=re.IGNORECASE) # make blue darker + svg_content = re.sub(r'#4c9fff', '#005fcc', svg_content, flags=re.IGNORECASE) # make dark blue darker + svg_content = re.sub(r'#c9e0ff', '#80b8ff', svg_content, flags=re.IGNORECASE) # make light blue darker + + return svg_content + +def prompt_overwrite(file_path, png_name): + global overwrite_all, skip_all + + if skip_all and os.path.exists(file_path): + return 'n' + + if overwrite_all: + return 'y' + + if os.path.exists(file_path): + while True: + response = input(f"File '{png_name}' already exists.\nOverwrite? (Enter = yes, s = skip, y = yes all, n = no all): ").strip().lower() + if response in {'', 'y', 'n', 's'}: + if response == 'y': + overwrite_all = True + elif response == 'n': + skip_all = True + return response + else: + print("Invalid option. Please enter Enter, y, n, or s.") + return '' + +def export_svg_group(group_content, group_label, mode, output_folder): + temp_svg_file = os.path.join(output_folder, f'{group_label}_{mode}.svg') + svg_content = f""" + {group_content} + """ + + with open(temp_svg_file, 'w') as file: + file.write(svg_content) + + png_name = f'{mode}_{group_label}.png' + output_png_file = os.path.join(output_folder, png_name) + + user_choice = prompt_overwrite(output_png_file, png_name) + + if user_choice in {'y', ''}: + subprocess.run(['inkscape', temp_svg_file, '--export-type=png', '--export-filename=' + output_png_file]) + print(f'\033[32mExported PNG file: {output_png_file}\033[0m') + + + elif user_choice == 'n': + print(f"Skipping {png_name}") + + elif user_choice == 's': + print(f'Skipped exporting {output_png_file}.') + + os.remove(temp_svg_file) + + + +def export_svg_groups_to_png(svg_file, output_folder): + tree = ET.parse(svg_file) + root = tree.getroot() + ns = {'svg': 'http://www.w3.org/2000/svg'} + + for group in root.findall('.//svg:g', ns): + group_label = group.get('{http://www.inkscape.org/namespaces/inkscape}label') + if not group_label: + continue + + style = group.get('style', '') + if 'display:none' in style: + style = style.replace('display:none', 'display:inline') + elif 'display' not in style: + style += ';display:inline' + group.set('style', style) + + group_content = ET.tostring(group, encoding='unicode', method='xml') + export_svg_group(group_content, group_label, 'dm', output_folder) + light_mode_svg = dark_to_light(group_content) + export_svg_group(light_mode_svg, group_label, 'lm', output_folder) + +if __name__ == "__main__": + os.makedirs(EXPORT_FOLDER, exist_ok=True) + export_svg_groups_to_png(SVG_FILE, EXPORT_FOLDER)