Alright, after weeks of progress, finally think this is the route im taking with my Ribbon Bar Buttons to Insert Drawings. Some background of what im doing is back in this post
http://www.theswamp.org/index.php?topic=36783.0So thanks to this helpful post
http://forums.autodesk.com/t5/NET/Block-Insert-Jig-Byblock-Color/m-p/1855640#M5762 I was able to move forward with my project. Im using the code as is from this link converted to VB .net and added into my Ribbon Bar
Lets me select an insertion point, and lets me rotate a block and its accepted by the ribbon bar button commands. Some ones out there just don't like even acting as a command function with the ribbon bar buttons.
Very close to the insert command, but is there a way to...
A) Ability either insert the item as is, selecting a point as is and drops on the drawing with zero rotation?
B) Ability to hit "B" to select a new base point to move the block by
C) Ability to hit "R" to rotate the block
D) Ability to hit "M" to mirror the block (nifty option to have IMO)
E) Ability when the block is dropped on the drawing to automatically put it on "X" layer?
Not sure where to start to add these or if it can be done to the current code.
With canceling the command I know I've seen that you can supposedly use "UserInputControls.NullResponseAccepted" in the code to make it cancel the selected item but its not working that way for me. Its actually taking it as a point for rotation.
Located in the InsertBlockJig file
Else
If vJigPromptCounter = 1 Then
' JigPromptAngleOptions
Dim jigOpts As New JigPromptAngleOptions()
jigOpts.BasePoint = Me.BlockReference.Position
jigOpts.DefaultValue = 0
jigOpts.Message = "Get angle: "
jigOpts.UseBasePoint = True
----> jigOpts.UserInputControls = UserInputControls.Accept3dCoordinates & UserInputControls.NullResponseAccepted
Dim res As PromptDoubleResult = prompts.AcquireAngle(jigOpts)
Dim curAngle As Double = res.Value
If Me.BlockReference.Rotation <> curAngle Then
blockRotation = curAngle
Else
Return SamplerStatus.NoChange
End If
If res.Status = PromptStatus.Cancel Then
Return SamplerStatus.Cancel
Else
Return SamplerStatus.OK
End If
Else
' Just in case...
Return SamplerStatus.NoChange
End If
End If
Thanks in advance!
PS. Sorry I didn't include the block files I was testing with it would get rather large.