matt_HH Posted October 7, 2015 Posted October 7, 2015 Hi There Sorry that this will be such a basic question. I am not a VBA expert in any way....quite new actually . Running Autocad Architecure 2014. I have a VBA utility that I have made a special button for. I want this button to insert a dynamic block. I have WBLOCK'ed the block and it is in a nework folder - no issues here. There are several other snippets of VBA code that I have found online (even from this forum) and have tried to modify them to work. I must be doing something wrong, as it always stumbles within the code or silently sits there doing nothing. I just want to click this button and my dynamic block (from network) will be brought into the existing drawing, and the user will select insert point and direction..... Mouse click...done....block inserted. Similar action to a block that would be brought from a tool pallette (but has to be from this VBA utility) Any help would be appreciated. Matt Quote
Tyke Posted October 7, 2015 Posted October 7, 2015 Hi Matt, You don't actually need any VBA code to do what you want, a much better way is to use a palette. Put your block on there and just click it to insert it into a drawing. You have far more control over the whole procedure. There's plenty of information available. Look in Michaels Corner on this site, he's written a lot on tool palettes. Ben Quote
matt_HH Posted October 7, 2015 Author Posted October 7, 2015 Hi Tyke I use and create a lot of tool palettes, and they are awesome and I agree 100% about control. This particular instance of this block needs to come from this VBA utility. It will save the user a bunch of clicking to go to a palette. It is probably the only exception I have, or i would have put it on a palette. thanks though Matt Hi Matt, You don't actually need any VBA code to do what you want, a much better way is to use a palette. Put your block on there and just click it to insert it into a drawing. You have far more control over the whole procedure. There's plenty of information available. Look in Michaels Corner on this site, he's written a lot on tool palettes. Ben Quote
matt_HH Posted October 20, 2015 Author Posted October 20, 2015 I'm getting there Im sorry for being a VBA dummy ....but I have one more obstacle. As it might be simpler to use the sendcommand, i just need help to write it. I am not a coder by any means....so excuse my lack of knowledge This code below will place the block in the drawing....great. But it places it (from user point selection), square on the drawing. I want to be able to insert the block and select the direction of the block (rotate) . Most of the time it will be in 90º selections (place on drawing and go either up, down, left or right). I am guessing the sendcommand line will go after the second last line I can't get this rotation working at all.....sigh can anyone help with this lillte snippet here?? Private Sub cmdProfileinsert_Click() Dim strPath As String Dim strBlockName As String Dim objBlock As AcadBlock Dim entRef As AcadBlockReference Dim dblPkPt() As Double strBlockName = "Profile" strPath = "H:\blah\blah\Profile.dwg" On Error Resume Next Set objBlock = ThisDrawing.Blocks.Item(strBlockName) On Error GoTo 0 If Not objBlock Is Nothing Then objBlock.Delete 'To reinitialize Block from container file DbxCopyBlock strBlockName, strPath 'Copy block into ThisDrawing dblPkPt = ThisDrawing.Utility.GetPoint(, "Pick insertion Point: ") 'Get insertion point for test insert Set entRef = ThisDrawing.ModelSpace.InsertBlock(dblPkPt, "Profile", 1#, 1#, 1#, 0) 'Test insert End Sub Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.