.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is Possible to roll back variable within undo command , outside of transaction?

6 REPLIES 6
SOLVED
Reply
Message 1 of 7
JanetDavidson
536 Views, 6 Replies

Is Possible to roll back variable within undo command , outside of transaction?

Hi,

I need to be able to roll back my variables if user apply an UNDO. I am just wondering if this is possible and what is your trick in this regard. Let's say.

 

Myinteger =1

 

Startstransaction

........

trans commint

 

Myinteger=2

 

 

Startstransaction

........

trans commint

 

Myinteger=3

 

 

if user does undo 2 times  the Variable  Myinteger  keep the value  3 . I want it back to 1. How?

 

Thanks for any help or workaround or trick.

 

Janet.

 

 

 

 

 

6 REPLIES 6
Message 2 of 7

Hi,

 

my understanding is one undo makes one (main) transaction-part undone. With main-transaction I mean the "master" transaction without looking to any nested transactions.

If you want to undo more than one actions with one step you can set undo-markers.

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
Ingenieur Studio HOLLAUS ... www.hollaus.at ... blog.hollaus.at ... CDay 2024
------------------------------------------------------------------------------------
(not an Autodesk consultant)
Message 3 of 7

Hello Alfred,

Thanks for your time looking into my question. 

My concern is  the public shared variable in whole project  ( in this simple sample, say , "myinteger".

When I  undo a  command that variable doesn't roll back ot initial value . 

Hope I explained or you need a asimple example code?

Regards,

Janet.

 

 

Message 4 of 7

Hi,

 

Ok, you want your local variable to be restored, sorry, I did'nt check that.

 

So my ideas would be then: either check CommandEnded-event (watchign for command _UNDO) and use a stack for every variable-change or use a drawings-sysvar for saving and restoring your variable, because the sysvars (e.g. USERI1) will notice undo-commands.

 

In this case (I normally don't use the USER-vars) the advantage is also that you have saved it with the drawing. Because if the user changes the drawing between step 2 and step 3 your global variable will also have to be reset as the other drawing may stay at another step.

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
Ingenieur Studio HOLLAUS ... www.hollaus.at ... blog.hollaus.at ... CDay 2024
------------------------------------------------------------------------------------
(not an Autodesk consultant)
Message 5 of 7

Thanks Alfred ,  I got it and I understood.

Now let's say that local vairable  instead of one,  is 500 local variables . 

In this case what would be the solution ?

Regards,

Janet.

 

Message 6 of 7

Hi,

 

store it in

  • Dictionary
  • ExtendedEntityData
  • Block with 500 Attributes

 

Just a few examples 😉

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
Ingenieur Studio HOLLAUS ... www.hollaus.at ... blog.hollaus.at ... CDay 2024
------------------------------------------------------------------------------------
(not an Autodesk consultant)
Message 7 of 7

Hi alfred, I like Attributes Idea, Yeah that will do the job for me.

Thanks for showing the trick.

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost