mindelec.data.PointCloud
- class mindelec.data.PointCloud(data_dir, sampling_config, material_config, num_parallel_workers=os.cpu_count())[源代码]
读取stp文件以生成PointCloud数据,用于physical-equation模拟。此外,可以分析stp格式的任何三维模型的空间拓扑信息。(CAD中最流行的格式。)
- 参数:
data_dir (str) - stp文件目录,原始数据。
sampling_config (PointCloudSamplingConfig) - 用于生成PointCloud-Tensor的采样空间配置。
material_config (MaterialConfig) - 用于生成PointCloud-Tensor的材料解的配置,其中影响材料求解阶段。
num_parallel_workers (int, option) - 并行进程编号,此参数可以对所有计算阶段生效,包括阅读模型、截面构建、空间求解和材料求解。默认值:os.cpu_count()。
- 异常:
TypeError - 如果 data_dir 不是str。
TypeError - 如果 sampling_config 不是PointCloudSamplingConfig的实例。
TypeError - 如果 material_config 不是MaterialConfig的实例。
TypeError - 如果 num_parallel_workers 不是int。
- 支持平台:
Ascend
样例:
>>> import mindelec.data as md >>> from mindelec.data.pointcloud import SamplingMode, BBoxType, StdPhysicalQuantity >>> sampling_config = md.PointCloudSamplingConfig(SamplingMode.UPPERBOUND, BBoxType.DYNAMIC, 1000000000, ... (5., 5., 5., 5., 5., 5.)) >>> std_physical_info = { ... StdPhysicalQuantity.MU: 1.0, ... StdPhysicalQuantity.EPSILON: 1.0, ... StdPhysicalQuantity.SIGMA: 0., ... StdPhysicalQuantity.TAND: 0., ... } >>> material_config = md.MaterialConfig(JSON_FILE, MATERIAL_DIR, std_physical_info, None, True) >>> pointcloud = md.PointCloud(STP_DIR, sampling_config, material_config)