社区
图形处理/算法
帖子详情
C++如何做CAD软件
cokeliu
2011-03-26 08:47:04
要做一个简单的CAD画电路原理图软件, 就是将电阻/电容等元件摆到桌面画板上. 我是这样想的.
每个元件设计成一个类. 用户每加一个元件放到桌面上就是malloc一个类. 但如果元件太多比如有10000个的话.
那么需要malloc一万个类实体出来, 是否会需要庞大的内存. 比如每个元件类是继承CWnd类可以响应鼠标消息的话.
是否也会大大增加软件的资源开支? 有没有简单的方法实现?
...全文
464
16
打赏
收藏
C++如何做CAD软件
要做一个简单的CAD画电路原理图软件, 就是将电阻/电容等元件摆到桌面画板上. 我是这样想的. 每个元件设计成一个类. 用户每加一个元件放到桌面上就是malloc一个类. 但如果元件太多比如有10000个的话. 那么需要malloc一万个类实体出来, 是否会需要庞大的内存. 比如每个元件类是继承CWnd类可以响应鼠标消息的话. 是否也会大大增加软件的资源开支? 有没有简单的方法实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cokeliu
2011-03-28
打赏
举报
回复
好的.谢谢. 我先去试验下效果和速度怎么样.
Meteor_Code
2011-03-28
打赏
举报
回复
[Quote=引用 13 楼 cokeliu 的回复:]
Meteor_Code: 我的意思是每个元件都要侦测是否鼠标光标是否点击了本元件. 我现在是用单缓冲画图.在OnDraw中直接将缓冲的bitmap直接copy到DC中显示.
[/Quote]
10000个全遍历一次也花不了什么时间,一般还不用全遍历,找到鼠标点中的处理就可以了,你的元件不可能重合吧.
cokeliu
2011-03-26
打赏
举报
回复
这个类用的RAM应按不会很大. 1k差不多. 如果按照楼上的计算确实内存用的不多. 用new的方法可以不断新建元件. 那如果该类需要响应鼠标消息的话, 10000个该类实体都要响应mouse等消息会不会占用CPU很多资源. 电路上有10000个元件是设计的要求.
Meteor_Code
2011-03-26
打赏
举报
回复
就算你一个类1024个字节,10000个也就1024 * 10000 也就是9m,不到10m,你内存还没10m大吗?
何况,你确定你的电路上有10000个元件??你确定每个元件要用1024个字节保存相关数据????
cokeliu
2011-03-26
打赏
举报
回复
是同一个元件, 可能在一个面板上要摆放10000个元件.
黑泡泡选手
2011-03-26
打赏
举报
回复
10000个元件?AutoCAD有10000个元件吗?我之前做过的软件也就几十种元件!你可以根据具体项目建立不同的工程,每个工程包含属于自己的元件!
谁是我的谁的谁
2011-03-26
打赏
举报
回复
研究生课题? 这个东西应该比较难 这样做不是办法
cokeliu
2011-03-26
打赏
举报
回复
楼上所说的都不知道, 请问哪里有这方面的知识或例子参考学习! 谢谢
无水先生
2011-03-26
打赏
举报
回复
要做一个简单的CAD画电路原理图软件, 就是将电阻/电容等元件摆到桌面画板上. 我是这样想的.
每个元件设计成一个类. 用户每加一个元件放到桌面上就是malloc一个类. 但如果元件太多比如有10000个的话.
那么需要malloc一万个类实体出来, 是否会需要庞大的内存. 比如每个元件类是继承CWnd类可以响应鼠标消息的话.
是否也会大大增加软件的资源开支? 有没有简单的方法实现?
===============================================
好问题,
知道代理类概念吗?
知道自己造一个句柄类还有调用记数的概念吗?
没有?学学吧!
richblueh
2011-03-26
打赏
举报
回复
如果比较多的原件,是否考虑 flyweight 模式
zyrr159487
2011-03-26
打赏
举报
回复
应该是每种元件设计成一个类吧,可以在类里加一个数组,用来存放元件
向立天
2011-03-26
打赏
举报
回复
类似的东西用做过
用的是
VG
cokeliu
2011-03-26
打赏
举报
回复
Meteor_Code: 我的意思是每个元件都要侦测是否鼠标光标是否点击了本元件. 我现在是用单缓冲画图.在OnDraw中直接将缓冲的bitmap直接copy到DC中显示.
Meteor_Code
2011-03-26
打赏
举报
回复
[Quote=引用 10 楼 cokeliu 的回复:]
这个类用的RAM应按不会很大. 1k差不多. 如果按照楼上的计算确实内存用的不多. 用new的方法可以不断新建元件. 那如果该类需要响应鼠标消息的话, 10000个该类实体都要响应mouse等消息会不会占用CPU很多资源. 电路上有10000个元件是设计的要求.
[/Quote]
为什么10000个要全部响应鼠标啊???点哪个,哪个响应不就完了?
至于重绘问题,用个缓冲绘制,没有问题
谁是我的谁的谁
2011-03-26
打赏
举报
回复
10000个 重绘一下就很长时间的。
看看设计模式的 代理模式?(即不清楚了)。
每个元件类是继承CWnd类 ? 一般没有这么做的。
你头也太差劲了, 让你一穷二白的作这个
C++
工业
软件
开发课程设计基于QT的简易
CAD
系统、有向图和无向图自动生成系统源码.zip
C++
工业
软件
开发设计基于QT的简易
CAD
系统、有向图和无向图自动生成系统源码。 内含详细文档说明,并不复杂,完全可以自己实践。 实现最基本的功能大致需要将程序分为两个主要部分: 可视化控件:类画板控件,负责...
用V
C++
自制的
CAD
软件
用V
C++
做
的
CAD
小
软件
,含有源码,欢迎大家分享
中望
CAD
二次开发(
C++
有一个QT界面),简单但有效,可用。
一个非常简单的中望
CAD
二次开发的例子,并且使用了QT对话框。 可以读取扩展字典。 工具版本: Qt Visual Studio Tools version 2.7.2 (rev.2) QT:qt-opensource-windows-x86-5.12.9.exe VS:VS2015
CAD
:ZW
CAD
2022...
基于Qt+
C++
的
CAD
图形设计平台源码(毕业设计&课程设计&项目开发)
基于Qt+
C++
的
CAD
图形设计平台源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于Qt+
C++
的
CAD
图形设计平台源码,适合毕业设计、课程设计、项目开发。项目...
CAD
软件
绘制
CAD
软件
绘制编程源代码
图形处理/算法
19,469
社区成员
50,697
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章