明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 90|回复: 3

[三维] 三维图形怎么做能减少卡顿?

[复制链接]
发表于 昨天 18:52 | 显示全部楼层 |阅读模式
本帖最后由 火山 于 2025-2-2 19:05 编辑

做了个三维管道软件,全部用截面放样来生成的三维图形,图形多一点的时候,AutoCAD动态观察就很卡,请教一下群里的大佬,有什么办法能减少卡顿呢?关键是同样的图形,浩辰就不卡,但是有个问题就是在不是二维线框视图的时候,SelectCrossingWindow在三维图形的填充面中,无法选择到图形,这导致建模时不太方便。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 昨天 20:41 | 显示全部楼层
构造索引,重写鼠标事件,点击命中就select
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 21:26 | 显示全部楼层
谢谢大佬。浩辰这种,用户在三维视图的情况下,如果不点到边线,就选不到这个图形呢,怎么搞。autocad随便点哪里都能选中,但是三维图形多的时候,又比浩辰卡。不知道什么道理
回复 支持 反对

使用道具 举报

发表于 昨天 22:34 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2025-2-3 03:12 编辑
火山 发表于 2025-2-2 21:26
谢谢大佬。浩辰这种,用户在三维视图的情况下,如果不点到边线,就选不到这个图形呢,怎么搞。autocad随便 ...

它们两个引擎不一样呗
浩辰需要加一个点选"实体填充"的功能咯.

方案一
1,判断点在矩形内,这个很简单,
但是如何从上亿图元过滤呢?
总不能一个个图元获取包围盒然后遍历吧.
2,那就是通过八叉树,
通过点位置获取最小节点,这个节点储存了填充id.
此时就能选择对象了.
3,三维旋转视图时候需要克隆一份八叉树边界,
我们叫它主八叉树和视口八叉树,
视口八叉树是为了同步视图向量才能选择对象.

方案二
1,如果不想改原本八叉树,或者还是太慢,
就单独写索引: map做稀疏数组/SortedList二分法.
2,维护索引,鼠标事件+初始化接口+文档事件..
入门案例:
https://www.cnblogs.com/JJBox/p/18580188

你做不了就让浩辰来做吧,反正他们闲着也是闲着
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-3 18:58 , Processed in 0.254851 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表