本帖最后由 你有种再说一遍 于 2025-8-29 01:02 编辑
# 智能绘图助手原理
我们上一篇知道了BrepNet卷积是用于三维结构,
但是我想实现是AI助手绘图推荐(类似VS的AI输入推荐,灰显对象tab确定),以及二维平立面反造三维.
立面的二维图元想要联想邻近立面存在原理层面的障碍,
但是神经网络在联想这方便是强项,如何可以利用上呢?
CAD图元存在块,动态块,标注,等等这些复合图元,要如何读取呢?
图片生成2d矢量图元反而比3d困难,
主要是做3d的人太多了,而且有高斯泼溅这种神器,理论路线已经非常清晰.
有时候我还在想,
智能绘制节点图是不是应该to3d再切面,实现升维求解.
还倾向于拟合模糊数字后转为策略引擎实现各种约束传播.
还想在生成2d图元之后要修改尺寸,再依据设计说明的描述生成底层结构,
那么二维数据上面还要加料描述,例如动态块可拉伸的部位是什么.
混乱的细节导致我不知道到底用概率模型还是策略引擎.
然后我查找了一下数据集,
它们都是倾向于是Acad的DWG转为SVG进行描述.
那么我发现了,其实我把后面的工作拿到前面想了,我也应该沿着这个技术路径走.
## 参考
1,CLIP可以将语句向量(描述语句)和图片向量进行共享语义空间的方式对齐特征,
从而输入图片,识别图片当中的元素,得到描述文字.
对齐不同长度的多维向量可以自行问问AI,尤其是需要多次压缩向量.
这种模型叫多模态模型,它的原理是通过切分固定大小的小图片进行识别语义,
它和yolo等卷积神经网络差异是没有滑动窗口,
所以它对于小目标和数数存在缺陷.
2,获取嵌入词之后再根据VAE或者扩散模型进行文生图.
BMP理论上支持无限画布,但是潜在空间与降维建模会限制范围.
潜在空间压缩:文生图AI(如扩散模型)并不直接操作像素空间,
而是先在低维潜在空间(latent space)生成图像特征.
例如,Stable Diffusion将512×512图像压缩到64×64的潜在空间,大幅降低计算量.
扩散过程:通过反向扩散(从噪声逐步去噪)
模型在潜在空间中迭代生成结构化的特征分布,这些特征最终通过解码器(如VAE)映射回像素空间.
3,VAE有生成图片或者矢量的功能.
根据im2vec项目,我们拥有一个技术是根据BMP进行卷积得到隐变量z,
它是一个128维的隐向量(可以理解为曲线多项式函数逼近器),
用VAE解码后就是贝塞尔曲线的控制点.
再用DiffVG重新栅格化,得到路径像素再和原图比较,获取差异值,就可以反向传播了.
它的反向传播并不需要任何点集,而是像你的老板一样,
你调大了,会告诉你这里不对,那里不对,你调到对或者累了为止.
大家对数学感兴趣的话可以看看VAE变分自编码器的数学推导,
ELBO到重参数化均有严格推导,依赖经验性结论,
它是为数不多的具备完整数学理论的AI框架.
它有一个VQ-VAE离散化修复输出不够高清的方案.
4,类似项目
CADCrafter是图片转零件.
Im2cad是室内图片转为三维模型(腾讯/天工技术路径类似)
腾讯和天工的技术路径,生成全景图之后引导生成3d图元,
先在全景图估计深度信息,再根据相机轨迹引导生成2d全景视频,再生成3d全景视频.
3dgs(高斯泼溅)重建3d细节,或者根据网络预测3dgs属性来优化细节.
论文:http://arxiv.org/abs/2412.04827v1
主页:https://people.engr.tamu.edu/nimak/Papers/PanoDreamer
代码:https://github.com/avinashpaliwal/PanoDreamer
5,由于CAD是即时性,
想要速度快的语言模型作为辅助,可以用小模型,例如微软开源的Phi.
总结:
那么我们已经存在的技术是,图生文,文生图,图生文生图,图生矢量曲线,矢量曲线生图(靠渲染).
## 原理设计
CAD也是一个无限大画布,因此首先要处理是空间问题.
需要把数据源DWG生成BMP和WMF
(如果想复用工具链,其实转SVG更好,DXF也行,概念总是和实现南辕北辙)
统一了模型尺度,变相归一化了,它们可以像CLIP一样各自生成多维向量.
如此一来,我们其实通过中间格式渲染机制避免了CAD复合图元的读取问题.
这两种格式会自然存在一些特点.
严格映射:
原点一致,空间大小的局限范围一致,可以完美重叠一起.
图元即token:
BMP是一张包含全部图元的图片,WMF则会存在多张,每个图元单独绘制出来重叠显示.
这个手法不就和GPT一样了,拿着BMP进行猜测对应的矢量图元,猜错了给惩罚.
神经网络可以帮助我们从完整的想象,到绘制每个图元之后判别交叉熵.
单个图元还嵌入"CAD命令"语义.
多个图元的名称,数量,无序(词袋-独热编码,还是某种顺序)是天然的语义内容,可以进行嵌入语义到向量数据中.
在CAD当前画面就可以作为快照,加入噪声,然后让扩散模型进行去噪,诱导生成BMP.
例如图像修复技术上面可以不断延拓.
现在我们做了一个多模态模型,
通过语义嵌入技术把共同描述文本,把原始WMF和原始BMP联系起来了.
TXT->BMP->WMF,顺序调换输出也可以,兼容LLM模型,复用了已经被证明成功的路线.
WMF是矢量文件,自然就可以转为DWG了,只是会有个插入CAD需要重新位移到捕捉点和缩放的小问题.
多级训练,BMP毕竟是像素文件,我们可以制作多种大小的数据源,以此加深神经网络的理解.
这样就不需要把全部AI模型串联起来,只需要按照两两建立.
最后需要用强化学习.
像ClaudeCode用代码进行权限门控,防止上下文溢出异常,指令失败记录等等.
在CAD上面显示就是瞬态图元了,
并且记录用户后续的手工优化命令,如水平垂直坐标修正,循环进行调整参数.
## 数据集
ABC数据集:数百万个CAD模型带参数
FloorplanCAD:标注语义的室内图纸,用了SVG作为媒介.
BuildingNet:包含建筑构件语义标注的3D模型,补充细节优化数据.
归向性
由于pt1-pt2和pt2-pt1组成的直线是画面一致,
神经网络不需要处理这个生成差异,应该说这种手性差异本身就是多余的.
因此,我们需要把数据源的图元进行方向的统一管理,再导出为WMF.
例如矩形只会左下角起顺时针,直线射线只会左向右,下往上,圆弧只会顺时针...
如此一来,它就成为了优质语料.网友答:
在我们cad.net群有个人跟你一样,
那么多年技术没有什么进步,然后只能说别人是码农,自己才是发明家,
结果问两道面试题就G了,然后只能说别人是孔乙己.
忘记看后面还有一章阿Q了.网友答: 大模型为什么不能直接看“dwg”图形,这个很难吗,难在什么地方,相较PDF而言
————————————————————————————————————————
如果有一个大模型能够很方便的看懂“dwg”图形,而且能象一个工程师一样的调用工具进行绘图和查询,甚至创作,哪么肯定有巨大的好处,想要做到这一步,是不是非常因难,有没有相关的研究。
——————————————————————————————————————————
网友答: 本帖最后由 你有种再说一遍 于 2025-8-25 17:53 编辑
大模型指的是LLM+多模态模型.
它们是能看懂图纸的,但是表现力肯定不如专项训练.
我文章上面也有使用了它CLIP语义嵌入等技术.
一是数据集不够精,二是推理速度不够快,这些都是硬伤.
DWG格式太复杂了,所以必须要转成BMP等图片,实现更好并行性.网友答: 本帖最后由 gzcsun 于 2025-8-25 18:28 编辑
初时一看,感觉有点吹。
不过再看看,又感觉有点牛。
最后由心感慨,是不是有点2B。
网友答: 1. 这段话的重点在说啥?
目标:做一个像 VS 里代码智能提示那样的 CAD 智能绘图助手
👉 输入二维平面/立面图,AI 自动理解,给你推荐绘制结果,甚至能从 2D 推理出 3D。
难点:
CAD 里的东西不只是线,还有 块、标注、动态块,很复杂。
2D 矢量比 3D 难(因为 2D 要求精确到点和线,误差小就会乱)。
不知道用概率模型(神经网络)还是规则模型(策略引擎)更好。
解决思路:
把 CAD 图(DWG)先转成图片(BMP)和矢量分层文件(WMF/SVG)。
用神经网络去学「图片↔矢量↔文字」之间的关系(就像 CLIP 一样)。
神经网络负责“联想”和“猜测”,规则引擎负责“约束和修正”(比如保证直线真的是水平/垂直)。
最后把结果再写回 CAD,显示成灰显建议,用户按 Tab 就能确认。网友答: 本帖最后由 你有种再说一遍 于 2025-8-26 11:34 编辑
讲我的思考过程啊,结合后面腾讯和天工的资料网友答:
好的好的 虽然听不懂网友答: 本帖最后由 你有种再说一遍 于 2025-8-26 16:36 编辑
概率模型就是神经网络,策略引擎就是手写各种代码去保证.
# 智能绘图助手原理
我们上一篇知道了BrepNet卷积是用于三维结构,
但是我想实现是AI助手绘图推荐(类似VS的AI输入推荐,灰显对象tab确定),以及二维平立面反造三维.
立面的二维图元想要联想邻近立面存在原理层面的障碍,
但是神经网络在联想这方便是强项,如何可以利用上呢?
CAD图元存在块,动态块,标注,等等这些复合图元,要如何读取呢?
图片生成2d矢量图元反而比3d困难,
主要是做3d的人太多了,而且有高斯泼溅这种神器,理论路线已经非常清晰.
有时候我还在想,
智能绘制节点图是不是应该to3d再切面,实现升维求解.
还倾向于拟合模糊数字后转为策略引擎实现各种约束传播.
还想在生成2d图元之后要修改尺寸,再依据设计说明的描述生成底层结构,
那么二维数据上面还要加料描述,例如动态块可拉伸的部位是什么.
混乱的细节导致我不知道到底用概率模型还是策略引擎.
然后我查找了一下数据集,
它们都是倾向于是Acad的DWG转为SVG进行描述.
那么我发现了,其实我把后面的工作拿到前面想了,我也应该沿着这个技术路径走.
## 参考
1,CLIP可以将语句向量(描述语句)和图片向量进行共享语义空间的方式对齐特征,
从而输入图片,识别图片当中的元素,得到描述文字.
对齐不同长度的多维向量可以自行问问AI,尤其是需要多次压缩向量.
这种模型叫多模态模型,它的原理是通过切分固定大小的小图片进行识别语义,
它和yolo等卷积神经网络差异是没有滑动窗口,
所以它对于小目标和数数存在缺陷.
2,获取嵌入词之后再根据VAE或者扩散模型进行文生图.
BMP理论上支持无限画布,但是潜在空间与降维建模会限制范围.
潜在空间压缩:文生图AI(如扩散模型)并不直接操作像素空间,
而是先在低维潜在空间(latent space)生成图像特征.
例如,Stable Diffusion将512×512图像压缩到64×64的潜在空间,大幅降低计算量.
扩散过程:通过反向扩散(从噪声逐步去噪)
模型在潜在空间中迭代生成结构化的特征分布,这些特征最终通过解码器(如VAE)映射回像素空间.
3,VAE有生成图片或者矢量的功能.
根据im2vec项目,我们拥有一个技术是根据BMP进行卷积得到隐变量z,
它是一个128维的隐向量(可以理解为曲线多项式函数逼近器),
用VAE解码后就是贝塞尔曲线的控制点.
再用DiffVG重新栅格化,得到路径像素再和原图比较,获取差异值,就可以反向传播了.
它的反向传播并不需要任何点集,而是像你的老板一样,
你调大了,会告诉你这里不对,那里不对,你调到对或者累了为止.
大家对数学感兴趣的话可以看看VAE变分自编码器的数学推导,
ELBO到重参数化均有严格推导,依赖经验性结论,
它是为数不多的具备完整数学理论的AI框架.
它有一个VQ-VAE离散化修复输出不够高清的方案.
4,类似项目
CADCrafter是图片转零件.
Im2cad是室内图片转为三维模型(腾讯/天工技术路径类似)
腾讯和天工的技术路径,生成全景图之后引导生成3d图元,
先在全景图估计深度信息,再根据相机轨迹引导生成2d全景视频,再生成3d全景视频.
3dgs(高斯泼溅)重建3d细节,或者根据网络预测3dgs属性来优化细节.
论文:http://arxiv.org/abs/2412.04827v1
主页:https://people.engr.tamu.edu/nimak/Papers/PanoDreamer
代码:https://github.com/avinashpaliwal/PanoDreamer
5,由于CAD是即时性,
想要速度快的语言模型作为辅助,可以用小模型,例如微软开源的Phi.
总结:
那么我们已经存在的技术是,图生文,文生图,图生文生图,图生矢量曲线,矢量曲线生图(靠渲染).
## 原理设计
CAD也是一个无限大画布,因此首先要处理是空间问题.
需要把数据源DWG生成BMP和WMF
(如果想复用工具链,其实转SVG更好,DXF也行,概念总是和实现南辕北辙)
统一了模型尺度,变相归一化了,它们可以像CLIP一样各自生成多维向量.
如此一来,我们其实通过中间格式渲染机制避免了CAD复合图元的读取问题.
这两种格式会自然存在一些特点.
严格映射:
原点一致,空间大小的局限范围一致,可以完美重叠一起.
图元即token:
BMP是一张包含全部图元的图片,WMF则会存在多张,每个图元单独绘制出来重叠显示.
这个手法不就和GPT一样了,拿着BMP进行猜测对应的矢量图元,猜错了给惩罚.
神经网络可以帮助我们从完整的想象,到绘制每个图元之后判别交叉熵.
单个图元还嵌入"CAD命令"语义.
多个图元的名称,数量,无序(词袋-独热编码,还是某种顺序)是天然的语义内容,可以进行嵌入语义到向量数据中.
在CAD当前画面就可以作为快照,加入噪声,然后让扩散模型进行去噪,诱导生成BMP.
例如图像修复技术上面可以不断延拓.
现在我们做了一个多模态模型,
通过语义嵌入技术把共同描述文本,把原始WMF和原始BMP联系起来了.
TXT->BMP->WMF,顺序调换输出也可以,兼容LLM模型,复用了已经被证明成功的路线.
WMF是矢量文件,自然就可以转为DWG了,只是会有个插入CAD需要重新位移到捕捉点和缩放的小问题.
多级训练,BMP毕竟是像素文件,我们可以制作多种大小的数据源,以此加深神经网络的理解.
这样就不需要把全部AI模型串联起来,只需要按照两两建立.
最后需要用强化学习.
像ClaudeCode用代码进行权限门控,防止上下文溢出异常,指令失败记录等等.
在CAD上面显示就是瞬态图元了,
并且记录用户后续的手工优化命令,如水平垂直坐标修正,循环进行调整参数.
## 数据集
ABC数据集:数百万个CAD模型带参数
FloorplanCAD:标注语义的室内图纸,用了SVG作为媒介.
BuildingNet:包含建筑构件语义标注的3D模型,补充细节优化数据.
归向性
由于pt1-pt2和pt2-pt1组成的直线是画面一致,
神经网络不需要处理这个生成差异,应该说这种手性差异本身就是多余的.
因此,我们需要把数据源的图元进行方向的统一管理,再导出为WMF.
例如矩形只会左下角起顺时针,直线射线只会左向右,下往上,圆弧只会顺时针...
如此一来,它就成为了优质语料.网友答:
gzcsun 发表于 2025-8-25 18:23
初时一看,感觉有点吹。
不过再看看,又感觉有点牛。
最后由心感慨,是不是有点2B。
在我们cad.net群有个人跟你一样,
那么多年技术没有什么进步,然后只能说别人是码农,自己才是发明家,
结果问两道面试题就G了,然后只能说别人是孔乙己.
忘记看后面还有一章阿Q了.网友答: 大模型为什么不能直接看“dwg”图形,这个很难吗,难在什么地方,相较PDF而言
————————————————————————————————————————
如果有一个大模型能够很方便的看懂“dwg”图形,而且能象一个工程师一样的调用工具进行绘图和查询,甚至创作,哪么肯定有巨大的好处,想要做到这一步,是不是非常因难,有没有相关的研究。
——————————————————————————————————————————
网友答: 本帖最后由 你有种再说一遍 于 2025-8-25 17:53 编辑
panliang9 发表于 2025-8-25 17:19
大模型为什么不能直接看“dwg”图形,这个很难吗,难在什么地方,相较PDF而言
————————————— ...
大模型指的是LLM+多模态模型.
它们是能看懂图纸的,但是表现力肯定不如专项训练.
我文章上面也有使用了它CLIP语义嵌入等技术.
一是数据集不够精,二是推理速度不够快,这些都是硬伤.
DWG格式太复杂了,所以必须要转成BMP等图片,实现更好并行性.网友答: 本帖最后由 gzcsun 于 2025-8-25 18:28 编辑
初时一看,感觉有点吹。
不过再看看,又感觉有点牛。
最后由心感慨,是不是有点2B。
网友答: 1. 这段话的重点在说啥?
目标:做一个像 VS 里代码智能提示那样的 CAD 智能绘图助手
👉 输入二维平面/立面图,AI 自动理解,给你推荐绘制结果,甚至能从 2D 推理出 3D。
难点:
CAD 里的东西不只是线,还有 块、标注、动态块,很复杂。
2D 矢量比 3D 难(因为 2D 要求精确到点和线,误差小就会乱)。
不知道用概率模型(神经网络)还是规则模型(策略引擎)更好。
解决思路:
把 CAD 图(DWG)先转成图片(BMP)和矢量分层文件(WMF/SVG)。
用神经网络去学「图片↔矢量↔文字」之间的关系(就像 CLIP 一样)。
神经网络负责“联想”和“猜测”,规则引擎负责“约束和修正”(比如保证直线真的是水平/垂直)。
最后把结果再写回 CAD,显示成灰显建议,用户按 Tab 就能确认。网友答: 本帖最后由 你有种再说一遍 于 2025-8-26 11:34 编辑
qifeifei 发表于 2025-8-26 11:20
1. 这段话的重点在说啥?
目标:做一个像 VS 里代码智能提示那样的 CAD 智能绘图助手
讲我的思考过程啊,结合后面腾讯和天工的资料网友答:
你有种再说一遍 发表于 2025-8-26 11:32
讲我的思考过程啊,结合后面腾讯和天工的资料
好的好的 虽然听不懂网友答: 本帖最后由 你有种再说一遍 于 2025-8-26 16:36 编辑
qifeifei 发表于 2025-8-26 11:56
好的好的 虽然听不懂
概率模型就是神经网络,策略引擎就是手写各种代码去保证.