当前位置: 首页 > news >正文

手机网站怎么布局国外做糖网站

手机网站怎么布局,国外做糖网站,easyui做网站,网络运维工程师项目经验文章目录 一. 介绍1. FDS#xff08;Fire Dynamics Simulator#xff09;2. BlenderFDS 二. 下载代码三. 开发环境配置四. 代码解读1. blender python特有语法2. 代码结构2.1 变量名解释2.2 bl文件夹operators文件夹ui其他文件 2.2 lang文件夹bf_sceneON_GEOMON_MESHON_MOVEO… 文章目录 一. 介绍1. FDSFire Dynamics Simulator2. BlenderFDS 二. 下载代码三. 开发环境配置四. 代码解读1. blender python特有语法2. 代码结构2.1 变量名解释2.2 bl文件夹operators文件夹ui其他文件 2.2 lang文件夹bf_sceneON_GEOMON_MESHON_MOVEON_MULTOP_PBOP_XBOP_XYZSN_DUMP其他 2.3 types2.4 utils2.5 其他文件config.py__init__.py 一. 介绍 1. FDSFire Dynamics Simulator FDS 是一种火灾动力学模拟软件主要用于模拟建筑物、隧道和其他空间中的火灾行为。由美国国家标准与技术研究院NIST开发它采用计算流体力学CFD方法来模拟火灾的烟气扩散、温度分布、流体运动等现象。FDS 适用于火灾科学研究、建筑物防火设计、火灾安全分析等领域。 特点 使用大涡模拟LES方法精确模拟火焰、烟气流动和热量传递。 支持复杂的几何结构可以模拟多种材料的燃烧行为。 与烟气可视化工具 Smokeview 集成可以生成火灾的三维可视化效果。 2. BlenderFDS BlenderFDS 是一个为 Blender 开发的插件专门用于辅助 FDS 模型的创建和编辑。由于 FDS 本身没有友好的图形界面建模复杂的几何结构比较困难。BlenderFDS 利用 Blender 的 3D 建模能力让用户在 Blender 中创建和编辑 FDS 模型然后将模型导出为 FDS 能够读取的文件格式。 特点 提供简单的界面将 Blender 的几何模型转换为 FDS 兼容的模型。 支持 FDS 中常用的火灾模拟属性设置比如材料属性、热释放速率HRR、烟气排放等。 通过 Blender 的直观建模工具可以快速创建复杂的建筑结构和空间。 二. 下载代码 blenderfds的github链接 三. 开发环境配置 常见的配置方法有 1.conda创建虚拟环境,blender改掉原本调用的python为虚拟环境 2.pycharm中使用blender的python, 还需要安装一些框架 3.将插件安装,然后pycharm打开插件所在位置,即可动态更改. 这里采用最简单的方式3,安装blenderfds插件后,可以打开下列路径,记得修改用户名. C:\Users\用户名\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\blenderfds 这个方式暂时没有发现弊病, 其他方法后续再尝试. (后续:别的方法安装麻烦,但使用更好 四. 代码解读 1. blender python特有语法 c语言中定义变量和使用的方法是: int my_int 5; // 整数变量默认值为5 float my_float 3.14; // 浮点变量默认值为3.14void function() {// 使用这些变量printf(Integer Value: %d\n, my_int);printf(Float Value: %.2f\n, my_float); } 除了常规的python定义变量的方法, blender中,还有一种定义变量的方法 import bpy# 定义一个操作符类 class OBJECT_OT_custom_operator(bpy.types.Operator):bl_idname object.custom_operatorbl_label Custom Operator# 定义自定义变量属性my_int: bpy.props.IntProperty(nameInteger Property, # 属性名称descriptionAn integer property, # 描述default5, # 默认值min1, # 最小值max100 # 最大值)my_float: bpy.props.FloatProperty(nameFloat Property, # 属性名称descriptionA floating point property, # 描述default3.14 # 默认值)def execute(self, context):# 使用自定义变量print(fInteger Value: {self.my_int}) # 输出整数值print(fFloat Value: {self.my_float}) # 输出浮点值# 在Blender中调整对象的位置类比C语言中的操作obj context.active_object # 获取当前活动对象obj.location.x self.my_float # 用浮点值来调整对象的位置return {FINISHED} # 操作完成返回 如何赋值这种变量呢, 赋值方法1: 通过ui界面 Blender中的 bpy.props.FloatProperty 属性通常是在操作符的UI面板中呈现的用户可以通过界面交互来设置其值。 在你定义的操作符类中my_float 作为属性Blender会自动为其生成一个控件通常是一个滑块或者文本框并允许用户修改它。你只需要确保在 draw 方法中显示这个属性控件。 import bpyclass OBJECT_OT_custom_operator(bpy.types.Operator):bl_idname object.custom_operatorbl_label Custom Operator# 定义自定义属性my_float: bpy.props.FloatProperty(nameFloat Property, # 属性名称descriptionA floating point property, # 描述default3.14 # 默认值)def draw(self, context):layout self.layoutlayout.prop(self, my_float) # 显示my_float控件用户可以在UI中修改这个值def execute(self, context):print(fFloat Value: {self.my_float}) # 输出my_float的当前值return {FINISHED}执行操作符后my_float 将显示在Blender的UI面板上通常是一个浮动的面板。你可以通过面板中的滑动条或输入框来设置其值。 当用户点击确认按钮时my_float 的新值会被传递到 execute 方法中进行后续的操作。 赋值方法2: 直接赋值 import bpyclass OBJECT_OT_custom_operator(bpy.types.Operator):bl_idname object.custom_operatorbl_label Custom Operatormy_float: bpy.props.FloatProperty(nameFloat Property, descriptionA floating point property, default3.14 )def execute(self, context):# 直接给my_float赋值self.my_float 5.67 # 将my_float的值设置为5.67print(fNew Float Value: {self.my_float}) # 输出新值return {FINISHED} 2. 代码结构 2.1 变量名解释 这个是根据代码内容推测的,部分变量名中常出现的一些缩写 OT_bf : Operator_blenderfds 2.2 bl文件夹 operators文件夹 check_geom.py 检查几何体封闭性(Check Sanity)和相交(Check Intersections)情况 choose_namelist_id.py 用于在自由文本中选择 MATL_ID 和 PROP_ID 的操作符。 clean_ma_slots.py 清理对象的材质槽,材质槽Material Slots是Blender中一个对象的属性它决定了该对象可以使用多少个材质。每个材质槽可以关联一个材质Material用来为对象的不同部分如面、边、顶点设置不同的外观。材质槽允许你为一个对象的不同面或区域指定不同的材质 copy_params.py 用于在实体之间复制FDS参数值。 gis.py 地理位置相关,对象的地理位置啥的 load_bf_settings.py 加载默认BlenderFDS设置删除当前数据 mesh_tools.py 设置mesh 设置建议的单元格大小, 自定义了很多参数涉及的数据类型 run_external.py 加载默认命令,在终端中运行 FDS。估算 FDS 计算完成的预计时间。运行 Smokeview 显示 FDS 模拟结果。 scene_export.py 将blender导出为fds文件 scene_import.py 将fds导入当前/新场景 show_fds_code.py 对话框类用于提示, 显示代码类, 从选中对象/集合/材质/场景 导出代码 show_fds_geometry.py 这个没看懂 “Show FDS Geometry” 操作符将会展示当前对象的FDS几何体。 “Hide FDS Geometry” 操作符将会隐藏所有的临时FDS几何体。 show_ui.py 展示材料面板 SCENE_OT_bf_show_text: 在Blender的文本编辑器中显示文本 update_addon.py 更新插件相关 ui init.py 注册simplify_uisimplify.py 实现了一个简化版的Blender界面。用户可以通过插件首选项控制是否启用简化UI。 其他文件 init.py 注册bl文件夹内所有内容handlers.py 加载blender后, 文件保存前, 依赖图更新后处理.menus.py 菜单中添加导入导出fds文件panels.py ,面板ui, 图下两块 preferences.py 偏好设置中对插件的设置界面包括设置smv, fds运行的指令ui_lists.py 只是定义了一下右侧其他参数的那个像表格的ui 2.2 lang文件夹 除了一些公用属性和定义, 定义了每个命令的参数,导入,导出. bf_scene bf_scene.py 扩展了 Blender Scene为其添加了与 FDS火灾动力学模拟器相关的功能。 添加了导入和导出 FDS 格式数据的功能支持从 FDS 文件或字符串创建场景或将场景数据转换为 FDS 格式。export_help.py 将 Blender 中的对象、集合、材质等数据转化为 FDS 所需的格式支持完整导出和部分导出并根据配置文件的设置处理输出顺序和内容。import_help.py 从 FDS 格式数据导入到 Blender 场景中支持场景Scene、物体Object、材质Material等不同类型的 FDS namelists 导入。它根据 FDS 数据将相应的 Blender 元素创建或更新并根据数据类型分别处理支持管理和非管理 namelists 的导入还包括了错误处理和进度显示。 ON_GEOM bingeom.py 读取和写入 FDS bingeom 文件的功能 没看懂geom_to_ob.py 将 FDS 数据中的几何体准确转换为 Blender 可用的 3D 对象并确保其材质和几何属性正确映射。ob_to_geom.py 将Blender模型转换成FDS可以使用的格式ON_GEOM.py 从 FDS 参数列表中读取几何体相关的参数并根据这些参数进行几何体的创建或转换。用于处理Blender对象的表面IDSURF_ID相关操作的类。它包括 get_value: 获取物体的表面ID值。 set_value: 设置物体的表面ID涉及材料槽的删除和重新赋值 ON_MESH align_meshes.py 对齐网格calc_meshes.py 于计算网格Mesh参数的函数目的是为网格生成、细分和对齐等操作提供支持。split_mesh.py 这段代码实现了对网格Mesh的划分操作主要包括根据给定的细分数nsplits对网格进行分割并计算分割后的相关信息如每个子网格的 ijk 尺寸、网格的边界框xbs、网格细胞大小cs、网格 IDhids等。ON_MESH.py 包含网格MESH相关参数和操作的系统用于在 Blender 中处理计算流体动力学CFD模拟或其他物理仿真任务。具体地它设置了不同的网格参数如 IJK、nsplits、XB 等并实现了这些参数的更新、显示和导出。 ON_MOVE t34.py 将FDS中的MOVE变换数据包括平移、缩放、旋转等转回Blender中使用的4x4矩阵格式,将Blender中的4x4矩阵转换为FDS中的T34格式一个由9个元素组成的三行三列矩阵和一个3D平移向量。ON_MOVE.py 用于处理几何变换MOVE。该类是一个Namlist命名列表它包含了多个几何变换参数如平移、旋转、缩放等。 ON_MULT MULT MultiplierParameters 用于生成多个网格的命令。它允许通过复制和位移现有网格来快速创建多个均匀排列的网格而无需手动逐一定义每个网格。这对于大规模模拟尤其有用例如在一个规则的几何区域中布置多个相同尺寸的网格。 multiply.py 这段代码的核心是根据给定的多重变换规则扩展生成多个新的 xb 坐标和 hid 标识符。ON_MULT.py 这个命令相关的一些操作,包括其ui界面 OP_PB PB是指PBX PBY PBZ这种指定平面的数据,例如PBX1 表示x1的平面, blender与fds中的定义不同,要相互转换. ob_to_pbs,py 用于将Blender中的物体几何信息转换为FDS火灾动力学模拟中的PBPlanes表示法的一个模块。pbs_to_ob.py 将FDS PB格式的平面数据例如 (“PBX”, x3)导入到Blender物体ob中生成一个新的网格。OP_PB.py OP_PB 类 功能这是一个Blender操作类主要用于处理PB格式的导出操作。它继承自 BFParam并用于将Blender对象的几何数据导出为FDS的PBPlanes格式。 OP_PBX, OP_PBY, OP_PBZ 类 功能这些类分别用于导入FDS中的不同平面类型PBX、PBY、PBZ到Blender中继承自 OP_PB但只用于导入操作不涉及导出。 OP_XB xb是fds中的位置大小定义方式,XB: 定义网格的边界网格是一个单一的直角平行六面体长方体遵循右手坐标系规则。网格的起点由六个实数XB中的第 1、3 和 5 个值定义网格的对角点由第 2、4 和 6 个值定义。 cakc_pixels.py Blender对象的像素化Pixelization算法用于将Blender中的三维几何对象转换为一个二维的像素表示形式。calc_voxels.py 体素化, 将blender对象坐标转换为xbob_to_xbs.py xbs_to_ob.py blender对象转换为符合fds格式的xb数据, 或者后者转换为前者.OP_XB.py 这段代码允许用户通过Blender界面设置对象的几何数据导出类型可以选择边界框、体素、像素、面或边作为导出选项。在导出时代码会将选择的几何数据转换为FDS支持的格式用于火灾模拟。 OP_XYZ XYZ: 节点的坐标。 ob_to_xyzs.py xyzs_to_ob.py将Blender对象的几何数据转换为FDS火灾动态模拟使用的XYZ坐标数据格式。反之,后者转换为前者.OP_XYZ.py OP_XYZ这是一个Blender自定义操作操作面板上的按钮/选项用于导出Blender对象的XYZ点数据。to_fds_list 此方法将Blender对象的几何数据转换为FDS所需的格式. set_value 此方法允许从FDS导出数据后将XYZ坐标应用回Blender对象 SN_DUMP DUMP命令用于控制FDS中不同类型数据的输出频率和方式包括点设备、切片、粒子、等值面等数据的保存。通过配置参数可以灵活指定输出的时间间隔和特定的输出时刻。 NFRAMES: 定义总输出帧数默认值为1000。输出频率由T_END - T_BEGIN/ NFRAMES计算。 SMOKE3D是否输出三维烟雾数据。 sc_to_ge1.py 将Blender的几何数据导出为GE1文件格式GE1是一种用于FDSFire Dynamics Simulator模拟的几何文件格式。没看懂这个ge1SN_DUMP.py DUMP Namelist 类SN_DUMP SN_DUMP 类代表了 FDS 中的 DUMP Namelist它包含了与输出数据相关的各种参数如 几何描述文件 (RENDER_FILE) 状态文件 (STATUS_FILES) 输出频率 (NFRAMES, DT_RESTART 等) bf_params 元组定义了所有可以添加到 DUMP Namelist 中的导出参数它们在上述的类中已经定义。 scene_to_ge1 函数将 Blender 场景的几何数据转换为 GE1 格式然后保存为文件。 其他 bf_collenction.py get_layer_collection 方法的使用 在 Blender 中集合Collection被组织在多个 layer_collection 层中。通过 get_layer_collection 方法能够定位与特定 Collection 对象相关联的层集合。 to_fds_list 方法用于将 Collection 对象及其包含的所有对象转换为 FDS 格式的数据。它会遍历集合中的所有对象并将它们按字母顺序进行排序。bf_material.py update_MP_namelist_cls_items 函数 该函数更新了 MP_namelist_cls 中可选项的列表。MP_namelist_cls 是一个枚举类型定义了与 FDS 中的 namelist 相关的材质类别。它会根据 BFNamelist 中的子类更新可选项。 函数会从 BFNamelist 子类中收集材质类型如 SURF并更新 MP_namelist_cls 的 items。 bf_object.py 关联到 FDS 数据模型并生成适当的 namelist。OP_is_tmp 和 OP_has_tmp 类分别管理对象是否为临时对象. OP_ID 类扩展了对象的标识符管理在临时对象的情况下允许通过添加后缀来区分不同的对象实例。 MN_SURF.py 定义了一个 SURF边界条件名单类型指定了与该名单相关的属性如 ID、颜色、透明度等以及导出控制逻辑。它通过继承 BFNamelistMa 类并在其基础上扩展了导出和导入的行为。 ON_DEVC.py ON_DEVC 类继承自 BFNamelistOb并包含多个参数类用于配置和控制设备Device的输出属性。 ON_HOLE.py ON_INIT.py ON_OBST.py ON_other.py ON_PROF.py ON_SLCF.py ON_VENT.py ON_ZONE.py OP_SURF_ID.py SN_CATF.py SN_config.py SN_HEAD.py SN_MISC.py SN_MOVE.py SN_MULT.py SN_PERS.py SN_RADI.py SN_REAC.py SN_TIME.py 2.3 types bf_exception.py BFException 类具有灵活的异常信息生成机制可以包含错误源和详细的描述而 BFNotImported 类则专门用于处理与 FDS 导入相关的失败情况。bf_namelist.py BFNamelist 类 功能这是一个抽象基类表示 Blender 中与 FDS火灾动态模拟器Namelist 组的对应关系。它定义了如何管理 Blender 中的 FDS 参数并通过各种方法与 FDS 配置进行交互。bf_param.py BFParam 这个类表示一个 Blender 参数它对应于 FDS 的一个命令。 BFParamOther 继承自 BFParam用于处理自定义的 “其他” FDS 参数。fds_list.py FDSNamelist FDSList 的子类表示FDS输入文件中的一个命名列表Namelist它是参数的集合。 构造函数 (init)初始化时需要指定一个 fds_label命名列表的名称还可以提供 f90_paramsF90格式的参数、msgs注释信息等参数。 2.4 utils binpacking.py 简单的装箱算法。 该脚本实现了一个简单的第一适应装箱算法其中物品被分配到固定数量的箱子中。每个物品都有一个重量目标是将物品分配到箱子中以最小化每个箱子的总重量。 geometry.py 对对象的操作: 获取,设置临时,移除, 变换, 获取边界框 对材质的操作: 创建, 获取 gis.py 地理坐标系统WGS84与UTMUniversal Transverse Mercator坐标系统之间的转换。 io.py 这段代码包含了多个用于处理文件路径和文件输入输出的实用函数主要用于Blender与FDS火灾模拟文件之间的转换和文件操作。 text.py 这段代码提供了一个用于文本管理的实用函数append_word。该函数主要用于将一个单词追加到文本行的末尾同时确保文本不会超过最大长度MAXLEN。如果当前行的长度不足以容纳新的单词它将自动换行并添加必要的缩进。 ui.py get_screen_area(context, area_type“PROPERTIES”) 该函数用于获取指定类型的Blender界面区域如 “PROPERTIES” 面板。如果该区域不存在函数会尝试创建它。context: Blender的上下文对象提供关于当前场景、对象等的相关信息。 area_type: 要查找或创建的区域类型默认为 “PROPERTIES”。 show_bl_text(context, bl_textNone, nameNone) 该函数将在Blender的文本编辑器中显示文本。context: Blender的上下文。 bl_text: 要显示的文本对象。如果未给定则创建一个新的文本对象。 name: 可选的文本名称如果没有提供则使用默认名称。 write_bl_text(context, bl_text, headerNone, texts()) 该函数将文本写入Blender的文本编辑器。 参数 context: Blender的上下文。 bl_text: 要写入的文本对象。 header: 可选的文本头部添加到文本内容的前面。 texts: 要添加的实际文本内容。 show_property_panel(context, space_context“MATERIAL”) 该函数用于显示或切换到Blender的属性面板默认为材料面板。 view_all(context) 该函数执行视图操作 view3d.view_all即在3D视图中适应所有对象。 updater.py 用于管理Blender插件更新的工具。 2.5 其他文件 config.py 配置信息,包括精度,是否开启自动设置,输出格式缩进,github更新设置等 比较重要的: FDS_COMMAND SMV_COMMAND TERM_COMMAND指定了在不同操作系统Linux、Mac、Windows上执行FDS和SMV命令的方式。 init.py bl_info插件信息 日志 注册,注销 bl和lang
http://www.w-s-a.com/news/207305/

