I'm trying to loop through blocks in paperspace for a specific name and then edit it's attributes. The code works fine if the block is a standard block, but does not see dynamic blocks.
I have looked through other posts and can see how there is a is dynamic property, but just don't know how to apply it here. The function i have to update the attributes expects the object id of the block. Just don't know how to get that if the block is dynamic.
Dim TbloOjbectID As ObjectIdDim mydb As New Database(False, True)mydb.ReadDwgFile(Newfname, FileOpenMode.OpenForReadAndWriteNoShare, True, "")Using Trans As Transaction = mydb.TransactionManager.StartTransaction() Dim myblocktable As BlockTable = mydb.BlockTableId.GetObject(OpenMode.ForRead) Dim mypaperspace As BlockTableRecord = myblocktable(BlockTableRecord.PaperSpace).GetObject(OpenMode.ForRead) For Each myBTR As ObjectId In mypaperspace If myBTR.ObjectClass.DxfName = "INSERT" Then Dim myBref As BlockReference = myBTR.GetObject(OpenMode.ForRead) If UCase(Left(myBref.Name, 4)) = "TBLO" Then TbloOjbectID = myBref.ObjectId If DwgTitle.Length > 0 Then SetAttribute(TbloOjbectID, "PROJECT/CONTRACT_NAME", DwgTitle) End If End If End If Next Trans.Commit() End Using
I am creating a dynamic block of a conveyor belt it has a set number of widths and needs to be stretchable in length, which I have managed to do. The motor is placed half way down the length of the conveyor and needs to stay centered
I know I need to use the move command and put in a factor of 0.5 somewhere, but I can't remember how to do it.
I have an arrow in my Dynamic Block which I can rotate to the north. But is there a commando that the arrow will rotate itself to the UCS? See drawing file.
Change the 24 x 24 x 12 MLeader in this Block to Fields that read the length of the Lines that the Distance1 and Distance2 Parameters are attached to and tell me if it crashes? And if it does not crash, post a working DynBlk.
How to set up a dynamic block so I can control the size of an object through parametric dimensions that are linked (somehow) to a lookup table, spreadsheet, list, etc.?
What I'm trying to do (simplified) is place a block of a rectangle, select a size from a dropdown list, and have the block change to be that size - but I don't want to do this through visibility states as there are hundreds of sizes. The whole point is to be able to construct a list, lookup table, excel sheet, etc and link it to parametric dimensions in the block, or at least be able to link a stretch action to parametric dimensions. But the block editor will not allow me to associate a stretch action with a parametric dimension (at least I haven't figured out how to do this.)
I created a dynamic block with text field that show the lenght of a line, but this line can be 0 and in that case I want that the text field will show nothing instead of "0".
I try to write it in diesel expression with if command but i don't know how to bring the object lenght into the diesel expression code.
I've made annotative blocks and I've made dynamic blocks... My intent is to integrate both but I can't find a way to move dynamic block parameters separately at different annotative scales.
In other words, if I insert an annotative dimension and add multiple scales I can move the dimension grips independently at each scale. If I insert a dynamic block I want to be able to use the dynamic block's action "grips" to do the same. However, with a dynamic block, if I move a stretch action at one annotation scale it moves the action at all annotation scales.
I have created a dynamic block with several visiblility states. The block works great for what I need it for. however, I am trying to add one more action to the block but am having issues.
This block is essentially a 24" retail cabinet with the visibility states showing the different drawer and shelf configurations. I want to be able to lengthen the cabinet in 24" increments and have the visibility show for each 24" section.....e.g. I want a 10' cabinet so I bring in the 24" starter block. Then stretch the cabinet to the 10' mark, then I can chose any drawer/shelve config for each 24" section (they are all different).
I can get the block to stretch in 24" sections....no problem.....i just want the visibility state to be duplicated as well for each section. Now as it stretches, there is only one Vis state and it only populates the first cabinet.
I could do this by copying the block over and over 5 times.....but I am hoping there is a way to make this dynamic.
I have a block I am making into a Dynamic Block. I will be adding in different visibility states. Depending on the visibility state the block would need to be inserted from a different point.
My question is, is it possible to add multiple insertion points to a dynamic block so depending on the visibility state it defaults to the correct insertion point?
I know this is located in other locations but I can't seem to make it work with my block.
I would like the cross and the text N to rotate independantly of the arrow while the N stays with the thick line. That's the easy part. How can I make the N move along the rotation path and keep the text aligned horizontally? I read something about linked action and move, but I can't make it work.
Is there anyway to link standard AutoCAD Grips and there commands to Dynamic Block Actions? I want to stretch an arc by its midpoint grip. This accomplishes something that no other commands do.
So I've done a reasonable amount of work with dynamic blocks. I have a block with a rotation action and grip to arbitrarily align it. However I realized when trying to combine it with an alignment grip (which actions on the basic or fundamental block rotation angle) that there didn't seem to be a way to some how link a dynamic block rotation action or one of the custom angle properties to a the fundamental block rotation angle. Thus there are two additive rotations at work; the dynamic block one with its grip and the fundamental rotation property.
This can cause some confusion when one person aligns with the grip and another via rotating the block's fundamental property and would also be problematic in the generalized sense if one was trying to select or programmatically read back the net angle alignment.
I have a dynamic block, that represents a stirrup.
I inserted in the block a Block Propreties Table, that have some preset dimensions for the stirrups. The grip of this table I decided to put in the top right corner.
The problem is that I can't make this grip moveable )
new to dynamic blocks but looking to streamline my wiring diagrams here and have created a block that shows the typical wire styles we use in a simple easy way. I now want to add an overall flip to the entire block and have not been able to find set this. I would prefer to use the same label and go from there. I have included the block to show what I mean. It is only working on the single visible item at the one time. I know this has to be possible just let me know what I am doing wrong. I am running AutoCad LT 2013
I need to create a dynamic block for a "Glass Panel" in a balustrade. I need to be able to insert it, in one corner and stretch it in another corner, to suit the staircase angle.
I've created the block, but it isn't working correctly. I've attached a drawing, with the left hand drawing a sketch of how it needs to be. The right hand drawing is my dynamic block attempt. As can be seen, when the block is stretched between the 2 points, it doesn't follow the angle of the staircase correctly (Very slight run off)
I wish to create a dynamic block containing some attributes. These attributes are inside rectangles that can't be modified in length using linear parameters ; but the attribute has to be always in the middle of the rectangle. So, I draw a line inside the rectangle (in a hidden layer) and insert the attribute with center justification (not sure for the translation) that I place in the middle of this line ; then I put a coincidence constraint (not sure for the translation, but it's the first one) linking the middle of the line with the middle of the attribute.
But here's the problem : when stretching my rectangle, the insertion point of the attribute suddenly changes from "center" to "bottom left".
I am looking for a way to use the ATTIN/ATTOUT workflow to bring in data from an excel spreadsheet to drive the size of each of my block's instances. The block will be simple, a rectangle, with width and length parameters. For each entity in my excel/csv file these parameter values are spelled out. I know how to display these parameters in my attributes, but I don't know how, if I were to feed in these values, to drive the geometry. If there's a better way to take a list of width and length values to generate a series of blocks each with a rectangle containing its respective size.
I need to do some repetitive task on a lot of dynamic blocks, unfortunately, when I open each file, AutoCAD keeps asking if I want to open it with the block editor.
Is there a way to disable that dialog and open the files as normal dwgs?
A hint: BLOCKEDITLOCK doesn't make it, it shows another dialog...
usage of dynamic title blocks with visiblity states and defining page setup override templates which use same for quick plotting using sheet sets.
I have attached a simple dynamic block that I built which is the outter frame of our company title block, it is designed to allow users to quickly switch between Landscape and Portrait orientations.
The problem I am having is when I go to define page setups for my Sheet Set Page Setup Override Template I am unable to use the "Extents" option with auto-center because the "Extents", as defined by the page setup, includes ALL objects in the paper space regardless of visibility, so my title block ends up being centered in a stupid way if that printing configuration is used.
The only solution I have found is to use the "Layout" option when defining page setups, but this option produces other issues in other ways when printing. I don't want to use the "Window" option either for the potential for users to be using the page setup overrides to print drawings using different paper sizes or drawings that were not originally created using the current template the override is designed to accomodate.
Is there perhaps a system variable that defines whether invisible objects are included in the "Extents" setting in the page setup? I'm sure you'll all agree that Extents is the way to go in this situation, but it is not performing exactly as required.
I'm trying to make a dynamic block of a column radiator.
It should be very simple. It's a 46mm wide module that comes in a range of heights (300, 500, 600, & 750mm) and a range of assembly widths (9, 13, 18, 22 & 27 modules wide - more commonly given as mm widths of 414, 598, 828, 1012 & 1242 respectively).
My attempt at constructing it has gone quite well, but when 'stretching' the block a ghost of the core 414 (w) x 300 (h) unit remains. I attach the block to give you a better idea of what I mean.
I have a drawing ("SURUBURI.dwg") with several dynamic blocks ("M12", "M16", "M18" ... an so on...). I want to insert in my current drawing, one of the blocks from SURUBURI.dwg, for instance the block named "M12".
For that i tried creating a new command "INSERT_M12" that has the following script :
I have successfully created a dynamic block. I can insert it into AutoCAD, and it behaves like I want, except for one thing.
I can select the block and change it by taking a grippoint and place it at another position. So my block is e.q. stretched, just like I wanted.
But then. When I want to use the ordinary STRETCH command of AutoCAD, I can only stretch the insertion point of the block, but not the grippoints. Is there a way to set a grippoint to be select edable by commands like STRETCH.
I'm working on a dynamic door, that has specific parameters to change its size and orientation. Everything works pretty good, only the arc for the door won't react the way I want it.
Why the drawing title in my dynamic block will not scale up or down. The rest of the objects scale properly but just this the drawing title text attribute will not follow suit.
I tried adding position point and link, etc....I run out options and don't know how to fix this.