DM常用操作

4 篇文章 0 订阅
2 篇文章 2 订阅

DesignModeler模块

1 开启界面

1.开启 Workbench 19.0,选择左侧界面窗口中的 Toolbox→Geometry,拖动到右端项目窗口中,选中A2栏并单击鼠标右键,选择 New DesignModeler…即可进入DM操作界面。在这里插入图片描述
2.进入界面后,左侧模式选择部分包括草图(Sketching)和建模(Modeling)两部分,是DM建模中最常用的功能之一。在这里插入图片描述

2 草图绘制

1.在DM窗口中,单击模式选择标签中的 Skitching,进入草图绘制工具箱,其可以实现草图绘制(Draw)、修改(Modify)、标注(Dimensions)、约束(Constraints)以及设置(Settings)等相关功能

在这里插入图片描述
如何在DM中绘制2D图形

2.1 设置单位

进入菜单中的 Units,勾选长度及角度单位,机械设计中长度常用 Millimeter,角度常用 Degree
在这里插入图片描述

2.2 选择绘图基准面

在左侧模式标签中选择 Modeling 进入 Tree Outline 列表,选择A:Geometry 后单击 Look At Face,使视图正对窗口在这里插入图片描述

2.3 创建草图

选择 Skitching,在 Draw 列表中选择需要绘制的几何图形,选中的命令会出现凹陷边框;同时绘制过程中,创建的点落在坐标轴或原点时,绘图光标的笔尖位置会出现提示形状在这里插入图片描述在这里插入图片描述
返回 Tree Outline 发现在 XYPlane 中出现 Sketch 1,表明草图创建成功在这里插入图片描述

3 草图修改

此处主要针对草图工具箱中的 Modify、 Dimensions 以及 Constraints 功能进行说明

3.1 尺寸标注及约束

1.选择 Skitching Toolboxes→Constraints→Fixed,固定正六边形的中心点在这里插入图片描述
2.切换到 Dimensions→General,对草图进行尺寸标注,标注完成后在左下角 Details View,输入精确的尺寸大小,完成草图的精确绘制。在这里插入图片描述

3.2 倒圆角

选择 Modify→Fillet,并在尾部窗格输入5mm,分别选择矩形草图直角相邻的两条边,完成倒圆角操作在这里插入图片描述

3.3 特征建模

只有封闭完整的草图才能够进行特征操作,在DM中可以实现草图的拉伸、旋转、扫掠以及蒙皮等操作,以下我以拉伸为例
在这里插入图片描述
1.由 Sketching 切换到 Modeling,单击菜单命令中的 Extrude 命令,单击 Apply 完成在这里插入图片描述
2.在 FD1,Depth(>0)中输入需要拉伸的长度20mm在这里插入图片描述
3.单击 Generate 实现草图拉伸,左边新出现的表示我们成功创建了一个实体模型在这里插入图片描述

3.4 模型参数化

意义:模型参数化是WB进行优化分析并与外部几何模型实现数据双向传递的重要手段。

3.4.1 找可设置尺寸

找到头部带方框标记的参数项,该参数即为我们可以设置的参数化尺寸在这里插入图片描述

3.4.2 尺寸参数化

单击参数前方框,弹出参数化变量名称设置窗口;通过该界面可以自动以参数化变量名称命名,这里命名为“Length”,确认完成,会出现蓝色字母“D”在这里插入图片描述

3.4.3 定义特征尺寸的参数化

选择 Extrudel→Details View→FD1,Depth(>0),单机头部方框,弹出命令窗口,改为“Extrude_Length”,确认完成拉伸深度的尺寸参数化
在这里插入图片描述

3.4.4 参数化数据管理

1.我们通过参数化管理器来管理各个参数
在这里插入图片描述
2.直接在管理器中修改各个参数后,点击生成即可
例如:改长度为20mm,可看到正六边形孔变大
在这里插入图片描述
3.还可编辑各个尺寸之间的关系表达式,实现某一参数驱动其他参数的功能。
将矩形草图宽度V2参数化,命名为“Width”
4.进入参数管理器,选择 Parameter Dimension Assignments,在 Expression 一列下设置参数间的函数关系,加减乘除或调用函数,并通过“@”实现对参数表量的引用
在这里插入图片描述
5.此处假设矩形宽度是正六边形边长的2.5倍,即“2.5*@Length”生成即可

3.5 高级操作

实现对几何模型的修改、分割、中面抽取等前处理功能

3.5.1 Freeze(冻结)和Unfreeze(激活)

