■ 재질/물성치(Material) 정보
FreeCAD에서 재질/물성치(Material) 정보를 관리할 때 사용하는 파일은 확장자가 .FCMat인 텍스트 기반 카드 파일입니다.
내부 구조가 단순한 Key-Value 형태(키-값 쌍)로 되어 있어서, GUI 도구를 사용하는 방법과 텍스트 에디터/스클립트로 직접 수정하는 방법 두 가지 모두 자주 쓰입니다.

▶ 재질/물성치(Material) 파일에 저장가능 한 정보
물성치(Material) 파일이라면 일반적으로 다음과 같은 항목들을 입력할 수 있습니다.
| 분류 | 입력 가능한 요소 |
| 기본 정보 | Material Name, ID, Description, Category, Grade |
| 물리적 특성 | Density(밀도), Mass Density, Specific Gravity |
| 기계적 특성 | Young's Modulus(E), Shear Modulus(G), Bulk Modulus(K), Poisson Ratio(ν) |
| 강도 | Yield Strength, Tensile Strength, Compressive Strength, Shear Strength, Fatigue Strength |
| 열 특성 | Thermal Conductivity, Specific Heat, Thermal Expansion Coefficient, Melting Point |
| 전기적 특성 | Electrical Conductivity, Resistivity, Dielectric Constant |
| 광학 특성 | Refractive Index, Transparency, Reflectivity |
| 동적 특성 | Damping Ratio, Hardness, Fracture Toughness |
| 제조 정보 | Supplier, Standard(ASTM, ISO, KS, JIS), Material Code |
| 사용자 정의 | 사용자 정의 Parameter(Key-Value) |
▶ FreeCAD 재질/물성치(Material) 관리
1. GUI(재질 에디터)를 통한 생성 및 편집
GUI 환경에서 직관적으로 물성치를 편집하거나 새 재질 카드를 저장할 수 있습니다.
- Material Editor 열기
- 상단 메뉴에서 Tools(도구) > Edit material... (재질 편집...)을 선택합니다.
- 또는 FEM Workbench로 이동한 뒤, Material solid 버튼을 클릭하고 창 내부의 ... (재질 에디터) 버튼을 누릅니다.
- 기존 재질 불러오기
- 상단 Material card 드롭다운 목록에서 기본 제공되는 재질(예: Steel, Aluminum 등)을 선택해 기존 물성 값을 로드합니다.
- 물성치(Parameters) 수정
- General: 재질 이름(Name), 설명(Description) 등
- Mechanical: 밀도(Density), 영률/유연성 계수(YoungsModulus), 푸아송 비(PoissonRatio) 등
- Thermal: 열전도율(ThermalConductivity), 비열(SpecificHeat) 등
- 새 파일로 저장
- 상단의 Save as... 버튼을 눌러 사용자 지정 디렉토리에 .FCMat 확장자로 저장합니다.
2. 텍스트 에디터로 직접 파일 관리하기 (.FCMat 파일)
FreeCAD의 .FCMat 파일 구조는 매우 간단하므로 VS Code나 메모장 같은 텍스트 에디터에서 직접 수정하는 것이 종종 더 빠릅니다.
.FCMat 파일 예시 구조
| [FCMat] Name = Custom Steel Description = High strength alloy steel for structural analysis Father = Steel Density = 7850 kg/m^3 YoungsModulus = 210000 MPa PoissonRatio = 0.30 ThermalConductivity = 45 W/m/K SpecificHeat = 460 J/kg/K YieldStrength = 355 MPa |
단위 작성 팁: 값 뒤에 kg/m^3, MPa, W/m/K처럼 FreeCAD의 단위계를 함께 적어두면, 모델의 해석 단위계(SI, MM 등)가 변경되어도 내부적으로 자동 변환됩니다.
Material
.
wiki.freecad.org
3. 커스텀 물성치 파일 경로 등록
생성한 .FCMat 파일을 FreeCAD가 자동으로 인식하도록 하려면 사용자 재질 디렉토리에 배치해야 합니다.
- 기본 사용자 재질 경로:
- Windows: %APPDATA%\FreeCAD\Material\
- Linux: ~/.local/share/FreeCAD/Material/ 또는 ~/.FreeCAD/Material/
- macOS: ~/Library/Application Support/FreeCAD/Material/
해당 폴더에 .FCMat 파일을 넣으면 재질 목록 드롭다운에 작성한 재질이 바로 노출됩니다.
4. Python 스크립트로 물성치 제어 (자동화)
Macro나 Python 콘솔에서 직접 재질 카드를 읽거나 오브젝트에 할당할 수 있습니다.
import FreeCAD as App
import ObjectsFem
# 1. 문서에 FEM Material 객체 추가
doc = App.activeDocument()
material_obj = ObjectsFem.makeMaterialSolid(doc, "MyCustomMaterial")
# 2. 내장 또는 외부 .FCMat 파일 경로 지정 및 로드
# App.getResourceDir() + 'Mod/Material/StandardMaterial/Steel-Generic.FCMat'
material_path = "C:/Users/YourName/AppData/Roaming/FreeCAD/Material/CustomSteel.FCMat"
material_obj.Material = App.Material.Material(material_path)
doc.recompute()
▶.FCMat에서 실제로 사용할 수 있는 모든 키(Key)
FreeCAD의 Material 시스템은 재질 카드(Material Card) 형태로 관리되며, 사용 가능한 속성은 크게 다음과 같이 구분됩니다.
1. General (기본 정보)
Name
Description
Father
Source
Author
Supplier
ProductURL
ProductName
Comment
Category
SubCategory
Standard
Grade
Version
UUID
예시
Name = SUS304
Description = Stainless Steel
Standard = ASTM A240
Grade = 304
Supplier = POSCO
2. Physical (물리 특성)
Density
MassDensity
SpecificGravity
Porosity
예시
Density = 7850 kg/m^3
3. Mechanical (기계적 특성)
가장 많이 사용하는 항목입니다.
YoungsModulus
ShearModulus
BulkModulus
PoissonRatio
YieldStrength
UltimateTensileStrength
UltimateCompressiveStrength
UltimateShearStrength
ElasticLimit
FatigueStrength
FractureToughness
Hardness
BrinellHardness
RockwellHardness
VickersHardness
예시
YoungsModulus = 210 GPa
PoissonRatio = 0.3
YieldStrength = 355 MPa
UltimateTensileStrength = 490 MPa
4. Thermal (열 특성)
ThermalConductivity
SpecificHeat
ThermalExpansionCoefficient
MeltingPoint
MaximumServiceTemperature
MinimumServiceTemperature
예시
ThermalConductivity = 45 W/m/K
SpecificHeat = 460 J/kg/K
ThermalExpansionCoefficient = 12e-6 1/K
5. Electrical (전기 특성)
ElectricalConductivity
ElectricalResistivity
RelativePermittivity
DielectricStrength
6. Magnetic (자기 특성)
RelativePermeability
MagneticSusceptibility
Coercivity
Remanence
7. Optical (광학 특성)
Transparency
Opacity
RefractiveIndex
Reflectivity
Color
8. Chemical (화학 특성)
CorrosionResistance
ChemicalResistance
OxidationResistance
9. Manufacturing (제조 정보)
Machinability
Weldability
Castability
Forgeability
Formability
Printability
10. Cost (비용)
CostPerKg
CostPerVolume
Currency
11. Environmental
Recyclable
CarbonFootprint
RoHS
REACH
12. Appearance
DiffuseColor
AmbientColor
SpecularColor
Shininess
Transparency
13. User Defined
FreeCAD는 사용자 정의 Key도 허용합니다.
Company = ABC
MaterialCode = ST001
Revision = A
DatabaseID = 1456
ERPCode = MTL-001
모든 Key가 FreeCAD에서 실제로 사용되는 것은 아닙니다.
.FCMat는 자유로운 Key-Value 형식이므로 어떤 키든 저장할 수 있지만, FreeCAD 및 FEM 워크벤치가 실제 해석이나 표시에 사용하는 것은 주로 다음과 같습니다.
- Density
- YoungsModulus
- PoissonRatio
- ThermalConductivity
- SpecificHeat
- ThermalExpansionCoefficient
나머지 키는 메타데이터로 저장하거나, 사용자 매크로·외부 프로그램에서 활용하는 경우가 많습니다.
FreeCAD의 Material 시스템(2025~2026, FreeCAD 1.0 계열)은 단순히 .FCMat 파일만 있는 것이 아니라 MaterialX 기반의 Material Card Database와 Material Dictionary를 기반으로 구성됩니다. 다음과 같은 폴더 구조를 가집니다.
Material/
│
├── StandardMaterial/
│ Steel-Generic.FCMat
│ Aluminum-6061.FCMat
│ Copper.FCMat
│ ...
│
├── cards/
│ *.FCMat
│
├── icons/
│
└── material_standard_model.json
.FCMat는 자유롭게 작성할 수 있지만, Material Dictionary에서 정의된 Key를 사용하면 FreeCAD와 FEM Workbench가 가장 잘 인식합니다.
CAD/ 데이터베이스 연계를 고려한 권장 스키마
FreeCAD 기본 키 외에 다음과 같은 확장 키를 추가하는 것이 실용적입니다.
| 그룹 | 권장 키 |
| 식별 | MaterialID, MaterialCode, Revision, UUID |
| 규격 | Standard, Specification, Grade, CountryStandard |
| 공급망 | Manufacturer, Supplier, VendorCode |
| ERP/PLM | ERPCode, SAPCode, PLMObjectID, WindchillOID |
| 품질 | Certificate, LotNumber, InspectionDate |
| 추적성 | CreatedBy, CreatedDate, ModifiedBy, ModifiedDate |

