AutoCAD .NET :: How To Use Block Properties Table Of Dynamic Block
Mar 7, 2013
It's about "Block Properties Table",I want to use a Block Properties Table to manage a Dynamic Block.
I have defined a Dynamic Block a and its Block Properties Table in Autocad2010,this is the screenshot of the Block Properties Table(a1:d1=100,d2=200;a2:d1=100,d2=400;a3:d1=100,d2=600.) Now I want to insert the Dynamic Block using .NET API.after I input a command,the block of a2(d1=100,d2=400) is inserted. I have the code about it, but the code is not complete. this is the Dynamic Block
this is the the screenshot of the Block Properties Table .
the result:
the code about it:
[CommandMethod("readBlockTable")]
static public void CmdReadBlockTable()
{
Editor ed = Application.DocumentManager.
MdiActiveDocument.Editor;
// select a block reference
[Code].......
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 )
The "Main Stretch" parameter does not correspond with the Block Properties Table. What does this parameter need to be attached to?The paramter will adjust with the pull down options of the Block Properties Table.
i was wondering if it's possible to change the default precision of values in the drop down menu for linear parameters when using a block properties table from 4 digits to 0.
See attached file, when opening the dropdown menu, the centre-to-centre widths of the chair are displayed in a value with 4 digits "behind the comma" and i would like that to be 0.
My boss gave me a copy of Autocad 2012. I've messed around with architecture 2010 before so the ribbons are no surprise. One thing I have noticed that's really different is the dynamic block constraints & block table actionblock properties table? I looks very similar to the lookup property table
is it possible to define more than one block properties table in a DB?
I have a block definition with several attributes. I would like to pick a (predefined) value for each of the attribute. Making just one block properties table means that I need to fill all the possible combinations of these attributes.
I am working with a set of dynamic blocks, each with a block table that provides a drop down for the user to alter attributes from. My goal is to be able to update the block table using VBA to push data from an excel file. I do have import/export code that will update block attributes, but I am not sure the functions that would access the table properties.
I used the Block Properties table in dynamic block editor. I picked 3 out of 6 atributes to include in the Block properties table and I inserted the predefined values. When I view the block in testblock edditor everything works. Everything works also in the same drawing were the block was created. I can choose the predefined block vallues from the dropdown list.
The problem is that when I save the block in the block edditor as new drawing, for the purpose to use this and include this block in another drawing, then the attributes witch were associated with the Block Properties table are missing. They are also missing when I open the block editor in the new drawing. The attributes that were not associated with the table exist.
I have added 2 files. 1 with the block created in the same drawing and another where the block was saved an inserted to a new drawing.
Ok over the past few weeks I've got pretty much most of the Dynamic Block stuff down except this feature.
I've attached a drawing. In the middle I used VISIBILITY to have all the different weld types. I need something at the end to where Weld Tails can be added if they're needed but you can only use one Visibility per block. I'm also going to need something at the front of the block for different symbols like "Field Weld" and "All Available". If I can figure the Tails out then I can do the other one.
I've created this dynamic block for work. Its an overhead cupboard with 4 doors. My problem is that when i create a table through data extraction the value for the length and height for the doors aren't shown (The column this there with a heading, no value), the length of the cabinet and visibility is though. Do i need to assign an action or something for the value to be displayed?
Is there a way to modify the properties of a dynamic block after the insert and before a jig?
I've tried a quite a few things but here is some code as a starting point. The blocks are affected by the change but not in a good way. The blocks have several parametric constraints. I wonder if this is part of the problem.
<CommandMethod("TestEntityJigger7")> _ Public Shared Sub TestEntityJigger7_Method() Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor Dim db As Database = HostApplicationServices.WorkingDatabase Dim pr As PromptResult = ed.GetString(vbLf & "Block name:") If pr.Status = PromptStatus.OK Then Using tr As Transaction = db.TransactionManager.StartTransaction() Dim bt As BlockTable = TryCast(tr.GetObject(db.BlockTableId, OpenMode.ForRead), [code].........
Is there a trick in using a dynamic block in a table cell? When a dynamic block is inserted into a cell, any visibility can be viewed (Properties Manager) in that cell if the visibility state has a block in it. What happens if the visibility state does not have a block. That is, if the view has exploded block so one can use parts in actions etc? Can I view ANY state in a cell regardless if it has a block or not? Or must the visibility states have blocks to be able to use it in the table cell?
I have created a dynamic block and have applied some lookup tables to it but its not working just the way I want it. I think its to do with the custom entry on the lookup tables. If I delete the custom entry when i select the block in model space the drop down select box to allow me choose a selection is no longer available. How can I remove the custom entry and still have the block working normally. I've attached the block.
I've created a titleblock with a menu to select sheet size, a single set of attributes that serve all the different sheets, but now I'm trying to find a way to add a table.
The table is to sit above the title box and include information on: New revision number Text detailing changes since the last revision (might be single or multiple line text) Date of new revision . The bottom line needs to sit flush to the top of the title block so the top line would be moving up the sheet as new lines are added if that makes sense?
A simple dynamic block using a Block Properties Table to control the value of an attribute. The block also has flip & rotate actions, but I cannot get the Block Table grip to flip or rotate with the rest of the block even though it is part of both selection sets.
I am new to dynamic blocks. I have figured out how to use the Properites block for "preset" definitions but we offer a product in infine sizes (within limits). For example the width may range from 30" to 200" in fractional increments which is impossible to set up presets. Is there a way that a person can set up the properties block so that a person would be prompted to enter required information, I.E. Width = xx", Height = xx" etc.?
I am creating some table of contents. The first column contains symbols that are inserted blocks. Now, when I've created dynamic blocks I've made them to have more visibility states. If I insert the block that has such states, only the saved state is visible. Is there any way that I can use more visibility states when inserting some block into table.
At the moment the only solution is to insert another simplified block that I've created just for this insertion. That way my blocks library is getting bigger and bigger only because of this. I don't use simplified blocks in my drawings, except for the thingy mentioned above.
Whenever I add a block property table the window that should be opent doesn't open. The strange thing is that I think it actualy is open but i just don't see it on my screen. The same thing gous for the screen that allows you to ad a parameter to a lookup set. by folowing this link you can see what i mean, it gets interesting after 30 seconds.
I have created a library of dynamic blocks in AutoCad10. When I craeted them I could click on the Grip for a Linear Parameter that was associated with a Stretch Action and the current value would be displayed (Example: The width of a block). I could type in a new value and the block would stretch to that value. Something changed this week when I attempted to use my blocks. When I click on the Grip no dimension is displayed. The command line shows "Specify point location or [Base point/Undo/Exit]". I can drag the grip to change my block but I cannot simply type in a new dimension as before.
I created the attached block to add spot elevations to a drawing. The block has attributes allowing elevations to be manually typed in, but also includes many dynamic features for rotation, lengthening, mirroring, etc. The block was created as an annotative block.
The block and all of its features work perfect as long as the dynamic features (rotation, etc) are not used after additional annotative scales are added. I often times have a drawing set at 1:10 or 1:20 scale and need to do an enlarged detail at 1:5.
What I would like to do is have this block set at 1:10 scale and 1:5 scale and manually rotate it (ideally using the dynamic features) at different angles for each scale. Is this possible and if so, why is it not working with this block? This works flawlessly when using annotative multileaders, so why shouldn't it work with blocks or is this just too labor intensive for the software?
I have also tried attsync, etc. and often times when rotating at different annotative scales, the text attributes go "bonkers" for the opposing scale when applying attsync.
I am working on a dynamic block that I figured would be fairly simple. However, it is proving to be a huge annoyance. What I want for it to do is stretch the end of a polyline with a stretch action, while at the same time moving the grip of my block properties table. No matter what I do to it, the block properties grip won't move/stretch.
We use a number of blocks with block tables for data extraction here, and whenever one of the blocks is modified and updated, all of the block tables reset to the default value. This happens for any block reference change, not just changes to the block table (which makes sense that it would reset).
How can we update these blocks without having to manually change all of the block tables afterwards?
So I'm creating a block with a block table and constraints. The constraints such as Geometric Constraints work just as assumed. When adding in dimensional constraints we start to have more fun. So I have dimensional constraints that use other dimensional constraints to manipulate itself.
EX. dimconC = (dimconB-dimconA) dimconA is 12 dimconB is 14 dimconC would be 2 Now when ever dimconA or dimconB change dimconC would populate accordingly.
With this I wanted to make an attribute that could be placed in instead of a dimensional constant.
EX dimconC = ((Att1*dimconB)-dimconA) Att1 is 02 dimconA is 12 dimconB is 14 dimconC would be 16
However when trying to place in formula that references a attribute I keep getting an error "A DEPENDENT EXPRESSION CANNOT BE EVALUATED" So I assumed it was missing an expression from the attribute, however once entering an expression in for it I still get the same error.
(full error message attached)Constraint_Error.JPG
Is this something that is not allowed at all or have I over looked something?
I've got Model Space & Paper Space(Or Layout Space) under control.
I've got two block reference instances of the same block on a drawing.
If I purge the Drawing the older duplicate block reference disappears.
7867 is the older reference that disappears when I use the purge command.
78A7 is the newer reference, I only want to see this one on my extraction of attributes.
What property of the block reference will tell me that it would be purged if I used the purge command?
As I want to detect what's the old block and which one is the current block reference.
The problem is I only want to extract the attributes from the newer block reference.
The old block reference is coming up... how can I filter that out of my loop results?
I know I could just purge the drawing and my problem would be done with.But I need to do this in a manner that only accesses the drawing from a read-only manner.
I am in the process of fixing one of our dynamic blocks. It's a fairly simple fix where there was a typo in one of the names of our items in the lookup that needed to be fixed.
I changed the name of the item in the lookup table. I went and did the test block and it seemed to work fine, but when I bring the block into a drawing, it reverts back to the old lookup as if I did nothing at all.
I made sure that the path was correct and I even just dragged and dropped straight from Windows Explorer to no avail.Does AutoCAD keep referring to the old block? Did I forget to change something else?
I have created a dynamic block with a stretch, flip and rotate. Everything works great in its file. When I insert it in another file, the grips move but the block does not change.
my problem is whenever i make a new block a stretch point appears even if its not a dynamic block . also its not a stretch point, because when i click on it, it just move the block , and it always appear on the coordinates 0,0 it cause me a problem when I insert the block , autocad use this point as a base point , and its very far from the real block .
I am learning autolips and i found a problem that i can´t solved.
(vl-load-com)(defun c:pmb ( / ss ent pt )(prompt " selec block : ")(setq ss (ssget '((0 . "INSERT")))) (setq ent (ssname ss 0)), (setq pt (cdr (assoc 10 (entget ent)))) (command "point" pt)) wich this code you select one block and insert one point at insert point´s block.
which this other code yo select all block and insert all point.... but in one block
I have created d/blocks for my different pipe sizes i.e one block with a dropdown to select the different sizes and have done the same for my flanges. now how do I link / insert the flange d/block to the piping block so that I can export the information into a material list later on.
My drawing- block is a little bit complicated, it contains few actions and parameters and everytime i open block editor to add, or to modify some action I can't see my drawing because actions grips and parameters grips obscure my drawing. I tried to refresh layout but it doesn't work.