我创建了一个Jig,在AcEdJig::update()中调用了一个LISP函数。
C++代码:
- Adesk::Boolean Highflybird_Jig::update ()
- {
- .........
- int ret(0);
- resbuf *rb_in = NULL;
- resbuf *rb_out = NULL;
- rb_in = acutBuildList(RTSTR,_T("test"), RT3DPOINT,m_CurPt,RTNONE);
- if (rb_in == NULL)
- {
- return RTERROR;
- }
- ret = acedInvoke(rb_in,&rb_out);
- if (ret == RTERROR || rb_out == NULL)
- {
- acutRelRb(rb_in);
- acutRelRb(rb_out);
- return RTERROR;
- }
- ........
- }
LISP代码
- (vl-acad-defun 'test)
- (defun test (dynpt)
- (foreach obj lst
- (vla-move obj (vlax-3d-point p0) (vlax-3d-point dynpt))
- (ENTUPD (vlax-vla-object->ename obj))
- )
- (setq p0 dynpt)
- )
它工作正常,但我想撤消我的arx操作,我失败了。
那么如何在arx中设置撤消操作呢?
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |