ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

自己动手用Astra+DeepDraw嵌入式图形引擎 编写AI建模软件(一):Python会话

自己动手用Astra+DeepDraw嵌入式图形引擎 编写AI建模软件(一):Python会话 系列文章高级篇【教程】下载DeepDraw AI建模引擎并安装在Codex中使用给AI做了一套视觉工具它能自己看模型还能整理模型库Astra感觉成精了居然在通过模型的顶点推算门框轮廓线然后居然还对准了看我手把手教出来的AI学生不赖呀给张橱柜参考图一会就设计出来了Codex 直接驱动 DeepDraw 建模一句话创建模型再用一句话修改它太神奇了用Codex识别手绘的量房草稿然后直接出房型图AI建模太牛了自己动手搭建AI建模软件Codex直接操作DeepDraw窗口建模自己动手用AstraDeepDraw嵌入式图形引擎 编写AI建模软件一Python会话自己动手用AstraDeepDraw嵌入式图形引擎 编写AI建模软件二接入Astra模型自己动手用AstraDeepDraw嵌入式图形引擎 编写AI建模软件三Codex直接驱动DeepDraw建模进阶篇DeepDraw引擎 vs SketchUp 功能演示Demo截图用 DeepDraw 几何引擎开发建筑设计软件十推挤工具用 DeepDraw 几何引擎开发建筑设计软件十一偏移工具用 DeepDraw 几何引擎开发建筑设计软件十二参考线工具用 DeepDraw 几何引擎开发建筑设计软件十三删除命令基础篇PythonOpenGL绘制3D模型七制作3dsmax导出插件介绍本章开始进入到深水区开始讲引擎的高阶玩法。DeepDraw最初是为了替代SketchUp开发的功能完美兼容SketchUp同时DeepDraw引擎定位为嵌入式图形内核、Python原生接口支持天生适合由AI直接驱动是AI时代面向建筑与空间构件的、可持续修改的对话式建模工具。建立持久的Python会话1会话如何保持状态核心原理很简单namespace{__builtins__:__builtins__,dd:deepdraw_api,}# 第一次调用exec(part dd.scene.create_part(主体),namespace,namespace)# 第二次调用还能访问上次创建的 partexec(print(part.bounds),namespace,namespace)这里有两种状态几何、材质、组件保存在DeepDraw 引擎模型part 变量、自定义函数、导入模块保存在会话的namespace字典只要进程和这个字典还在会话就持续存在。不需要每次重新启动 Python也不需要反复保存、加载整个模型。进程退出后Python 变量不会自动恢复。后续用模型文件、检查点和对象 ID 实现恢复这与当前的“进程内持久会话”分开处理。2先实现一个很小的 PythonSessionimport traceback class PythonSession: def __init__(self, dd): self.namespace { __builtins__: __builtins__, __name__: __deepdraw_session__, dd: dd, } self.execution_count 0 def execute(self, source): # 由 Qt 主线程调用 self.execution_count 1 filename deepdraw-cell-{}.format( self.execution_count ) try: code compile(source, filename, exec) exec(code, self.namespace, self.namespace) return { status: ok, execution_id: self.execution_count, } except Exception: return { status: error, execution_id: self.execution_count, traceback: traceback.format_exc(), }
返回列表