Files
speckle-server/scratch/InspectIfc.cs
T
huanld 6cd126af41
Release pipeline / Get version (push) Has been cancelled
Release pipeline / Get Chart Name (push) Has been cancelled
Release pipeline / tests (push) Has been cancelled
Release pipeline / builds (push) Has been cancelled
Release pipeline / builds-ghcr (push) Has been cancelled
Release pipeline / test-deployments (push) Has been cancelled
Release pipeline / deploy (push) Has been cancelled
Release pipeline / Helm chart oci (push) Has been cancelled
Release pipeline / npm (push) Has been cancelled
Release pipeline / snyk (push) Has been cancelled
feat: custom IFC converter with C++ geometry injection
- Add custom IFC converter using web-ifc C++ DLL for geometry extraction
- Add GeometryInjector.cs: patches Speckle objects with mesh geometry
- Add NativeIfcGeometry.cs: P/Invoke bindings to WebIfcDll
- Add CustomMeshConverterFactory.cs: custom Xbim mesh converter
- Configure fileimport-service dotnet IFC pipeline
- Add VPS deployment config (docker-compose-vps.yml)
- Add dev scripts: run_backend.bat, run_frontend.bat, start_dev.bat
- Update .gitignore: exclude scratch/IFC-toolkit, engine_web-ifc
- Memory optimization for Xbim (MemoryModel mode)
2026-04-16 06:46:41 +07:00

35 lines
1.7 KiB
C#

using System.Reflection;
using Speckle.Importers.Ifc;
var asm = typeof(Import).Assembly;
Console.WriteLine("=== TYPES: IfcMesh, IfcFactory, IfcModel, IfcGeometry, Native ===");
foreach (var t in asm.GetTypes()
.Where(t => t.FullName?.Contains("IfcMesh") == true ||
t.FullName?.Contains("IfcFactory") == true ||
t.FullName?.Contains("IfcModel") == true ||
t.FullName?.Contains("IfcGeometry") == true ||
t.FullName?.Contains("Native") == true)
.OrderBy(t => t.FullName))
{
Console.WriteLine($"\nType: {t.FullName} (Public={t.IsPublic}, Interface={t.IsInterface})");
foreach (var m in t.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly))
{
var parms = string.Join(", ", m.GetParameters().Select(p => $"{p.ParameterType.FullName} {p.Name}"));
Console.WriteLine($" {m.ReturnType.FullName} {m.Name}({parms})");
}
foreach (var p in t.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly))
{
Console.WriteLine($" [prop] {p.PropertyType.FullName} {p.Name}");
}
foreach (var f in t.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly))
{
Console.WriteLine($" [field] {f.FieldType.FullName} {f.Name}");
}
foreach (var c in t.GetConstructors(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))
{
var parms = string.Join(", ", c.GetParameters().Select(p => $"{p.ParameterType.FullName} {p.Name}"));
Console.WriteLine($" [ctor] ({parms})");
}
}