Jump to content

VBA help - block insertion


matt_HH

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 2 weeks later...

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

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...