"설계자가 만든 3D 모델 확장 개념 - 데이터베이스 관점"
3D 모델은 다양한정보가 모여 있는 파일 입니다. "파일 자체가 하나의 데이터베이스 레코드(Row)"라는 것입니다.
예를 들면 하나의 Part 파일은 다음과 같은 정보를 모두 포함할 수 있습니다
Part
│
├── Geometry (B-Rep)
├── Feature History
├── Sketch
├── Parameters
├── Material
├── Appearance
├── Drawing Link
├── Thumbnail
├── BOM 정보
├── Part Number
├── Part Name
├── Revision
├── Create Time
├── Modify Time
├── Version
├── Keywords
├── Weight
├── Volume
├── Center of Mass
├── Bounding Box
└── User Properties
이러한 정보는 PDM, PLM 시스템에 체크인 하면, 시스템이 파일과 함께 메타 정보를 데이타 베이스 테이블로 저장 합니다.
여기서 한 단계 더 발전시키면 형상 특징(Shape Signature)을 저장할 수 있습니다.
예를 들면
Bounding Box
Volume
Surface Area
Hole Count
Cylinder Count
Face Count
Edge Count
또는
Shape Hash
를 저장하면 "비슷한 형상 찾기" 도 가능합니다. 이 기능은 Siemens NX, CATIA, SOLIDWORKS PDM 등에서도 활용되는 방식입니다.
기준 데이터(Master Data)"와 "인스턴스 데이터(Reference Data)"를 구분
1. 재질 파일(.FCMat)은 기준 데이터(Master Data)
예를 들어 Steel_S45C.FCMat가 다음과 같이 정의되어 있다고 가정해 보겠습니다.
아래 파일 자체가 기준 데이터(Master Data) 입니다.
Name = S45C
Density = 7850 kg/m^3
YoungsModulus = 206 GPa
PoissonRatio = 0.30
YieldStrength = 355 MPa
ERPCode = MAT000123
Supplier = POSCO
Revision = A
2. 3D Part는 재질을 참조
예를 들어 "Gear.FCStd" 라는 Part가 "Steel_S45C.FCMat" 파일이 지정 되어 있다면 아래와 같은 구조를 가집니다.즉, Geometry 데이터와 Material 데이터가 분리됩니다.
Gear
├── Geometry
├── Parameters
└── Material
↓
Steel_S45C.FCMat
Part가 가지는 것은 "참조" 입니다. 이 구조에서는 "Gear" 3d 모델 파일에 "Material = Steel_S45C.FCMat" 만 저장 됩니다. 만일 밀도(Density)가 필요할 때, "Steel_S45C.FCMat"에서 가져옵니다.
Part
↓
Material ID
↓
Material Database
↓
Density
3.확장 Key를 사용 했을때
아래의 내용도 " Material " 파일에 저장 됩니다.
ERPCode = MAT001
SAPCode = A1004
Supplier = POSCO
Supplier의 값을 가져올수 있습니다.
■ ERP의 자재마스터(Material Master)
ERP의 자재마스터(Material Master)는 기업에서 구매, 생산, 재고, 판매, 회계 등 전사적 물류·경영 활동에 사용하는 모든 품목(자재, 부품, 반제품, 완제품)의 고유 정보(기준 정보, Master Data)를 통합 관리하는 최상위 데이터베이스입니다.
재질 파일(.FCMat)'과 'ERP 자재마스터'는 아래와 같은 연결관계를 가질수 있습니다.
1. ERP 자재마스터란?
ERP 시스템(SAP, Oracle, 영림원 등)에서 부품/제품을 식별하고 수량·비용·공급망을 관리하기 위한 '품목 카드'입니다.
- 핵심 관리 항목:
- 식별 정보: 자재 코드(MaterialID / 품번), 자재명, 규격
- 구매/공급 정보: 단가, 거래처(POSCO 등), 리드타임
- 물류/재고 정보: 기본 단위(kg, ea), 재고 위치, 안전 재고
- 회계 정보: 계정과목, 표준 원가
2. 재질 파일(.FCMat)과 ERP 자재마스터의 차이
두 데이터는 목적과 포함하는 데이터에서 명확한 역할 분담이 일어납니다.
| 구분 | CAD 재질 파일 (.FCMat) |
ERP 자재마스터 (Material Master)
|
| 주요 목적 | 공학적 해석 및 3D 형상 표현 (CAE, CAD) |
비용, 재고, 구매, 생산 관리 (Business)
|
| 핵심 데이터 | 밀도(Density), 영률(Young’s Modulus), 항복강도, 열전도율, 색상 등 |
ERP 품번, 단가, 구매처, 리드타임, 수량, 회계 계정 등
|
| 주요 사용자 | 설계자, 해석 엔지니어 |
구매팀, 생산관리팀, 재무/회계팀
|
3. 둘 사이의 연관성 (CAD / PDM / ERP 연동 방식)
실무 설계 및 PDM/PLM 환경에서는 두 시스템의 데이터를 MaterialID (또는 ERP 자재 코드)라는 매개체를 통해 연결합니다.
[ FreeCAD / CAD 환경 ] [ ERP 시스템 ]
Gear.FCStd (Part)
└── MaterialID: MAT000123
│
▼
Steel_S45C.FCMat (CAD 기준 데이터) ERP Material Master (ERP 기준 데이터)
├── 밀도 (7850 kg/m³) ├── 품번: MAT000123
├── 영률 (206 GPa) ├── 자재명: 원자재_강철_S45C
└── ERPCode: MAT000123 ─────────────────► ├── 공급사: POSCO
└── 단가 / 재고 수량
1. 상호 참조(Mapping):
- CAD의 재질 파일(.FCMat) 속성에 ERPCode = MAT000123 또는 MaterialID 필드를 정의해 둡니다.
- Part에서 이 .FCMat를 지정하면, 추후 BOM(부품명세서)을 추출할 때 CAD 모델이 ERP의 해당 자재 코드를 자동으로 가리키게 됩니다.
2. BOM 자동화 (PLM/ERP Interface):
- 설계자가 CAD에서 형상 작업을 마치고 BOM을 생성/전송(Push)하면, PDM/PLM 시스템이 파트에 매핑된 MaterialID를 읽어 ERP 자재마스터와 대조합니다.
- 이를 통해 구매팀은 설계자가 사용한 재질의 구매 단가, POSCO 수급 상태, 필요 수량(중량 기반 계산)을 ERP에서 즉시 조회하여 발주를 진행할 수 있습니다.
3. 엔지니어링 데이터와 비즈니스 데이터의 통합:
- CAD 파일 내부에 가격, 구매처 등 수시로 변하는 경영 정보를 직접 적지 않고, MaterialID 키값 하나로 ERP의 자재마스터를 룩업(Lookup)하는 구조를 가집니다.
- 결과적으로, ERP 자재마스터에서 단가나 거래처가 변경되어도 CAD 재질 파일의 물리적 특성(밀도, 강도 등)은 변경할 필요 없이 두 데이터의 일관성이 유지됩니다.
재질/물성치(Material) 파일의 필요성, 생성 및 관리 방법, 기간시스탬과 연결 필요성을 설명 하였습니다.
그런데 어떻게 설계자가 3D 모델에 지정 해야 할까요? 입력 해서, 아님 파일을 선택해서?
모든 설계자가 오류없이 지정을 하려면 표준 규칙을 만들어 재질/물성치(Material) 파일을 지정 할수 있게 해야 합니다
by korealionkk@gmail.com
'업무 자동화 > FreeCAD' 카테고리의 다른 글
| 파이썬 학습] IF 조건문 사용 방법 (0) | 2026.07.30 |
|---|---|
| FreeCAD 배우기] 재질(Materials) 파일 지정 하기 (1) | 2026.07.24 |
| FreeCAD 배우기] 시작 파일 세팅 (0) | 2026.07.22 |
| FreeCAD 배우기] 메타정보 입력하기 (0) | 2026.07.20 |
| FreeCAD 배우기] 패널 배치 (0) | 2026.07.18 |