找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 726|回复: 2

[求助] C# CAD二次开发之Jig插入图块,怎样实现实时预览?

[复制链接]

已领礼包: 375个

财富等级: 日进斗金

发表于 2021-4-1 14:04:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
求助各位大佬,自己写插入图块程序,没有实时预览功能,现在想使用Jig类实现实时预览,可以像CAD自带插入图块的预览效果,怎么处理呢?用EntityJig还是DrawJig,是否可以将其封装为插入块的通用类,以后直接作为方法调用就更好了。各位大佬指点指点,提先感谢!!!
该图为CAD自带插入图块的实时预览.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 57个

财富等级: 招财进宝

发表于 2021-4-1 16:51:37 | 显示全部楼层
继承 DrawJig 类
实现
protected override SamplerStatus Sampler(JigPrompts prompts)
protected override bool WorldDraw(WorldDraw draw)
方法
在worldDraw里面 绘制 你插入的Entity
在Sampler 里面 实现拖拽

  1. JigPromptPointOptions optJigPt = new JigPromptPointOptions("\n请指定车库内点");
  2.                 //光标类型
  3.                 optJigPt.Cursor = Autodesk.AutoCAD.EditorInput.CursorType.Crosshair;
  4.                 PromptPointResult resJigPt = prompts.AcquirePoint(optJigPt);
  5.                 //拖拽取消
  6.                 if (resJigPt.Status != PromptStatus.OK)
  7.                 {
  8.                     return SamplerStatus.Cancel;
  9.                 }
  10.                 //拖拽
  11.                 Point3d tempPt = resJigPt.Value;
  12.                 if (m_Pt2 != tempPt)
  13.                 {
  14.                     //你的代码
  15.                     m_Pt2 = tempPt;
  16.                     
  17.                 }
  18.                 return SamplerStatus.OK;
复制代码

//实例化对象
YourJig jig = new YourJig ();
//拖拽
PromptResult resJig = ed.Drag(Jig);
if (resJig.Status == PromptStatus.OK)
{
}

点评

有点蒙了,你好,你的贴的代码是在我的主函数中还是我要把其封装为一个方法呢?我插入一个块,无预览功能时,正常是把块position的point3d点传入和其他属性设置即可  详情 回复 发表于 2021-4-1 18:05
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 375个

财富等级: 日进斗金

 楼主| 发表于 2021-4-1 18:05:02 | 显示全部楼层
Cherish易 发表于 2021-4-1 16:51
继承 DrawJig 类
实现
protected override SamplerStatus Sampler(JigPrompts prompts)

有点蒙了,你好,你贴的代码是在我的主函数中还是我要把其封装为一个方法呢?我插入一个块,无预览功能时,正常是把块position的point3d点传入和其他属性设置即可
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 21:16 , Processed in 0.402996 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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