在CAD的二次开发中,有时会使用JIG技术来实现操作的动态性、交互,最常见的比如说是在CAD中定制自己的移动和复制,当然要保持CAD中原有的动态显示效果。

在JIG中我们可以继承EntityJig和DrawJig,对于这两个类,那这两个类有什么区别呢?他们的使用场合又有什么区别呢?

其实,他们之间在操作一些简单的实体的时候是没有多大区别的,硬要说区别的话,那就是在实现一个相同功能时DrawJig比EntityJig的代码简单一些。(注意:是指在操作简单的实体的时候,比如实体的数量就一个)。

EntityJig:一般用于图元实体的拖动,要求先生成实体Entity

protected override bool Update()
        {
            throw new NotImplementedException();
        }

protected override SamplerStatus Sampler(JigPrompts prompts)
        {
            throw new NotImplementedException();
        }

DrawJig:一般用于复杂图形的拖动

protected override bool WorldDraw(Autodesk.AutoCAD.GraphicsInterface.WorldDraw draw)
        {
            throw new NotImplementedException();
        }

protected override SamplerStatus Sampler(JigPrompts prompts)
        {
            throw new NotImplementedException();
        }

在拖动一个实体的时候,不管是用EntityJig还是DrawJig效果都一样,但是当我们在处理多个实体的移动,我们要求鼠标可以实时动态显示要拖动的多个实体,这点,EntityJig却无法实现了,但如果是DrawJig却很容易实现。(下图是用DrawJig实现)

而且对于动态生成实体(比如指定一个圆心,动态生成一个圆),用DrawJig中的WorlDraw可以灵活控制实现生成。

相比之下,是不是发现DrawJig优胜于EntityJig(个人理解).

下面贴出上图实现的代码:

代码

 1    #region  DrawJig动态拖动多个实体
 2       public   class  DrawJigEnt : DrawJig
 3      {
 4           // 变量
 5          Point3d oldPt; // 实体移动之前的位置
 6          Point3d newPt; // 实体移动之后的位置
 7          Vector3d v; // 实体移动的向量
 8 
 9          List < Entity >  ents </

CAD(C#)——浅谈JIG之EntityJigDrawJig相关推荐

  1. 计算机辅助设计对提升产品质量,浅谈CAD技术与计算机辅助设计的应用

    浅谈CAD技术与计算机辅助设计的应用 来源:用户上传 作者: 杨思宇 [摘 要]随着社会经济的不断发展与进步,各领域的技术也不断的进行着革新.本文以计算机辅助设计当中的开发出的成组技术为主,对成组技术 ...

  2. 当代计算机技术在建筑设备中的应用,计算机技术在建筑设计中应用浅谈.doc

    计算机技术在建筑设计中应用浅谈 计算机技术在建筑设计中应用浅谈 [摘要]计算机技术在建筑设计中的应用有效地提高建筑设计工作效率和设计的准确度.本文就当前建筑设计中比较常用的计算机技术进行了浅谈,以期能 ...

  3. 微型计算机在机械设计中的应用,浅谈计算机技术在机械设计制造及自动化中的应用.docx...

    浅谈计算机技术在机械设计制造及自动化中的应用 当前科学技术与机械制造与自动化技术相互融合,将多种学科中的复合型技术加以整合,形成综合性的机械设计制造自动化学科.作为机械制造的核心内容,自动化在人们的生 ...

  4. 学习笔记--浅谈LoRa与LoRaWAN

    浅谈LoRa与LoRaWAN 1.什么是LoRa LoRa是semtech公司创建的低功耗局域网无线标准,低功耗一般很难覆盖远距离,远距离一般功耗高,要想马儿不吃草还要跑得远,好像难以办到. LoRa ...

  5. 单一修改高程值lisp_浅谈AutoCAD中修改高程的四种方法

    浅谈 AutoCAD 中修改高程的四种方法 摘 要: 在使用 AutoCAD 进行数字化成图工作中,经常遇到线划的标高不为零,及高程点的值与实地不符,需要对其进行修改等情况,结合实 际工作经验,简单介 ...

  6. 计算机集成制造系统C MS论文,浅谈自动化机械制造及发展毕业论文.docx

    文档介绍: 浅谈自动化机械制造及发展毕业论文.docx浅谈自动化机械制造及发展毕业论文目录第1章绪论 21.1制造背景 21」」按规模大小FMS可分为如下4类 3第2章自动化技术 41自动化关键技术 ...

  7. 【JY】浅谈有限元分析中的力学与工程思维

    前不久,受邀请希望我针对有限元计算中的工程思维这个主题写点东西,拿到题目后突然意识到这个"命题作文"比较难写. 一方面,有限元分析应用面很广,涉及行业众多,各行业关注的具体问题包罗 ...

  8. 浅谈之互联网赚钱的方法

    在互联网上赚钱,努力做得的人都成功了,不过还是有很多人只是把互联网当作一个娱乐的工具看待,却没有想过它能帮你赚钱,即使我们有正经的工作职业,也可以在下班之余利用互联网来赚点生活费.下面可以看看一些互联 ...

  9. 数字化时代 需要利用计算机辅助,浅谈计算机辅助工业设计中的人机交互

    浅谈计算机辅助工业设计中的人机交互 论文关键词:工业设计 计算机辅助工业设计 人机交互 论文摘要:计算机辅助工业设计是工业设计未来的发展方向,本文从工业设计及计算机辅助工业设计的一般含义出发,探究计算 ...

最新文章

  1. 三维重建【一】——————(深度学习方式)
  2. C 语言编程 — 输入/输出与文件操作
  3. lambda表达式_在Java 7或更早版本中使用Java 8 Lambda表达式
  4. moosefs分布式文件系统
  5. codeforces 919E Congruence Equation
  6. 设计公共API的六个注意事项
  7. asp.net调试方法
  8. css页面布局的感想,css布局实践感想(示例代码)
  9. linux v4l2 python,v4l2 Python - 流视频 - 映射缓冲区
  10. 2020年被“冰封”的猫眼、淘票票、大麦们,还能看见春天吗?
  11. word里双横线怎么打_在word中怎么画直线、双直线、虚线
  12. Python-贪心算法 田忌赛马
  13. 光电耦合器MOC3041
  14. events_statements_history_long,events_statements_history mysql语句存储
  15. 红米note3android5.0,小米红米note3MOSBeta5.0安卓8.1.0来去电归属农历等本地化增强适配...
  16. Windows10系统重装后必不可少的优化步骤
  17. 好嗨游戏:TapTap9.9分,《鸡你太美》这到底是什么魔鬼游戏?
  18. 远程连接出现 登陆失败:用户账户限制 解决方案
  19. 三分钟告诉你为什么再昂贵的普洱茶都只是用棉纸包装?
  20. 竞品分析报告-网易蜗牛读书

热门文章

  1. Python学习笔记【第一篇】:认识python和基础知识
  2. 在早期IBP病人中比较风湿病医生诊断中轴型SpA(aSpA)与非aSpA
  3. 如何做好一场技术分享
  4. 虎牙财报:中场缓步前行
  5. 表格软件界的卷王,Excel、access、foxpro全靠边,WPS:真荣幸
  6. web前端开发实践,wed前端开发好学吗
  7. 实现C# 与ABB机器人建立通讯,并对机器人进行实时的控制
  8. 【论文阅读】AVP-SLAM Semantic Visual Mapping and Localization for Autonomous Vehicles in the Parking Lot
  9. 10分钟训练属于你的AI变声器
  10. pythonDjango后端笔记