TheSwamp

Code Red => .NET => Topic started by: TR on December 29, 2005, 09:54:20 AM

Title: CommandFlags
Post by: TR on December 29, 2005, 09:54:20 AM
Can someone please 'splain to me the differences between the CommandFlags? I know this is a pretty newbie question but I've yet to find a decent answer anywhere.

Like what exactly does CommandFlags.Transparent mean?
Title: Re: CommandFlags
Post by: Draftek on December 29, 2005, 11:02:15 AM
Not sure about all of them but .Session means for the entire session of autocad's existence, not in the document session and .Transparent is the opposite of .Modal meaning the command can be actived while the user is being prompted for input - like osnap settings..
Title: Re: CommandFlags
Post by: Kerry on December 29, 2005, 06:59:06 PM
Tim, do you have the ArxDoc.chm from the ObjectARX SDK, the AC2006 release.

If not, In the mean time ...
Title: Re: CommandFlags
Post by: TR on January 02, 2006, 01:40:01 PM
Kerry:

That was exactly what I was looking for, thank you.
Title: Re: CommandFlags
Post by: CADbloke on May 14, 2013, 08:52:34 PM
Hey, this thread is only 7 years old ... I thought I'd drop some of my template notes in here for anyone who is looking for info on CommandFlags. The links have examples with them to clarify what they mean. sometimes.

If I have made (m)any errors here please point them out


CommandFlags.UsePickSet          |  //   Use the pre-selected entities for Editor.GetSelection() .. ADSK docs are BOLLOX ==> When the pickfirst set is retrieved, it is cleared. ... http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-commandflag-usepickset.html

CommandFlags.Redraw              |  // When the pickfirst set or grip set are retrieved, they are not cleared.  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-commandflag-redraw.html

CommandFlags.Interruptible       |  //   The command may be interrupted when prompting for user input.  the command is able to interact with other user interfaces such as the OPM (Object Property Manager) or PP (Property Palette) when collecting input from users through calling Editor.GetXXX() methods  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-commandflag-interruptible.html

CommandFlags.DocExclusiveLock    |  // the command will have the Exclusive Write privilege to the current document that the command is running in. The default privilege is Share Write, or just Write.  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-docexclusivelock.html

CommandFlags.DocReadLock         |  //   Document will be read locked when command is invoked.  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsdocreadlock.html

CommandFlags.NoInternalLock      |  // Pointless. http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnointernallock.html

CommandFlags.NoTileMode          |  // Command cannot be used in Model Space (when TILEMODE is set to 1.)  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnopaperspace-vs-commandflagsnotilemode.html

CommandFlags.NoPaperSpace        |  // the command is not permitted in the paper space  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnopaperspace-vs-commandflagsnotilemode.html

CommandFlags.NoPerspective       |  // the command will not be permitted in the perspective view.  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnoperspective.html

CommandFlags.ActionMacro         |  // Not in 2007  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsactionmacro-vs-commandflagsnoactionrecording.html

CommandFlags.NoActionRecording   |  // Not in 2007 http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsactionmacro-vs-commandflagsnoactionrecording.html

CommandFlags.InProgress          |  // NFI  http://spiderinnet1.typepad.com/blog/2012/01/autocad-net-command-flag-commandflagsinprogress.html

CommandFlags.NoMultiple          |  // the command will not be possible to repeat itself through the MULTIPLE command. http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnomultiple.html

CommandFlags.NoNewStack          |  // NFI  http://spiderinnet1.typepad.com/blog/2012/01/autocad-net-command-flag-commandflagsnonewstack-and-commandflagsnooem.html

CommandFlags.NoOem               |  //  the command will not be available to OEM products.

CommandFlags.NoUndoMarker        |  // Command does not support undo markers. This is intended for commands that do not modify the database, and therefore should not show up in the undo file.  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnoundomarker.html

CommandFlags.NoHistory           |  // will not be added into the command history (Recent Commands) list and it cannot be repeated by simply pressing the enter key or choosing it from the context menu.  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnohistory.html

CommandFlags.NoBlockEditor       |  // command will not be allowed in the block editor environment.  http://spiderinnet1.typepad.com/blog/2011/12/autocad-net-command-flag-commandflagsnoblockeditor.html

CommandFlags.NoInferConstraint   |  // Not in 2007 nor 2010

CommandFlags.Defun               |  // command can be invoked from LISP code as a parameter-less function.  http://spiderinnet1.typepad.com/blog/2012/01/autocad-net-command-flag-commandflagsdefun.html

CommandFlags.TempShowDynDimension|  // Not in 2007 nor 2010

CommandFlags.Undefined               // command cannot be invoked by its own name directly. Instead, it is supposed that the fully qualified command name should be used: GroupName.CommandName  http://spiderinnet1.typepad.com/blog/2012/01/autocad-net-command-flag-commandflagsundefined.html
Title: Re: CommandFlags
Post by: TheMaster on May 14, 2013, 11:45:17 PM
Hey, this thread is only 7 years old ... I thought I'd drop some of my template notes in here for anyone who is looking for info on CommandFlags. The links have examples with them to clarify what they mean. sometimes.

If I have made (m)any errors here please point them out


I wouldn't make the assumption that SpiderMan is an authority on ObjectARX internals, and regarding his reinterpretation of the ObjectARX docs for CommandFlags, with the exception of those which he hasn't figured out yet and/or speculates on, are either clearly-documented in the docs (both in the managed docs and the native docs for AcEdCommnd::commandFlags), the SDK C++ header (*.h) files, and/or are entirely self-explanatory, with the exception of CommandFlags.UsePickSet and CommandFlags.Redraw, which the author of the Autodesk docs botched, as has been discussed here in the past.

For example, The CommandFlags.InProgress flag is used internally by AutoCAD to indicate that the command is currently in-progress (duh).   And so, that one has no purpose or effect in CommandMethod attributes.

Title: Re: CommandFlags
Post by: CADbloke on May 15, 2013, 11:17:33 PM
I wouldn't make the assumption that SpiderMan is an authority on ObjectARX internals
That's a fair enough call and that qualification should be stated, which you did. Thanks. I posted the links simply because some contain usage examples which may help out those unfamiliar with the API.

with the exception of CommandFlags.UsePickSet and CommandFlags.Redraw, which the author of the Autodesk docs botched, as has been discussed here in the past.
here (I think): http://www.theswamp.org/index.php?topic=42871.0 for those interested in that discussion.

You also raise (again) a good point that the ARX docs are very helpful for deciphering the managed API. If others who stumble across this weren't already aware of this then it may be worthwhile to browse them.