Read an IGES file

Read an IGES file#

IGES (.iges / .igs) is one of the older neutral CAD interchange formats, still common for legacy mechanical hand-offs and turbomachinery. pyvista_cad.read_iges wraps pyiges and tessellates analytic surfaces with geomdl.

This example uses a real centrifugal impeller exported from SolidWorks to IGES (MIT, pyiges) and pushes beyond a load+plot demo by computing surface curvature, the kind of analysis turbomachinery engineers routinely run on imported IGES geometry.

import numpy as np
import pyvista as pv

import pyvista_cad
from pyvista_cad.examples import downloads

Load the real impeller. surfaces=True tessellates every analytic B-spline surface; lines=False drops the construction wires.

iges = pyvista_cad.read_iges(
    downloads.iges_impeller_path(),
    bsplines=True,
    surfaces=True,
    lines=False,
)
iges
Converting entities to vtk:   0%|          | 0/4615 [00:00<?, ?it/s]
Converting entities to vtk:   0%|          | 2/4615 [00:00<06:32, 11.76it/s]
Converting entities to vtk:   0%|          | 17/4615 [00:00<01:09, 66.30it/s]
Converting entities to vtk:   1%|          | 32/4615 [00:00<00:51, 88.60it/s]
Converting entities to vtk:   1%|          | 47/4615 [00:00<00:45, 100.12it/s]
Converting entities to vtk:   1%|▏         | 62/4615 [00:00<00:42, 107.17it/s]
Converting entities to vtk:   2%|▏         | 77/4615 [00:00<00:40, 111.50it/s]
Converting entities to vtk:   2%|▏         | 92/4615 [00:00<00:40, 112.70it/s]
Converting entities to vtk:   2%|▏         | 107/4615 [00:01<00:39, 113.50it/s]
Converting entities to vtk:   3%|▎         | 122/4615 [00:01<00:39, 114.82it/s]
Converting entities to vtk:   3%|▎         | 137/4615 [00:01<00:38, 116.49it/s]
Converting entities to vtk:   3%|▎         | 152/4615 [00:01<00:38, 117.38it/s]
Converting entities to vtk:   9%|▉         | 435/4615 [00:01<00:06, 669.57it/s]
Converting entities to vtk:  11%|█▏        | 520/4615 [00:01<00:06, 626.69it/s]
Converting entities to vtk:  12%|█▏        | 575/4615 [00:01<00:07, 556.37it/s]
Converting entities to vtk:  14%|█▎        | 625/4615 [00:02<00:08, 496.82it/s]
Converting entities to vtk:  15%|█▍        | 671/4615 [00:02<00:08, 456.68it/s]
Converting entities to vtk:  15%|█▌        | 714/4615 [00:02<00:11, 333.77it/s]
Converting entities to vtk:  16%|█▌        | 749/4615 [00:02<00:14, 260.43it/s]
Converting entities to vtk:  17%|█▋        | 778/4615 [00:02<00:18, 209.42it/s]
Converting entities to vtk:  17%|█▋        | 802/4615 [00:03<00:29, 130.76it/s]
Converting entities to vtk:  18%|█▊        | 820/4615 [00:03<00:28, 132.46it/s]
Converting entities to vtk:  18%|█▊        | 837/4615 [00:03<00:28, 133.06it/s]
Converting entities to vtk:  18%|█▊        | 853/4615 [00:03<00:28, 132.12it/s]
Converting entities to vtk:  19%|█▉        | 868/4615 [00:03<00:28, 129.47it/s]
Converting entities to vtk:  19%|█▉        | 883/4615 [00:04<00:36, 102.82it/s]
Converting entities to vtk:  19%|█▉        | 897/4615 [00:04<00:35, 104.88it/s]
Converting entities to vtk:  20%|█▉        | 911/4615 [00:04<00:34, 106.76it/s]
Converting entities to vtk:  20%|██        | 925/4615 [00:04<00:34, 108.25it/s]
Converting entities to vtk:  20%|██        | 939/4615 [00:04<00:33, 109.02it/s]
Converting entities to vtk:  21%|██        | 951/4615 [00:04<00:34, 105.55it/s]
Converting entities to vtk:  21%|██        | 965/4615 [00:04<00:34, 107.00it/s]
Converting entities to vtk:  21%|██        | 979/4615 [00:05<00:33, 108.35it/s]
Converting entities to vtk:  22%|██▏       | 993/4615 [00:05<00:33, 109.23it/s]
Converting entities to vtk:  22%|██▏       | 1007/4615 [00:05<00:32, 109.52it/s]
Converting entities to vtk:  22%|██▏       | 1024/4615 [00:05<00:30, 116.58it/s]
Converting entities to vtk:  22%|██▏       | 1038/4615 [00:05<00:31, 114.83it/s]
Converting entities to vtk:  23%|██▎       | 1052/4615 [00:05<00:31, 113.84it/s]
Converting entities to vtk:  23%|██▎       | 1066/4615 [00:05<00:31, 113.04it/s]
Converting entities to vtk:  23%|██▎       | 1080/4615 [00:05<00:31, 112.62it/s]
Converting entities to vtk:  24%|██▎       | 1094/4615 [00:06<00:31, 112.41it/s]
Converting entities to vtk:  24%|██▍       | 1108/4615 [00:06<00:31, 112.21it/s]
Converting entities to vtk:  24%|██▍       | 1122/4615 [00:06<00:31, 111.91it/s]
Converting entities to vtk:  25%|██▍       | 1136/4615 [00:06<00:31, 111.90it/s]
Converting entities to vtk:  25%|██▍       | 1150/4615 [00:06<00:47, 72.85it/s]
Converting entities to vtk:  25%|██▌       | 1164/4615 [00:06<00:42, 81.15it/s]
Converting entities to vtk:  26%|██▌       | 1178/4615 [00:07<00:39, 88.11it/s]
Converting entities to vtk:  26%|██▌       | 1192/4615 [00:07<00:36, 94.06it/s]
Converting entities to vtk:  26%|██▌       | 1208/4615 [00:07<00:33, 102.89it/s]
Converting entities to vtk:  27%|██▋       | 1224/4615 [00:07<00:30, 109.55it/s]
Converting entities to vtk:  28%|██▊       | 1288/4615 [00:07<00:15, 216.95it/s]
Converting entities to vtk:  28%|██▊       | 1311/4615 [00:07<00:16, 205.47it/s]
Converting entities to vtk:  29%|██▉       | 1332/4615 [00:07<00:16, 193.18it/s]
Converting entities to vtk:  29%|██▉       | 1352/4615 [00:08<00:21, 149.56it/s]
Converting entities to vtk:  30%|███       | 1385/4615 [00:08<00:17, 187.52it/s]
Converting entities to vtk:  30%|███       | 1407/4615 [00:08<00:17, 183.36it/s]
Converting entities to vtk:  31%|███       | 1428/4615 [00:08<00:17, 179.73it/s]
Converting entities to vtk:  31%|███▏      | 1448/4615 [00:08<00:18, 173.68it/s]
Converting entities to vtk:  32%|███▏      | 1467/4615 [00:08<00:19, 165.38it/s]
Converting entities to vtk:  32%|███▏      | 1485/4615 [00:08<00:20, 155.24it/s]
Converting entities to vtk:  33%|███▎      | 1510/4615 [00:08<00:20, 148.32it/s]
Converting entities to vtk:  33%|███▎      | 1529/4615 [00:09<00:20, 147.08it/s]
Converting entities to vtk:  33%|███▎      | 1544/4615 [00:09<00:22, 138.92it/s]
Converting entities to vtk:  34%|███▍      | 1573/4615 [00:09<00:18, 162.13it/s]
Converting entities to vtk:  34%|███▍      | 1590/4615 [00:09<00:19, 152.59it/s]
Converting entities to vtk:  35%|███▍      | 1612/4615 [00:09<00:19, 155.77it/s]
Converting entities to vtk:  36%|███▌      | 1639/4615 [00:09<00:19, 154.23it/s]
Converting entities to vtk:  36%|███▌      | 1658/4615 [00:09<00:19, 149.95it/s]
Converting entities to vtk:  36%|███▋      | 1674/4615 [00:10<00:20, 140.96it/s]
Converting entities to vtk:  37%|███▋      | 1702/4615 [00:10<00:18, 161.01it/s]
Converting entities to vtk:  37%|███▋      | 1719/4615 [00:10<00:19, 151.89it/s]
Converting entities to vtk:  38%|███▊      | 1741/4615 [00:10<00:18, 155.03it/s]
Converting entities to vtk:  38%|███▊      | 1768/4615 [00:10<00:18, 153.57it/s]
Converting entities to vtk:  39%|███▊      | 1787/4615 [00:10<00:27, 102.57it/s]
Converting entities to vtk:  39%|███▉      | 1801/4615 [00:11<00:27, 104.19it/s]
Converting entities to vtk:  40%|███▉      | 1831/4615 [00:11<00:20, 133.33it/s]
Converting entities to vtk:  40%|████      | 1847/4615 [00:11<00:21, 130.82it/s]
Converting entities to vtk:  41%|████      | 1870/4615 [00:11<00:19, 141.16it/s]
Converting entities to vtk:  41%|████      | 1897/4615 [00:11<00:18, 145.25it/s]
Converting entities to vtk:  42%|████▏     | 1916/4615 [00:11<00:18, 145.40it/s]
Converting entities to vtk:  42%|████▏     | 1932/4615 [00:11<00:19, 140.40it/s]
Converting entities to vtk:  42%|████▏     | 1960/4615 [00:12<00:16, 161.61it/s]
Converting entities to vtk:  43%|████▎     | 1977/4615 [00:12<00:17, 152.27it/s]
Converting entities to vtk:  43%|████▎     | 1999/4615 [00:12<00:16, 154.55it/s]
Converting entities to vtk:  44%|████▍     | 2026/4615 [00:12<00:16, 153.53it/s]
Converting entities to vtk:  44%|████▍     | 2045/4615 [00:12<00:17, 150.08it/s]
Converting entities to vtk:  45%|████▍     | 2061/4615 [00:12<00:17, 142.57it/s]
Converting entities to vtk:  45%|████▌     | 2089/4615 [00:12<00:15, 163.34it/s]
Converting entities to vtk:  46%|████▌     | 2106/4615 [00:13<00:16, 153.46it/s]
Converting entities to vtk:  46%|████▌     | 2128/4615 [00:13<00:15, 155.87it/s]
Converting entities to vtk:  47%|████▋     | 2155/4615 [00:13<00:16, 153.38it/s]
Converting entities to vtk:  47%|████▋     | 2174/4615 [00:13<00:16, 150.89it/s]
Converting entities to vtk:  47%|████▋     | 2190/4615 [00:13<00:16, 144.05it/s]
Converting entities to vtk:  48%|████▊     | 2218/4615 [00:13<00:14, 164.79it/s]
Converting entities to vtk:  48%|████▊     | 2235/4615 [00:13<00:15, 154.62it/s]
Converting entities to vtk:  49%|████▉     | 2257/4615 [00:14<00:15, 157.07it/s]
Converting entities to vtk:  49%|████▉     | 2284/4615 [00:14<00:14, 155.71it/s]
Converting entities to vtk:  50%|████▉     | 2303/4615 [00:14<00:15, 152.32it/s]
Converting entities to vtk:  50%|█████     | 2319/4615 [00:14<00:15, 145.07it/s]
Converting entities to vtk:  51%|█████     | 2347/4615 [00:14<00:21, 107.78it/s]
Converting entities to vtk:  51%|█████     | 2361/4615 [00:14<00:21, 107.29it/s]
Converting entities to vtk:  52%|█████▏    | 2386/4615 [00:15<00:17, 124.25it/s]
Converting entities to vtk:  52%|█████▏    | 2413/4615 [00:15<00:16, 131.90it/s]
Converting entities to vtk:  53%|█████▎    | 2432/4615 [00:15<00:16, 133.56it/s]
Converting entities to vtk:  53%|█████▎    | 2446/4615 [00:15<00:17, 126.36it/s]
Converting entities to vtk:  54%|█████▎    | 2476/4615 [00:15<00:14, 152.77it/s]
Converting entities to vtk:  54%|█████▍    | 2492/4615 [00:15<00:14, 143.21it/s]
Converting entities to vtk:  54%|█████▍    | 2515/4615 [00:15<00:14, 149.80it/s]
Converting entities to vtk:  55%|█████▌    | 2542/4615 [00:16<00:13, 149.39it/s]
Converting entities to vtk:  55%|█████▌    | 2561/4615 [00:16<00:14, 146.52it/s]
Converting entities to vtk:  56%|█████▌    | 2576/4615 [00:16<00:14, 138.01it/s]
Converting entities to vtk:  56%|█████▋    | 2605/4615 [00:16<00:12, 160.90it/s]
Converting entities to vtk:  57%|█████▋    | 2622/4615 [00:16<00:13, 150.63it/s]
Converting entities to vtk:  57%|█████▋    | 2644/4615 [00:16<00:12, 153.03it/s]
Converting entities to vtk:  58%|█████▊    | 2671/4615 [00:17<00:12, 152.02it/s]
Converting entities to vtk:  58%|█████▊    | 2690/4615 [00:17<00:12, 149.20it/s]
Converting entities to vtk:  59%|█████▊    | 2705/4615 [00:17<00:13, 140.20it/s]
Converting entities to vtk:  59%|█████▉    | 2734/4615 [00:17<00:11, 162.88it/s]
Converting entities to vtk:  60%|█████▉    | 2751/4615 [00:17<00:12, 152.78it/s]
Converting entities to vtk:  60%|██████    | 2773/4615 [00:17<00:11, 154.66it/s]
Converting entities to vtk:  61%|██████    | 2800/4615 [00:17<00:11, 153.07it/s]
Converting entities to vtk:  61%|██████    | 2819/4615 [00:17<00:11, 152.94it/s]
Converting entities to vtk:  61%|██████▏   | 2835/4615 [00:18<00:12, 147.22it/s]
Converting entities to vtk:  62%|██████▏   | 2850/4615 [00:18<00:12, 141.06it/s]
Converting entities to vtk:  62%|██████▏   | 2865/4615 [00:18<00:12, 136.85it/s]
Converting entities to vtk:  62%|██████▏   | 2879/4615 [00:18<00:13, 131.76it/s]
Converting entities to vtk:  63%|██████▎   | 2893/4615 [00:18<00:21, 81.85it/s]
Converting entities to vtk:  63%|██████▎   | 2908/4615 [00:18<00:18, 90.83it/s]
Converting entities to vtk:  63%|██████▎   | 2922/4615 [00:19<00:17, 97.11it/s]
Converting entities to vtk:  64%|██████▎   | 2938/4615 [00:19<00:15, 105.72it/s]
Converting entities to vtk:  64%|██████▍   | 2953/4615 [00:19<00:14, 110.87it/s]
Converting entities to vtk:  64%|██████▍   | 2968/4615 [00:19<00:14, 115.32it/s]
Converting entities to vtk:  65%|██████▍   | 2982/4615 [00:19<00:14, 115.76it/s]
Converting entities to vtk:  65%|██████▍   | 2996/4615 [00:19<00:13, 116.08it/s]
Converting entities to vtk:  65%|██████▌   | 3011/4615 [00:19<00:13, 118.21it/s]
Converting entities to vtk:  66%|██████▌   | 3028/4615 [00:19<00:12, 124.52it/s]
Converting entities to vtk:  66%|██████▌   | 3042/4615 [00:20<00:12, 122.47it/s]
Converting entities to vtk:  66%|██████▌   | 3056/4615 [00:20<00:12, 119.94it/s]
Converting entities to vtk:  67%|██████▋   | 3071/4615 [00:20<00:12, 121.01it/s]
Converting entities to vtk:  67%|██████▋   | 3085/4615 [00:20<00:12, 119.57it/s]
Converting entities to vtk:  67%|██████▋   | 3099/4615 [00:20<00:12, 118.81it/s]
Converting entities to vtk:  67%|██████▋   | 3114/4615 [00:20<00:12, 121.00it/s]
Converting entities to vtk:  68%|██████▊   | 3129/4615 [00:20<00:12, 122.46it/s]
Converting entities to vtk:  68%|██████▊   | 3145/4615 [00:20<00:11, 124.87it/s]
Converting entities to vtk:  68%|██████▊   | 3159/4615 [00:20<00:11, 121.97it/s]
Converting entities to vtk:  69%|██████▉   | 3174/4615 [00:21<00:11, 121.73it/s]
Converting entities to vtk:  69%|██████▉   | 3189/4615 [00:21<00:11, 122.78it/s]
Converting entities to vtk:  69%|██████▉   | 3203/4615 [00:21<00:11, 120.87it/s]
Converting entities to vtk:  70%|██████▉   | 3217/4615 [00:21<00:11, 118.90it/s]
Converting entities to vtk:  70%|███████   | 3232/4615 [00:21<00:11, 121.34it/s]
Converting entities to vtk:  70%|███████   | 3246/4615 [00:21<00:11, 120.02it/s]
Converting entities to vtk:  71%|███████   | 3260/4615 [00:21<00:11, 118.86it/s]
Converting entities to vtk:  71%|███████   | 3275/4615 [00:21<00:11, 120.54it/s]
Converting entities to vtk:  71%|███████▏  | 3290/4615 [00:22<00:11, 119.15it/s]
Converting entities to vtk:  72%|███████▏  | 3304/4615 [00:22<00:17, 75.48it/s]
Converting entities to vtk:  72%|███████▏  | 3318/4615 [00:22<00:15, 84.22it/s]
Converting entities to vtk:  72%|███████▏  | 3333/4615 [00:22<00:13, 93.70it/s]
Converting entities to vtk:  73%|███████▎  | 3348/4615 [00:22<00:12, 101.53it/s]
Converting entities to vtk:  73%|███████▎  | 3362/4615 [00:22<00:11, 105.00it/s]
Converting entities to vtk:  73%|███████▎  | 3376/4615 [00:23<00:11, 107.65it/s]
Converting entities to vtk:  73%|███████▎  | 3391/4615 [00:23<00:10, 113.02it/s]
Converting entities to vtk:  74%|███████▍  | 3405/4615 [00:23<00:10, 113.86it/s]
Converting entities to vtk:  74%|███████▍  | 3419/4615 [00:23<00:10, 114.32it/s]
Converting entities to vtk:  74%|███████▍  | 3434/4615 [00:23<00:10, 117.48it/s]
Converting entities to vtk:  75%|███████▍  | 3449/4615 [00:23<00:09, 119.32it/s]
Converting entities to vtk:  75%|███████▌  | 3463/4615 [00:23<00:09, 118.09it/s]
Converting entities to vtk:  75%|███████▌  | 3477/4615 [00:23<00:09, 117.56it/s]
Converting entities to vtk:  76%|███████▌  | 3492/4615 [00:23<00:09, 119.65it/s]
Converting entities to vtk:  76%|███████▌  | 3507/4615 [00:24<00:09, 121.34it/s]
Converting entities to vtk:  76%|███████▋  | 3521/4615 [00:24<00:09, 119.48it/s]
Converting entities to vtk:  77%|███████▋  | 3535/4615 [00:24<00:09, 117.99it/s]
Converting entities to vtk:  77%|███████▋  | 3550/4615 [00:24<00:08, 120.17it/s]
Converting entities to vtk:  77%|███████▋  | 3564/4615 [00:24<00:08, 118.76it/s]
Converting entities to vtk:  78%|███████▊  | 3578/4615 [00:24<00:08, 117.84it/s]
Converting entities to vtk:  78%|███████▊  | 3593/4615 [00:24<00:08, 119.72it/s]
Converting entities to vtk:  78%|███████▊  | 3608/4615 [00:24<00:08, 120.88it/s]
Converting entities to vtk:  78%|███████▊  | 3622/4615 [00:25<00:08, 119.14it/s]
Converting entities to vtk:  79%|███████▉  | 3636/4615 [00:25<00:08, 118.34it/s]
Converting entities to vtk:  79%|███████▉  | 3651/4615 [00:25<00:08, 120.19it/s]
Converting entities to vtk:  79%|███████▉  | 3666/4615 [00:25<00:07, 121.91it/s]
Converting entities to vtk:  80%|███████▉  | 3682/4615 [00:25<00:07, 124.00it/s]
Converting entities to vtk:  80%|████████  | 3696/4615 [00:25<00:12, 76.21it/s]
Converting entities to vtk:  80%|████████  | 3713/4615 [00:26<00:10, 89.29it/s]
Converting entities to vtk:  81%|████████  | 3727/4615 [00:26<00:09, 95.86it/s]
Converting entities to vtk:  81%|████████  | 3741/4615 [00:26<00:08, 100.42it/s]
Converting entities to vtk:  81%|████████▏ | 3756/4615 [00:26<00:08, 107.33it/s]
Converting entities to vtk:  82%|████████▏ | 3771/4615 [00:26<00:07, 112.77it/s]
Converting entities to vtk:  82%|████████▏ | 3785/4615 [00:26<00:07, 114.37it/s]
Converting entities to vtk:  82%|████████▏ | 3799/4615 [00:26<00:07, 114.99it/s]
Converting entities to vtk:  83%|████████▎ | 3814/4615 [00:26<00:06, 117.85it/s]
Converting entities to vtk:  83%|████████▎ | 3829/4615 [00:26<00:06, 119.97it/s]
Converting entities to vtk:  83%|████████▎ | 3843/4615 [00:27<00:06, 119.31it/s]
Converting entities to vtk:  84%|████████▎ | 3857/4615 [00:27<00:06, 118.11it/s]
Converting entities to vtk:  84%|████████▍ | 3872/4615 [00:27<00:06, 120.61it/s]
Converting entities to vtk:  84%|████████▍ | 3886/4615 [00:27<00:06, 119.24it/s]
Converting entities to vtk:  85%|████████▍ | 3902/4615 [00:27<00:05, 123.14it/s]
Converting entities to vtk:  85%|████████▍ | 3917/4615 [00:27<00:05, 124.04it/s]
Converting entities to vtk:  85%|████████▌ | 3932/4615 [00:27<00:05, 124.14it/s]
Converting entities to vtk:  86%|████████▌ | 3946/4615 [00:27<00:05, 121.94it/s]
Converting entities to vtk:  86%|████████▌ | 3960/4615 [00:28<00:05, 120.47it/s]
Converting entities to vtk:  86%|████████▌ | 3975/4615 [00:28<00:05, 122.29it/s]
Converting entities to vtk:  86%|████████▋ | 3990/4615 [00:28<00:05, 122.96it/s]
Converting entities to vtk:  87%|████████▋ | 4004/4615 [00:28<00:05, 121.08it/s]
Converting entities to vtk:  87%|████████▋ | 4018/4615 [00:28<00:04, 119.68it/s]
Converting entities to vtk:  87%|████████▋ | 4033/4615 [00:28<00:04, 121.97it/s]
Converting entities to vtk:  88%|████████▊ | 4047/4615 [00:28<00:04, 120.51it/s]
Converting entities to vtk:  88%|████████▊ | 4061/4615 [00:28<00:04, 118.92it/s]
Converting entities to vtk:  88%|████████▊ | 4076/4615 [00:29<00:04, 121.06it/s]
Converting entities to vtk:  89%|████████▊ | 4091/4615 [00:29<00:04, 122.08it/s]
Converting entities to vtk:  89%|████████▉ | 4107/4615 [00:29<00:04, 124.89it/s]
Converting entities to vtk:  89%|████████▉ | 4121/4615 [00:29<00:06, 77.85it/s]
Converting entities to vtk:  90%|████████▉ | 4136/4615 [00:29<00:05, 87.89it/s]
Converting entities to vtk:  90%|████████▉ | 4151/4615 [00:29<00:04, 96.52it/s]
Converting entities to vtk:  90%|█████████ | 4165/4615 [00:29<00:04, 100.97it/s]
Converting entities to vtk:  91%|█████████ | 4179/4615 [00:30<00:04, 104.60it/s]
Converting entities to vtk:  91%|█████████ | 4194/4615 [00:30<00:03, 110.08it/s]
Converting entities to vtk:  91%|█████████ | 4208/4615 [00:30<00:03, 111.14it/s]
Converting entities to vtk:  91%|█████████▏| 4222/4615 [00:30<00:03, 112.59it/s]
Converting entities to vtk:  92%|█████████▏| 4237/4615 [00:30<00:03, 116.11it/s]
Converting entities to vtk:  92%|█████████▏| 4252/4615 [00:30<00:03, 118.99it/s]
Converting entities to vtk:  92%|█████████▏| 4266/4615 [00:30<00:02, 118.17it/s]
Converting entities to vtk:  93%|█████████▎| 4280/4615 [00:30<00:02, 117.84it/s]
Converting entities to vtk:  93%|█████████▎| 4295/4615 [00:31<00:02, 119.54it/s]
Converting entities to vtk:  93%|█████████▎| 4310/4615 [00:31<00:02, 121.31it/s]
Converting entities to vtk:  94%|█████████▎| 4324/4615 [00:31<00:02, 118.54it/s]
Converting entities to vtk:  94%|█████████▍| 4338/4615 [00:31<00:02, 117.24it/s]
Converting entities to vtk:  94%|█████████▍| 4353/4615 [00:31<00:02, 119.65it/s]
Converting entities to vtk:  95%|█████████▍| 4367/4615 [00:31<00:02, 118.35it/s]
Converting entities to vtk:  95%|█████████▍| 4381/4615 [00:31<00:01, 117.33it/s]
Converting entities to vtk:  95%|█████████▌| 4396/4615 [00:31<00:01, 119.25it/s]
Converting entities to vtk:  96%|█████████▌| 4411/4615 [00:32<00:01, 121.51it/s]
Converting entities to vtk:  96%|█████████▌| 4425/4615 [00:32<00:01, 119.91it/s]
Converting entities to vtk:  96%|█████████▌| 4439/4615 [00:32<00:01, 118.60it/s]
Converting entities to vtk:  97%|█████████▋| 4454/4615 [00:32<00:01, 120.95it/s]
Converting entities to vtk:  97%|█████████▋| 4469/4615 [00:32<00:01, 122.92it/s]
Converting entities to vtk:  97%|█████████▋| 4483/4615 [00:32<00:01, 121.12it/s]
Converting entities to vtk:  97%|█████████▋| 4497/4615 [00:32<00:00, 119.31it/s]
Converting entities to vtk:  98%|█████████▊| 4512/4615 [00:33<00:01, 76.57it/s]
Converting entities to vtk:  98%|█████████▊| 4526/4615 [00:33<00:01, 84.98it/s]
Converting entities to vtk:  98%|█████████▊| 4540/4615 [00:33<00:00, 92.32it/s]
Converting entities to vtk:  99%|█████████▊| 4555/4615 [00:33<00:00, 100.40it/s]
Converting entities to vtk:  99%|█████████▉| 4570/4615 [00:33<00:00, 107.09it/s]
Converting entities to vtk: 100%|██████████| 4615/4615 [00:33<00:00, 137.33it/s]
PolyData (0x7f6fab3a1ae0)
  N Cells:    753716
  N Points:   488880
  N Strips:   0
  X Bounds:   -5.052e+01, 4.945e+01
  Y Bounds:   -6.144e+01, 6.144e+01
  Z Bounds:   -4.577e+01, 6.388e+00
  N Arrays:   2