相关文章:

  • 厦门网络营销顾问湘潭网站seo
  • asp.net个人网站淮南 搭建一个企业展示网站
  • 备案关闭网站wordpress 替换
  • 台州建设网站制作wordpress乱码
  • 互联网时代 网站建设做交互设计的网站
  • 网站屏蔽中文浏览器湘潭做网站广告的公司
  • 好看的单页面网站模板免费下载手机网站经典案例
  • 优秀网站建设平台建筑模板工厂价格尺寸
  • 合肥微信网站建设旅游景区网站模板
  • 一个只做百合的网站wordpress文章和博客的区别
  • 编写网站策划方案网站哪里有
  • 网站做得好的公司国家防疫政策最新调整
  • 设计优秀的企业网站做行测的网站
  • 提供做网站公司有哪些关键词优化诊断
  • 建站合肥网络公司seo免费建手机商城网站吗
  • 设计师投资做项目网站外贸网站建设工作室
  • 无聊的网站wordpress的alt属性插件
  • 个股期权系统网站开发小清新wordpress模板
  • 全中文网站开发建筑公司企业愿景文案
  • 广州网站建设正规公司建设银行信用卡中心网站
  • 哪个网站是专门做封面素材怎么制作app平台
  • 网站开发 平均工资商标注册在哪个部门申请
  • 做外贸需要自己的网站吗营销型网站建设市场分析
  • 绍兴网站制作推广wordpress 无法自动升级
  • 阿里云建站数据库用什么app制作开发费用多少
  • 中国住房和城乡建设部网站资质查询中小开网站
  • 交易所网站开发水果营销软文
  • 石家庄有什么好玩的地方2017织梦网站怎么做seo
  • wordpress项目插件seo的含义
  • 网站平台建设的作用电影宣传类网页界面设计