import streamlit as st import streamlit.components.v1 as components from pathlib import Path import base64 from data_loader import get_all_sections import random import re ALL_CARDS = [ ("Composites", "Material class", "material", "Composites"), ("Polymers", "Material class", "material", "Polymers"), ("Fibers", "Material class", "material", "Fibers"), ] sections = get_all_sections() for section in sections: ALL_CARDS.append((section, "Property type", "section", section)) if "visible_cards" not in st.session_state: random.shuffle(ALL_CARDS) st.session_state.visible_cards = ALL_CARDS[:4] VISIBLE_CARDS = st.session_state.visible_cards prop_count = len([c for c in ALL_CARDS if c[2] == "section"]) def get_card_icon(title: str, card_type: str) -> str: if card_type == "material": icons = {"composites": "๐งฑ", "polymers": "๐ฌ", "fibers": "๐งต"} return icons.get(title.lower(), "๐งฑ") t = title.lower() if "mechanical" in t: return "โ๏ธ" if "thermal" in t: return "๐ฅ" if "electrical" in t: return "โก" if "physical" in t: return "โ๏ธ" if "processing" in t: return "๐ง" if "optical" in t: return "๐ญ" if "chemical" in t: return "๐งช" if "flammab" in t: return "๐ด" if "component" in t: return "๐งฉ" if "descriptive" in t: return "๐" return "๐" def img_to_b64(path): try: ext = Path(path).suffix.lower().replace(".", "") mime = "png" if ext == "png" else "jpeg" with open(path, "rb") as f: data = base64.b64encode(f.read()).decode() return f"data:image/{mime};base64,{data}" except Exception: return "" home_img = img_to_b64("images/Home.png") logo_img = img_to_b64("logo.png") st.markdown(""" """, unsafe_allow_html=True ) # Global style overrides st.markdown(""" """, unsafe_allow_html=True) # Helper def go_categorized(material=None, search=None): if material: st.session_state.material_type = material if search: st.session_state.search_term = search st.switch_page("page_files/Categorized_Search.py") def go_upload(): st.switch_page("page_files/Upload_Data.py") # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ # 1. ANIMATION SECTION (pure HTML, no clickables needed) # โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ about_img_html = ( f"
Open the pages you need most.
#Access a centralized, open-source database for experimental composite material properties. Polymer, fiber, and composite datasets โ all in one place.
Artificially Intelligent Manufacturing Paradigm (AIM) for Composites
The AIM Database tool serves as a powerful, centralized hub designed to streamline collaboration and information exchange within the composite materials research community. The platform enables researchers to contribute to a shared knowledge base by uploading experimental datasets through secure terminals.
Users can submit specific measurements regarding mechanical properties, thermal behavior, and rheology, alongside their published journal papers , ensuring that both raw data and peer-reviewed findings are integrated into one cohesive system.
All contributed information is securely aggregated within a central cloud architecture, allowing for efficient storage, organization, and retrieval across polymer, fiber, and composite categories.