Compute mean curvature on the impeller surface. Mean curvature highlights the convex blade ridges and concave hub fillets: the regions a CFD or stress engineer wants to refine first. (Gaussian curvature on a near-developable blade is ~0 almost everywhere and washes out; mean curvature reads far better.)

surface = iges.extract_surface().compute_normals()
surface['mean_curvature'] = surface.curvature(curv_type='mean')
surface
/home/runner/work/pyvista-cad/pyvista-cad/examples/01_readers/read_iges.py:44: PyVistaFutureWarning: The default value of `algorithm` for the filter
`PolyData.extract_surface` will change in the future. It currently defaults to
`'dataset_surface'`, but will change to `None`. Explicitly set the `algorithm` keyword to
silence this warning.
  surface = iges.extract_surface().compute_normals()
PolyData (0x7f6fab42fe80)
  N Cells:    753716
  N Points:   488880
  N Strips:   0
  X Bounds:   -5.052e+01, 4.945e+01
  Y Bounds:   -6.144e+01, 6.144e+01
  Z Bounds:   -4.577e+01, 6.388e+00
  N Arrays:   7


Render with a diverging colormap centred on zero so flat regions sit mid-scale and ridges / valleys pop. Symmetric, robust clim from the 90th percentile of the absolute curvature keeps a few extreme outliers from flattening the contrast.

q = float(np.nanpercentile(np.abs(surface['mean_curvature']), 90))

pl = pv.Plotter()
pl.cad.add(
    surface,
    scalars='mean_curvature',
    cmap='RdBu_r',
    clim=(-q, q),
    scalar_bar_args={'title': 'Mean curvature'},
)
pl.show()
read iges

Total running time of the script: (0 minutes 38.858 seconds)