AcEdJig随笔

class AcEdJig: public AcRxObject{..
AcEdJig的enum:
UserInputControls用户输入控制:鼠标点击、键盘按键、键盘输入
DragStatus用户输入的响应结果(如按ESC键返回kCancel)
CursorType鼠标形状
JIG执行的一般步骤:
// 启动JIG
start()		
// 获取第一个对象,常用选择集获取。			
getFirst()   
// 创建动态显示的实体,同时加入到指定的AcDbDatabase
Create()
// 添加动态标注,如角度、坐标
addDimData()
while(1)
{
	// 提示输入
	setDispPrompt(..);
	
	// JIG动态处理
	DragStatus ds = drag();
	
	// 业务代码..
}  
// 结束JIG	
endJig()

drag() 期间循环调用sample()->update()->entity()
sample() 中设置快捷命令setKeywordList(…)、获取用户输入acquirePoint(…)等
update() 中更新标注updateDimData()、更新其他动态绘制(先删除再新增)
entity() 返回实体指针

提示: setDispPrompt(…); 常在JIG操作的wihle循环中调用。
按键输入: setKeywordList(…); 命令以字符串形式传入,多个命令以空格分隔,如 “A B C”,命令外部不可见,用setDispPrompt显示提示信息。 常在sample中调用。
按键返回: 从kw1开始。 如setKeywordList(L"A B C"), 按A返回kw1,按B返回kw2。常在sample中获取。

绘制自定义实体,需要在自定义实体内重载渲染函数subWorldDraw
virtual Adesk::Boolean subWorldDraw(AcGiWorldDraw*);

参考:https://blog.csdn.net/zeqi1991/article/details/97510435

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值