一 CAD 将二维平面拉成三维实体
第一步,将视图旋转到侧面图 第二步,将二维线图修改为真实 第三步,在命令窗口输入快捷指令Press 将鼠标移动到物体中间,当物体亮起来的时候,想上拉物体,或者直接输入高度
二 将散点导入CAD建模
1.散点数据的前期处理
哔站参考
https://www.bilibili.com/video/BV1PG4y1D7Bh/?
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/eab849078d76488782737fc845a2824d.png)
spm_id_from=333.788&vd_source=ee789cf916563b0f6fa47fd0f3556c63 我的数据是一堆散点,要注意曲线之间首尾的连接问题。用matlab将散点存在txt里面,将txt数据,第一行的数据复制到最后一行,保证曲线是闭合的。 最后在新的一列,如下图的F列,输入=A1&”,”&B1&”,”&C1,将散点以坐标的形式显示在同一个单元格
wps新建一个表格,一直点击下一步,完成即可 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b9bdad8dca664c4da4122c9d55ec8f6c.png)
导入之后数据格式是这样 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/57f6573ee7ae403aafb8a1613f704e7d.png)
选中三列,右键->设置单元格格式->常规,结果如下 表格空行处,输入如下公式,将数据转换成坐标格式显示。需要在英文格式下输入,然后回车即可,其余的单元格下拉就行 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/718a992c713c4172b3f973f4b9bf5017.png)
2.将自己绘制的二维曲线导入CAD,形成面
点击新建,新建一个项目,选择如下按钮,同时命令窗口的显示如下第二张图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/774d1ee518684e5b81f1e250ee9a4520.png)
然后将excel里的坐标形式的那行数据复制到CAD的命令窗口,粘贴,等待几秒 最后另存.dwg格式,如果之后知道CAD怎么对称拉伸,就直接在CAD里面处理,现在不太清楚怎么在CAD里面对称拉伸,但是知道在Solidwork里面则呢吗弄,存成dwg格式去Solidwork弄
3. Solidwork完成模型的对称拉伸
导入时选择下面参数 选中模型,选择拉伸凸台/基体 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4d90531f18704176a238d590e6722ef6.png)
注意,这里的长度是全长,然后选择绿色的小勾,确认 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/186c59126f4942f48bb0efc3c72e486f.png)
另存为下列的数据格式,弹出所选实体对话,选中自己的实体,选择所选实体,保存 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8f1a7a3587804fe98d8a352e0e3dbd43.png)
4 FreeCAD转换STEP数据格式为stl数据格式
导入上一步的STEP数据之后,选Mesh Design ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/937b8e6589174b40ae0c2347fef45a36.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7558ab4fc7724f97abed19562d2720a5.png)
选择ok 新生成的文件就是网格化之后的数据 选中新得数据格式,右键单机,选择export data 选择下列格式导出 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e9198b27b1644b8f98aecbd9568860cb.png)
修改所获取的stl内部的数据 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0222e2379ae0432c86286862d577e138.png)
三 Geant4内1导入stl
(1)CADMesh开源代码下载
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b64244347158455ba51b09316341aabd.png)
(1)(2) (3)CMakeLists.txt里面添加stl文件名 (4)DetectorConstruction.cc内加入 #inlcude CADMesh.hh,同时定义实体
(2)在geant4程序中,inlcude 新建一个.hh文件,然后将CADMesh里面的.hh文件的内容拷贝到新建的文件里面,
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1af1195714264a1fa3e6b9ec42edb014.png)
(3)同时将stl文件拷贝到自己的程序的根目录下,
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0d0a65989eb3483c9af49a3af7c5fa0d.png)
(4) CMakeLists.txt里面添加stl文件名
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d13d475d3e26463a8c4a725a5f1f4902.png)
(5) DetectorConstruction.cc内加入 #inlcude CADMesh.hh,同时定义实体
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b02dd45b6de4401d8bc3d91d632016c9.png)
auto test = CADMesh::TessellatedMesh::FromSTL("./FreecadShape.stl");
test->SetScale(1); //设置模型大小比例
test->SetOffset(0,0,0); //设置模型与坐标原点的相对位置
G4LogicalVolume* logicalBowtie2 = new G4LogicalVolume( test->GetSolid()
, Al_mat //引入logicalvolume,设置材料
, "Bowtie2Head"
, 0, 0, 0);
new G4PVPlacement( 0
, G4ThreeVector()
, logicalBowtie2
, "Bowtie2Head"
, logicWorld
, false, 0);
四 CAD坐标标注
如果发现坐标显示是镜像得,旋转物体即可。ZBBZ插件直接拖入软件即可
步骤: 在命令窗口输入,ZBBZ,回车 点击选项,然后按照下列参数设置 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ddfb49db40094eeab8577c6ebc6e5efe.png)
然后就可以进行坐标标注了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f4c3f8b303954708b1c5310f7aff0666.png)
五 CAD导入txt数据,数据是对称的,但是导入CAD之后变得不对称了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/41c8c12455d84c1c8744dd9d0dc1c5a0.png)
(1)确认当前CAD坐标系是世界坐标系
新建零件之后,在命令窗口输入UCS, 回车两次,显示窗口如下 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ae1a545a125d4e9392fdff58763b896c.png)
(2)按照之前导入散点的方式导入excel散点数据
此时可以发现,导入的物体的位置大致是符合预期的 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/467de80fc37945c380447f93c552bd19.png)
(3)CAD折线图变曲线图
将图放大之后,发现数据是折线显示,这是因为CAD折线显示可以节约时间。在命令窗口输入re回车即可 re回车之后的结果 此时再标注CAD,发现结果是对称的 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c654c1da360c4a79b9c2f99877f198e2.png)
|