Working with Session Flag

Working with Session Flag

Anonymous
Not applicable
2,191 Views
8 Replies
Message 1 of 9

Working with Session Flag

Anonymous
Not applicable

I am creating an AutoCAD plugin that gathers information from the current drawing and the user, inserts a block, selects an area of the drawing, creates a new drawing and copies the selected items to the new drawing.  The problem is that I need to use a function similar to zoomextents on the new drawing, which seems to conflict with the other operations I need to perform.

 

I found a proposed solution that suggested adding a Session flag to the CommandMethod, but that caused another error, earlier in execution when the drawing-specific functionality .  Is there any way to get all of this functionality to work with one CommandMethod?  The errors messages I received are:

w/out session flag: "Invalid execution context"

w/ session flag "eLockViolation"

 

Thank you in advance for your answers.

0 Likes
2,192 Views
8 Replies
Replies (8)
Message 2 of 9

arcticad
Advisor
Advisor

In reguards to the eLockViolation

You need to lock the drawing first.

 

http://forums.autodesk.com/t5/NET/im-getting-eLockViolation/m-p/2690906#M19370

---------------------------



(defun botsbuildbots() (botsbuildbots))
0 Likes
Message 3 of 9

chiefbraincloud
Collaborator
Collaborator

Use both the Session flag (to fix the Invalid Execution Context) and a Document Lock (to fix the eLockViolation).

 

Once you apply the Session flag to a command, you are then responsible for making sure the appropriate documents are locked.

Dave O.                                                                  Sig-Logos32.png
0 Likes
Message 4 of 9

Anonymous
Not applicable

I fixed all of the lock errors and have the Session flag in the CommandMethod, but I'm getting the invalid exectution context error again.  It happens when the code tries to open the newly created document.

0 Likes
Message 5 of 9

Anonymous
Not applicable

I'm still stuck on this.  Does anyone have any other ideas?  Thank you in advance.

0 Likes
Message 6 of 9

arcticad
Advisor
Advisor

Can you post a complete code example with an example of the error?

---------------------------



(defun botsbuildbots() (botsbuildbots))
0 Likes
Message 7 of 9

Anonymous
Not applicable

Unfortunately I am not able to include all of the code, but the code that is not functioning properly is in forum code.txt in the secondfunction (createDriveFile).  The line where the code fails is marked with a comment.  It is the line where the file should be opened.

0 Likes
Message 8 of 9

fieldguy
Advisor
Advisor

This line does not look correct (Dim newDWG = Application.DocumentManager.Open(filePath, False)).

 

My guess is you intended newdwg to be an ApplicationServices.Document.  Try this:

Dim newDWG as ApplicationServices.Document = Application.DocumentManager.Open(filePath, False).


 

0 Likes
Message 9 of 9

Anonymous
Not applicable

I tried the more specific declaration, but the problem seems to be with the open command being called here, although it is called from session mode.  I got the exact same error with this change.

0 Likes