“ 编辑功能是CAD的核心功能之一,可以使用户的灵感和创意得到更多的发挥空间,同时也为设计过程提供更大的容错性,“哎呀,编辑一下噻!”,这点和事务机制有异曲同工之妙。”
原文:支持编辑!让三维CAD内涵逐渐饱满,一起开发三维CAD
作者在多年前开发二维CAD时实现了编辑能力,当时是基于WPF,技术难度相对容易一些,实现了线、多段线、圆弧、圆、椭圆、矩形、贝塞尔曲线的编辑......
记忆的碎片总让人抚起岁月的痕迹,那时对技术的追求相对简单纯粹,如一个或一群山野散人自酿自饮,酒愈香而笑跃然。
回归正题。
作者最近在GLViewer中实现了多种类型线的编辑,包括多段线、多种方式圆弧、圆、矩形的编辑,包括编辑过程的预览效果和相关事务机制,提高用户操作体验度。
操作和效果视频如下:https://www.bilibili.com/video/BV17A84zcEPu
当前GLViewer可以作为一款三维绘图软件使用,绘制设计图、逻辑图、示意图等,当然随着功能的不断丰富,其可以发挥价值的场景也会自然拓宽,可以基于当前的成果继续进行开发~
说到这里,你觉得哪些能力和场景值得开发,从而能够发挥更多的价值?可以留言或私信交流。
01 线
选中线后,显示线的端点,之后可以点击端点进行编辑,更改端点的位置,再次点击以确定更改。
02 多段线
选中多段线后,显示多段线的端点和节点,之后可以点击端/节点进行编辑,更改端/节点的位置,再次点击以确定更改。
03 圆弧(三点定圆)
圆弧根据绘制方式分为[三点定圆]、[圆心/起始点/终止角度]两种方式圆弧,在编辑时同样分别以这两种方式进行编辑。
选中圆弧后,显示圆弧起始、终止和弧上点,之后可以点击进行编辑,更改点的位置,再次点击以确定更改。
04 圆弧(圆心、起始点、终止角度)
选中圆弧后,显示圆心、起始点和终止角度确定点,之后可以点击进行编辑,更改点的位置,再次点击以确定更改。
注意,当在绘制时选择输入角度以确定角度方式,那么在编辑时只能编辑圆心或起始点,而圆弧角度则是固定的不可编辑,当然后续可以开发属性面板,通过在属性面板上更改圆弧角度以完成其编辑。
05 圆
选中圆后,显示圆心、弧上点,之后可以点击进行编辑,更改点的位置,再次点击以确定更改。
06 矩形
选中矩形后,显示两个角点,之后可以点击进行编辑,更改点的位置,再次点击以确定更改。
07 任意空间平面
可以结合设置工作平面功能,支持在任意空间平面进行线的绘制和编辑。
08 事务机制
如同线的绘制,线的编辑同样加入到了事务机制中,支持对这些编辑动作的撤销和重做。
可以使用户的灵感和创意得到更多的发挥空间,同时也为设计过程提供更大的容错性:“允许设计有瑕疵,并且允许用户纠正这些瑕疵”。
09 操作和效果视频
可在如下链接编辑功能的查看操作和效果视频:
https://www.bilibili.com/video/BV17A84zcEPu
专注于图形学(渲染和几何算法)、数据处理、并行计算相关研究和研发,欢迎交流~
学习!《从零开发一款三维CAD软件(OpenGL/QT/C++)》课程上线啦
系列课程已上线,详细的视频讲解,打下扎实的图形学基础,欢迎大家观看和支持~
往期文章: