Interresante Frage, vor allem weil wir mittlerweile extensiv Benutzung von Macros für IFC machen. Lässt sich einfach herausfinden. Objekt erstellen, als Macro abspeichern, absetzen und als IFC exportieren. Das ganze in einem geeigneten Viewer anschauen lässt es schon erahnen ... Ei Blick ins ifc bringt Gewissheit. Der 3D-Körper allgemein wird als Freiform ins IFC geschrieben, der Freiformkörper im Macro wir als Mesh von ebenen Flächen ins IFC geschrieben. Allplan 2022.1
Interressant auch die Freiformgeometrie braucht einige duzend Zeilen, das Netz aus ebenen Flächen einige Tausend Zeilen ...
Freiform:
#246= IFCBUILDINGELEMENTPROXY('18x_40fRn0whFz0zcDJl_E',#11,'Cylinder',$, $,#123,#125,$,$);
#125= IFCPRODUCTDEFINITIONSHAPE('Explicit Shape',$,(#233));
#233= IFCSHAPEREPRESENTATION(#113,'Body','AdvancedBrep',(#222));
#222= IFCADVANCEDBREP(#220);
#220= IFCCLOSEDSHELL((#184,#202,#218));
#202= IFCADVANCEDFACE((#201),#187,.T.);
#218= IFCADVANCEDFACE((#217),#204,.T.);
#184= IFCADVANCEDFACE((#183),#172,.F.);
...
Mesh aus ebenen Flächen:
#3698= IFCBUILDINGELEMENTPROXY('3xforbKOf3swWUItQyvdJv',#11,'baum',$,$,#293,#294,$,$);
#294= IFCPRODUCTDEFINITIONSHAPE('Explicit Shape',$,(#3695));
#3695= IFCSHAPEREPRESENTATION(#113,'Body','MappedRepresentation',(#3693));
#3693= IFCMAPPEDITEM(#3680,#3684);
#3680= IFCREPRESENTATIONMAP(#3673,#3671);
#3671= IFCSHAPEREPRESENTATION(#113,'Body','Brep',(#3666));
#3666= IFCFACETEDBREP(#1214);
#1214= IFCCLOSEDSHELL((#1219,#1224,#1229,#1234,#1239,#1244,#1249,#1254,
#1259,#1264,#1269,#1274,#1279,#1284,#1289,#1294,#1299,#1304,#1309,#1314,
#1319,#1324,#1329,#1334,#1339,#1344,#1349,#1354,#1359,#1364,#1369,#1374,
#1379,#1384,#1389,#1394,#1399,#1404,#1409,#1414,#1419,#1424,#1429,#1434,
#1439,#1444,#1449,#1454,#1459,#1464,#1469,#1474,#1479,#1484,#1489,#1494,
#1499,#1504,#1509,#1514,#1519,#1524,#1529,#1534,#1539,#1544,#1549,#1554,
#1559,#1564,#1569,#1574,#1579,#1584,#1589,#1594,#1599,#1604,#1609,#1614,
#1619,#1624,#1629,#1634,#1639,#1644,#1649,#1654,#1659,#1664,#1669,#1674,
#1679,#1684,#1689,#1694,#1699,#1704,#1709,#1714,#1719,#1724,#1729,#1734,
#1739,#1744,#1749,#1754,#1759,#1764,#1769,#1774,#1779,#1784,#1789,#1794,
#1799,#1804,#1809,#1814,#1819,#1824,#1829,#1834,#1839,#1844,#1849,#1854,
#1859,#1864,#1869,#1874,#1879,#1884,#1889,#1894,#1899,#1904,#1909,#1914,
#1919,#1924,#1929,#1934,#1939,#1944,#1949,#1954,#1959,#1964,#1969,#1974,
#1979,#1984,#1989,#1994,#1999,#2004,#2009,#2014,#2019,#2024,#2029,#2034,
#2039,#2044,#2049,#2054,#2059,#2064,#2069,#2074,#2079,#2084,#2089,#2094,
#2099,#2104,#2109,#2114,#2119,#2124,#2129,#2134,#2139,#2144,#2149,#2154,
#2159,#2164,#2169,#2174,#2179,#2184,#2189,#2194,#2199,#2204,#2209,#2214,
#2219,#2224,#2229,#2234,#2239,#2244,#2249,#2254,#2259,#2264,#2269,#2274,
#2279,#2284,#2289,#2294,#2299,#2304,#2309,#2314,#2319,#2324,#2329,#2334,
#2339,#2344,#2349,#2354,#2359,#2364,#2369,#2374,#2379,#2384,#2389,#2394,
#2399,#2404,#2409,#2414,#2419,#2424,#2429,#2434,#2439,#2444,#2449,#2454,
#2459,#2464,#2469,#2474,#2479,#2484,#2489,#2494,#2499,#2504,#2509,#2514,
#2519,#2524,#2529,#2534,#2539,#2544,#2549,#2554,#2559,#2564,#2569,#2574,
#2579,#2584,#2589,#2594,#2599,#2604,#2609,#2614,#2619,#2624,#2629,#2634,
#2639,#2644,#2649,#2654,#2659,#2664,#2669,#2674,#2679,#2684,#2689,#2694,
#2699,#2704,#2709,#2714,#2719,#2724,#2729,#2734,#2739,#2744,#2749,#2754,
#2759,#2764,#2769,#2774,#2779,#2784,#2789,#2794,#2799,#2804,#2809,#2814,
#2819,#2824,#2829,#2834,#2839,#2844,#2849,#2854,#2859,#2864,#2869,#2874,
#2879,#2884,#2889,#2894,#2899,#2904,#2909,#2914,#2919,#2924,#2929,#2934,
#2939,#2944,#2949,#2954,#2959,#2964,#2969,#2974,#2979,#2984,#2989,#2994,
#2999,#3004,#3009,#3014,#3019,#3024,#3029,#3034,#3039,#3044,#3049,#3054,
#3059,#3064,#3069,#3074,#3079,#3084,#3089,#3094,#3099,#3104,#3109,#3114,
#3119,#3124,#3129,#3134,#3139,#3144,#3149,#3154,#3159,#3164,#3169,#3174,
#3179,#3184,#3189,#3194,#3199,#3204,#3209,#3214,#3219,#3224,#3229,#3234,
#3239,#3244,#3249,#3254,#3259,#3264,#3269,#3274,#3279,#3284,#3289,#3294,
#3299,#3304,#3309,#3314,#3319,#3324,#3329,#3334,#3339,#3344,#3349,#3354,
#3359,#3364,#3369,#3374,#3379,#3384,#3389,#3394,#3399,#3404,#3409,#3414,
#3419,#3424,#3429,#3434,#3439,#3444,#3449,#3454,#3459,#3464,#3469,#3474,
#3479,#3484,#3489,#3494,#3499,#3504,#3509,#3514,#3519,#3524,#3529,#3534,
#3539,#3544,#3549,#3554,#3559,#3564,#3569,#3574,#3579,#3584,#3589,#3594,
#3599,#3604,#3609,#3614,#3619,#3624,#3629,#3634,#3639,#3644,#3649,#3654,
#3659,#3664));
#1219= IFCFACE((#1218));
#1224= IFCFACE((#1223));
#1229= IFCFACE((#1228));
...