使用中如遇到问题,联系张集智 (zhangjizhi@pku.edu.cn)
1、使用 Solidworks 等三维 CAD 软件进行建模。建模时,应按照实际坐标系进行放置。
2、完成建模后,用“显示/隐藏”功能对需要输出 STL 文件的部分进行筛选。
对于探测器灵敏体积,每个探头需要单独输出一个 STL 文件(对于对称的设计,可以只输出一个探头,然后在 G4 中作旋转对称)。
对于非灵敏体积(如外壳、支架),属于同一种材料的实体可输出为同一个 STL 文件(各实体允许在空间上存在隔离)。不同材料的实体需输出为不同文件。
3、另存为 STL 格式,保存前点击“选项”进行 STL 文件格式设置。
输出格式选择 ASCII 格式。二进制格式不支持。
点选“不要转换 STL 输出数据到正的坐标空间”,保持坐标与建模时一致。
若文件为装配体,点选“在单一文件中保存装配体的所有零部件”。
4、检查输出的 STL 文件。
ASCII 格式应能用记事本打开。否则可能是误用了二进制格式。
文件首行应以 "solid" 开头,后接一空格,以几何体的名称结尾。此名称必须为纯英文字母,不允许存在数字或符号,否则应予修改。该名称与几何体在 G4 中的名称无关联,且可以重复。
在 include 文件夹中添加 CADMesh 库文件,并在 DetectorConstruction.cc 中包含该文件
将 STL 模型文件移动到 G4 文件夹中。建议在程序目录下新建 model 文件夹。
读取代码示例
auto model = CADMesh::TessellatedMesh::FromSTL("../model/model.STL");
auto logicmodel = new G4LogicalVolume(model->GetSolid(), //its solid
model_mat, //its material
"model"); //its name
!date
!jupyter nbconvert STL2G4.ipynb --to html
2023年 10月 25日 星期三 20:23:34 CST [NbConvertApp] Converting notebook STL2G4.ipynb to html [NbConvertApp] Writing 563636 bytes to STL2G4.html