系列文章
高级篇
【教程】下载DeepDraw AI建模引擎并安装在Codex中使用
给AI做了一套视觉工具,它能自己看模型,还能整理模型库
Astra感觉成精了,居然在通过模型的顶点推算门框轮廓线,然后居然还对准了
看我手把手教出来的AI学生不赖呀,给张橱柜参考图一会就设计出来了
Codex 直接驱动 DeepDraw 建模:一句话创建模型,再用一句话修改它
太神奇了,用Codex识别手绘的量房草稿,然后直接出房型图
AI建模太牛了,自己动手搭建AI建模软件,Codex直接操作DeepDraw窗口建模
自己动手用Astra+DeepDraw嵌入式图形引擎 编写AI建模软件(一):Python会话
自己动手用Astra+DeepDraw嵌入式图形引擎 编写AI建模软件(二):接入Astra模型
自己动手用Astra+DeepDraw嵌入式图形引擎 编写AI建模软件(三):Codex直接驱动DeepDraw建模
进阶篇
DeepDraw引擎 vs SketchUp 功能演示Demo截图
用 DeepDraw 几何引擎开发建筑设计软件(十):推挤工具
用 DeepDraw 几何引擎开发建筑设计软件(十一):偏移工具
用 DeepDraw 几何引擎开发建筑设计软件(十二):参考线工具
用 DeepDraw 几何引擎开发建筑设计软件(十三):删除命令
基础篇
Python+OpenGL绘制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.先实现一个很小的 PythonSession
import 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(), }