AutoCAD 2010 :: Inserting New Block And Entering Attribute Data By Selecting Another Block?
Aug 13, 2012
Is it possible, via whatever methods (lisp?) to be able to have a premade block with an attribute and insert it into a drawing then assign a value to it by selecting another existing block in the drawing and using one of its own attribute’s values?
For example, say I have a block representing a telephone and it had an attribute called "PhoneNo" and I inserted it into a drawing showing an office floor plan that had blocks in each office space that are telephone junction boxes with attributes "PhoneExtension". I would like to be able to autocomplete the entering of the “PhoneNo” data by selecting one of the telephone junction boxes in the drawing and using its attribute’s value.
Drawing 1 : Contains tree blocks that have a specific scale dependant on the tree size
Drawing 2 : Contains a block with just a point and attribute data about the tree (name, size etc.)
This block is approximatly at the same location as the tree block (0,1 m precision)
Problem I want to join these two items together. In other words, in the tree block that is scaled correctly i want the attribute data with the name, size etc. These blocks don't have a corresponding unique number or something like that.
How do I prevent "Edit Attribute" pop up prompt for entering text for an attribute in a block? I just want the same attribute text each time I insert the block, I don't want the "Edit Attribute" popup window to re-enter the same text every single time.
I do want the attribute text so mirror won't reverse it (I just want permanent attribute text).
First I delete the old regular text.Second I give the block an Attribute Definition Tag and enter the text I want in the Tag blank. Third I center where I want the text. Forth I save the block.
When I finally insert the block I get the "Edit Attribute" pop up to renter what I want it to say. Like I said earlier, I don't want this pop up, I just want to enter the text once and that's it. Also if I enter nothing in the "Edit Attribute" pop up, then no text will show on the block.
I'm working in a different department and can't figure out why the attribute box won't open when I insert their title block. I have checked that all the variables attmode, attdia, attreq, filedia, and cmddia are all set to 1 in both drawings. What am I missing? I'm using 2014. I'm attaching the drawing I want to insert.
I'm trying to build a routine for my job to insert a block which consists of 3 single line variable attributes in a specific order. I need to be able to do this on many different drawings, and I would like to share this ability with my coworkers. Using the DesignCenter is not an option. In order to do this, I saved a drawing which consisted of the three attributes in the layout in which I need them to appear, however the order in which it prompts me to enter them is reversed. I already know how to set the order of attributes in an EXISTING block definition using the BATTMAN command, as every time I run the routine again, I'm redefining the block definition.
I'm not sure if it's important to know this, but the routine consists of a button with the following macro:
starting a new job at work so setting up the job folder etc. grabbed the title block and the text attribute insert from the library.....
so here is when the issue started.....so title block and text attribute are both saved in model space, both have all the same settings, this also applies to the template we have here all match.
so i xref in my title page at 1:1 which comes in normal, then i insert my attribute block in at 1:1 but it comes in at some super size thing, normal 3.5 text size is now 1000......
have fiddled with everything gone back to the library set etc but got no idea.
the interesting bit is if i open the title block and insert the attribute block in, it comes in perfect......
so in saying that i am assuming it is the work template..... but none of this has changed for over a month and have created drawings since then........maybe a random setting somewhere has changed but again haven't done anything different to normal no new radical changes....
i have attached a copy of the title block and the text attribute.
when I insert a block with attributes I get the prompts on the commandline to fill in the attributes. Can I stop this from happeneing, and just insert the block?
Alternatively, can I get the Attribute Editor dialogue box to come up instead?
Sidenote: How hard is it for people to learn that blocks need to be INSERTED not copied - if you copy the blasted thing the attributes are messed up, why is that so HARD?
select all blocks on certain layers in a drawing, check attribute CIRCUIT in each block if it starts with MS then attribute CONTROL = switched. I hope thats clear enough the way
(defun c:control() (graphscr) (Setq sc (ssget "X" '((0 . "INSERT")
Every time I attempt to insert a block with an attribute in it from my tool pallet I get the error FATAL ERROR: Unhandled Acess Violation Reading 0x0020 Exception at 4260af08u.
If I insert a block without attributes it works fine. I even tried building a block in 2013 and then inserting it from the toolpallet, still fatal error's out.
What I really want to do is on our fire alarm blocks we have 3 different attributes one for the address, the candela and one for misc info. I want to make an attribute that takes the number from the candela (15,30,75or 110) and change a different attribute to a value depending on which candela we use (such as 15=.078, 30=.113, 75=.195 or 110=.259). But I don't want the .078,.113,.195,.259 to print out on paper, I want to export block information excel file so I can add up all values.
we have a block that we use to identify rooms. that block has 3 attributes: rooms name, rooms number and surface area.
A former colleague once showed me how to do this but I can't reach him... How can I inquire the data from an area and tag-it right to the surface area attribute of my block? I don't mean pick a pline, list and edit the block... it's something like pick the closed pline and the "area" data is displayed in the right tag of my block?
I am currently trying to make my AutoCad more powerful as a tool of Engineer but not Draftmen (My boss never thing about it, I could only get a standard AutoCAD, not AutoCAD-EMP).
I want to make it a tool for myself to analysis the building system, with excel (and VBA)
The first tool I wanted to create is an underground drainage capacity analysis tool. But I meet the first difficulty, how can I automatically transfer the information inside CAD drawing to the excel?
Say, There is a drainage system with 2 manhole and 1 pipe, the Manhole have 3 attribute : Name, Model, Level, (and the X-Y coordination), I Create a Block with attribute "Name ; Model ; Level". and then I insert the Blocks and place it in correct location inside the Layout Plan.
How can I create some script to "Scan" all Block inside the drawing and make an excel file with data like:
I am reasonably experienced in coding in VBA but cannot find any references as to how to achieve the above within VBA so am now turning to LISP to see if I can achieve it in that language.
Basically I want to be able to create multiple instances of an attributed block using an external source, e.g. a spreadsheet to provide data for the attributes.
I'm not even sure if this is possible.
I can find lots of references for extracting attribute date to a spreadsheet but I want to go the other way!
We're using C3D 2013 SP2. The survey company we use uses point styles to show the blocks. Say they shoot a catchbasin. Instead of inserting the block, the point shows up as the block.
I did a field check & needed to insert a missed CB. When I inserted the block, the other points that were CBs disappeared. I had to insert the block, copy it the clipboard, undo the insertion & then paste the block in. It did this on other drawings & other blocks.
I have a ton of blocks with attributes. Sometimes when I insert them, AutoCAD (2011) prompts me in the command line (perfect). Other times, a prompt box appears to insert attribute definitions (annoying).
What setting do I have wrong, or am I setting the blocks up incorrectly?
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.
I can insert a block with block attributes using the Inter op very easily:
Dim theBlock AsAcadBlockReference Dim pickScreenVBA = myDoc.Utility.GetPoint(, "insert the hydrant") theBlock = myDoc.ModelSpace.InsertBlock(pickScreenVBA, "Hydrant", 1.0#, 1.0#, 1.0#, 0) Dim varAttributes AsObject varAttributes = theBlock.GetAttributes varAttributes(0).TextString ="3 Ports" varAttributes(1).TextString ="Salt water"
Works great, but when I try using the non-inter op, all the example insert new Attributes and not add block with existing attribute (so I end up with duplicate attributes for each block - i.e "Salt water" attribute is added to the block each time I run the code),
Are they any examples that does the same as above using the non-interop code?
I have several blocks saved as separate .DWGs, some of which are dynamic. I want to review and test these blocks, but I can't find a way to open the existing block definitions in the Block Editor without first inserting the blocks into a drawing.
I found a lisp to get block attribute data to a other block. See attachment. I can only apply it to one block. I like to apply it to selected blocks or blocks in a group. Is this possible?
I have an existing title block a few text attributes, to which I wish to add a watermark. I have added it in the block editor as a normal attribute, with the same details as the other attributes that work, only a different tag name. It has a default value, "DRAFT" and is tagged "WMARK". It works fine in the Block Editor, and If I test the block I can edit it to display whatever I want, but if I save the block and open it from Autocad proper, the attribute is not in existence, either as a default value, or editable from block properties, attribute editor or title block editor, whereas all of the other attributes are there. I have used BattMan to verify the settings of the attribute, and the only difference is that the others all have "L" in the "Modes" column, but I think that means that their position is "locked" whereas my new attribute is justified "aligned" therefore cannot be "locked" (This is some assumption on my part, as the documentation on the "Modes" column is almost non-existent). I cannot afford to waste much more time on this issue, as the boss is breathing down my neck, but editing watermarks on every drawing after every revision is frustrating, when it could be an attribute that is editable from the title block editor.
I need to match few attribute values from one block to different block. I download a lisp file called; ca.lsp which can match the single attribute value. I modified it for more than one attribute value matching. It is ok but still wish to overcome two issues for batch prcess
1. picking up the blocks by selection
2. click the alternative block numbers of times to match the numbers of attribute values I needed.
How to modify this lisp I can run it by block name selections instead of picking selection which enable me to run batch process for numbers of drawing? That will be good...
Lisp & Demo file attached (Match attribute value, A, B & C to Attribute 1, 2 & 3).
I need to create blocks in which the same text appears twice. I've created an invisible attribute to hold the text and created two mtext object containing fields that point to the attribute value.
The text fields show the default value of my attribute but will not change when the attribute is set on an placed instance. After setting the attribute on an instance I've tried UPDATEFIELD and REGEN but still I see the default value.
whenever I make a block with attributed text the block works just fine when I insert it into a drawing like normal. However if I try and open the block drawing by itself the attributed text just turns into normal text after I get this message "Orphan Attdef Objects found & Converted to Text". This problem seems to happen on two of our machines but a third co-workers machine still works fine.
Is there a way that I can create a block with text ('A') and when I insert the block and populate the block another block block will update also? I am wanting to create a block for x-sec flags, and detail callouts that update their detail titles.
I am trying to create a block with 1 attribute (ELEVATION) showing a finished floor level and another text (field) to show another level derived by the sum of the attribute value + and additional (fixed) number, say 100.
I have tried using fields inside an ATTRIBUTE or a simple DTEXT but the field does not update, it only picks up the DEFAULT of the attribute, not the user entered input. How can I do this?
trying to set up a system for a less advanced user.
basically they donot like the advanced attribute menu when you edit a block with attributes in them.
looking at the varriables the end user likes the Attdia set to 1 when you insert a block it then displays nice clean menu which just has the attributes you can edit.
can this be set so when you later edit a block this menu appear rather than the advance attribute editor?
Is there an easy way to transfer the text inserted in one attribute and copy it over to another attribute in the same block? This is for a titleblock. We are currently using AutoCAD Electrical. We need to do this on over 10,000 drawings so we would like to be able to write a script or lisp routine so we could run a batch across all of the drawings.