PDA

View Full Version : ActiveX API - Dynamic Graphic Manipulation


ntaylor
2004-07-08, 01:21 AM
It is not possible with the ActiveX API to let the user add or manipulate an object while seeing the object move, scale or rotate. This is a major problem for me because all our text and blocks are inserted using VBA routines. If the user doesn't get the judgement correct they have to remanipulate the object.

Regards - Nathan

RobertB
2004-07-08, 01:33 AM
I've hated this too. We should not need to resort to 3rd-party fixes to do this.

ntaylor
2004-07-08, 01:37 AM
Hi Robert,
Do you know of 3rd-party-fix for 2004/2005 that works. The one I was hoping to use does not work with 2004.
Regards - Nathan

koerner
2004-10-27, 04:19 PM
This is my number one wish for the API. User interaction with the drawing environment is one of the most lacking areas of the API.

Jim

Coolmo
2004-11-05, 07:58 PM
You can kinda get it to work by loading and running Lisp routines and commands using the SendCommand method but that can get unpredictable at times. It does however work the majority of the time.

RobertB
2004-11-23, 06:51 PM
You can kinda get it to work by loading and running Lisp routines and commands using the SendCommand method but that can get unpredictable at times. It does however work the majority of the time.
We are aware of the hacks. ;-) We would be far happier to not have to deal with them. SendCommand is not a viable method in many cases.

Coolmo
2004-11-24, 01:27 PM
Maybe some of us aren't aware of the hacks and with something as simple as inserting blocks this method would work great because the SendCommand method would be the last function called and even if it does screw up the order and send the commands last it would still work. Until the powers that be step up and add this into standard VBA, I think this is a good work around and for those who didn't know about it have partly had their "wish" granted for now.

RobertB
2004-11-24, 07:04 PM
SendCommand won't work correctly even in your sample case if the programmer needs to do post-processing on the BlockRef.

ntaylor
2004-11-29, 12:02 AM
SendCommand won't work correctly even in your sample case if the programmer needs to do post-processing on the BlockRef. I have a fairly extreme workaround for my replacement copy command that processes the newly created objects. I create a selectionset of all objects in the drawing and as the copy command does not execute until the routine finishes I instantiate a class with an EndCommand event handler. To ensure the handler is fired I can disable toolbars, menus and certain keystrokes to prevent the user from canceling the command. Once the event handler is fired I compare the selectionset with a new one, reenable all input and destroy the instance of the class. This is an extreme workaround that works well in this case but with the insert command when there are no attributes it is even simpler because the code pauses for user input but when there are attributes I need to use the full solution which in this case causes a fatal error.
This is definately my biggest wish for AutoCAD.
Regards - Nathan