1.在Tools下即可找到这两个按钮在这里插入图片描述
2.冻结前颜色为深色,冻结后为浅蓝色在这里插入图片描述在这里插入图片描述
3.作用:为了方便对新建模型和原有模型进行各自独立操作,被冻结的模型可以进行切片操作(Slice)

3.5.2 Mid-Surface(中面抽取)

1.在 Tools 下可找到在这里插入图片描述
2.作用:为提高计算效率,在模型适合使用壳单元时生成一对面之间的中面

3.5.3 Enclose(包围)

1.同上
2.作用:主要用于建立含有流场区域分析的模型(如流体分析、磁场分析)
3.它可在几何模型周围实现 Shape 为 Box、Cylinder、Sphere以及 User Defined 几种形式的场域模型
4.通过选择 Shape 类型,然后在 Cushion 中定义各个方向上往外的偏置距离在这里插入图片描述

3.5.4 Imprint Faces(烙印)

1.常应用场景:
a.需要加载零件上的某一小区域;
b.在切分模型时,希望建立用于切分的面
2.具体步骤:选择草图基准面→创建草图→Extrude→Operation|Imprint Faces→Generate在这里插入图片描述

4 总结

这部分的学习让我更加清楚详细地认识 DM 功能,了解各个模块,为后面的学习使用过程奠定建模基础。操作过程中,我无法整体或局部移动模型,以及操作失误后步骤撤回问题,有待解决。

  • 22
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1.读取序列文件: ```python from Bio import SeqIO record = SeqIO.read("example.fasta", "fasta") print(record.id, "\n", record.seq) ``` 2.写序列文件: ```python from Bio.Seq import Seq from Bio.SeqRecord import SeqRecord from Bio import SeqIO seq = Seq("ATCG") record = SeqRecord(seq, id="example", description="example sequence") SeqIO.write(record, "example.fasta", "fasta") ``` 3.翻译DNA序列: ```python from Bio.Seq import Seq from Bio.Alphabet import generic_dna dna_seq = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG", generic_dna) protein_seq = dna_seq.translate() print(protein_seq) ``` 4.比对序列: ```python from Bio.Seq import Seq from Bio import pairwise2 seq1 = Seq("ATCGATCG") seq2 = Seq("ATCGATAG") alignments = pairwise2.align.globalxx(seq1, seq2) for alignment in alignments: print(alignment) ``` 5.计算DNA序列碱基组成: ```python from Bio.Seq import Seq from Bio.SeqUtils import GC, nt_search seq = Seq("ATCGATCG") gc_content = GC(seq) print(gc_content) ``` 6.计算蛋白质序列氨基酸组成: ```python from Bio.Seq import Seq from Bio.SeqUtils import ProtParam protein_seq = Seq("MKQHKAMIVALIVICITAVVAALVTRKDLCEVHIRTGQTEVAVF") protein_param = ProtParam.ProteinAnalysis(str(protein_seq)) print(protein_param.count_amino_acids()) ``` 7.解析BLAST结果: ```python from Bio.Blast import NCBIXML result_handle = open("blast_output.xml") blast_records = NCBIXML.parse(result_handle) for blast_record in blast_records: for alignment in blast_record.alignments: for hsp in alignment.hsps: print("Query:", blast_record.query) print("Subject:", alignment.title) print("Length:", alignment.length) print("E-value:", hsp.expect) print("Score:", hsp.score) print("Query sequence:", hsp.query) print("Subject sequence:", hsp.sbjct) ``` 8.计算序列间距离: ```python from Bio.Align.Applications import ClustalwCommandline from Bio import AlignIO from Bio.Phylo.TreeConstruction import DistanceCalculator from Bio import Phylo input_file = "example.fasta" output_file = "example.aln" clustalw_cmd = ClustalwCommandline("clustalw2", infile=input_file, outfile=output_file) clustalw_cmd() alignment = AlignIO.read(output_file, "clustal") calculator = DistanceCalculator("identity") dm = calculator.get_distance(alignment) print(dm) ``` 9.构建进化树: ```python from Bio.Align.Applications import ClustalwCommandline from Bio import AlignIO from Bio.Phylo.TreeConstruction import DistanceCalculator, DistanceTreeConstructor from Bio import Phylo input_file = "example.fasta" output_file = "example.aln" clustalw_cmd = ClustalwCommandline("clustalw2", infile=input_file, outfile=output_file) clustalw_cmd() alignment = AlignIO.read(output_file, "clustal") calculator = DistanceCalculator("identity") dm = calculator.get_distance(alignment) constructor = DistanceTreeConstructor() tree = constructor.build_tree(dm) Phylo.draw_ascii(tree) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌柠>-<

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值