I have a strange problem with one of our library blocks.
For panel schedules and light fixture schedules, we have DWG block files, and we insert them into our drawings and explode them for editing.
The light fixture schedule loses all of its font attributes when we do this. It looks fine when you insert the block, but once you explode the block all the font information is lost. Interestingly, if you insert the block and go into the block editor, the block editor doesn't show the fonts correctly even though the un-exploded block does show the fonts correctly.
An important detail in all of this is that the panel schedules are just drawings (lines, text, hatches, etc.). The light fixture schedule is a table.
I'll attach some pictures showing what I'm talking about and the DWG block file.
I'm trying to add some attributes to an existing block using the block editor, but after I save and close it I cannot see any 'placeholders' despite adding a default value and the attributes work fine when I double click the block.
I've tried using the ATTSYNC and BATTMAN commands but nothing works and there are no invisibility states applied to either the attribute or block and all layers are switched on.
I just tried making a quick block from scratch and it seems to have the same affect, except the default value will show, but no 'placeholder' shown if left blank.
I swear with previous version I could see the tag when a value hadn't been applied, so is it that the version I now use (2012) does not have this feature or it's disabled?
I'm creating a routine to fill in my terminal strips. This routine worked perfectly in Vba but I'm now rewriting it for .NET...The problem is that I want to insert a block with attributes into different cells.The tables already exists. Below my function, I'm stuck on this part
Dim lonReturnedIds = FunBlockId() ' Calls the function FunBlockID to get the ID's of the attributes ' 0 = BlockID ' 1 = AttributeID of KleurB ' 2 = AttributeID of KleurO TS.Cells(i, intPosition).Contents.Add() TS.Cells(i, intPosition).Contents(0).BlockTableRecordId = lonReturnedIds(0) TS.Cells(i, intPosition).SetBlockAttributeValue(lonReturnedIds(1), strCableConductor2WriteFirst)
Public Function Fun_StripUp(ByVal Po3dXY As Point3d, ByVal str_CableName As String, ByVal Str_CableConductor As String, ByVal strCable Conductor 2 Write As String, ByVal strCableConductor2WriteFirst As String, ByVal intPosition As Integer) As StringDim tAcadDoc As ApplicationServices.Document = ApplicationServices.Application.DocumentManager.MdiActiveDocumentDim myDB As. [code]...
I want to convert existing lighting blocks with attributes to a new dynamic block. I created a few visibility states but when i insert the block I can't move the attribute text around. I don't have to redefine the attributes within the block editor to make this work. What is the best way to deal with existing blocks with attributes?
I have a block that has been already established. i added another line of attribute. how do i make the new attribute associate with the 'move' parameter that has been set with the old attributes?
I'm trying to create blocks which will be used in multiple drawings for Gridlines and detail marks.
These blocks are basically a circle with an attribute in the centre, and once created as a block are annotive as they will be displayed in multiple viewports.
I can create the block with attribute fine using the "block" command which then allows me to make the block annotive ( The "wblock" command dose not allow this )
However when I insert the block into a drawing I need to explode the block before I can edit the attribute ( even though I explode the block it's still actually blocked )
When defining a block it is possible to choose wether the block can be exploded or not. Is there a way of undoing this. I can edit the block in full version with refedit but in LT there is no way of editing this block. I can see advantages of this setting but I imagine someone accidentilly unpicking this box and creating unexplodable blocks without noticing.
I'm trying to explode a 3d block that I created from a manufacturer's horizontal mullion detail. Whenever I do that, it disappears. I tried setting it to layer 0, still disappears. I made sure all the layers were turned on and thawed. Whats weird is that I can explode the vertial mullion block and it doesn't disappear. I tried matching the vertical mullion properties to the horiz, still no luck.
For some reason the line type scale is way out to lunch on one of the lines in a block i use, so i was wondering if you can change that LTS without exploding the block, or if i can change the LTS for the layer that specific line is on without exploding the block
I create schematics of lighting control systems for my job, the controllers on my schematic have multiple outputs which I need to modify so they're relevant to the job.
At present I have all my blocks in a tool palette and just click and drop to add them to my schematic.
How can I tailor the text of a block without exploding it? Is this even possible?
I have multiple dynamic blocks that I would like to add descriptions to. If I have a block in a tool palette, I can add a description by right clicking and selecting "Properties." But I would like to add a description that shows up in the Design Center as well.
Is there a way to do this without redefining the block? Exploding makes me lose all of my dynamic properties, and I'd hate to have to recreate them.
I'm using LT 2008, by the way, so I don't have ref edit or any of that other cool stuff.
Here at the company I work for, we have different drawing templates for certain clients. The templates share quite a bit of information with only a few differences. I combined them into one dynamic block with different visibility states for each template. But when we get ready to use a particular template, the block will need to be exploded to use all the information available.
My question is what happens to the objects not on the current visibility state when exploded? It seems to just disappear. Does the exploding essentially delete all objects not visible?
We have a large AutoCAD file received from a survey company consisting of one large block that I want to explode and edit. When I attempt to explode it, a portion of it disappears.
This is the fifth version of the file that we have received. The previous versions did not have that portion at all, so we had to keep sending back for it.
What's been tried: 1. Turned on/unfroze all layers and zoom extents - No change 2. Tried both Burst and Explode - No change 3. Tried to copy/paste into a new drawing. - "Copy to Clipboard Failed" 4. Inserted drawing as a block into a new drawing. - The disappearing portion did not seem to be inserted along with the rest of the drawing 5. Attempted to edit the block. - "This block contains proxy objects and cannot be edited in the Block Editor"
Is there a way to create a block with attributtes that automatically complete x, y, z, lat, long for the insertion point of the block?
I am trying to complete text in paperspace that will automatically fill in the lat long of a point in model space without using a table. I have tried field insertion with reference to a cogo point, but it doesn't give options for position on a cogo point. If I pick a block with attributes, it will let me pick any attributes, and x,y position for the block.
Cogo points show all the information I need to propagate in the properties....but how do I get that to translate into the text using fields or some other method?
Dell Precision T3600 - Windows 7 64-bit NVIDIA Quadro 600 Intel(R) Xenon(R) CPU E5-1607 0 @ 3.00GHz 3.00GHz 8 GB ram - Two 1TB raid
I would like to change sub block from a visibility after setting it. Here an example of code to get the right visibility, I don't really know how to update a sub block by name or by handle(seems to change inside dynamic block).
Dim Block As AcadBlock Dim BlockRef As AcadBlockReference Dim DynEntBlock As AcadEntity Dim DynObjRefH As IAcadBlockReference [Code]........
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?
If you look at the attached drawing you will see my drawing sheets. The problem I have is regarding the attributes used for the 'Checked By' section of my sheet.
Yesterday I added a 'Size' tag to my sheet so this shows whats size paper the sheet is to be printed at. To make this fit I needed to move all the existing attributes over to the right.
Everyone except the 'Checked by' tag moved. I cannot now get this tag to move over even if I open the block up and move it.
I'm trying to chnage the text of the sheet number and total sheet number attributes for each layout in my drawing. I have code that adds and deletes the specified pages, now I need to edit the attributes to reflect the correct page and correct total amount of pages. Here is my code, based on my old VBA version.
I know there is a problem with the line:
For Each item In myBTR.ObjectId
I've used a number of websites and books, but I would really like to find something that teaches about block tables, block table references, block table IDs so I can get a better understanding of breaking stuff down to get the info I need.
Public Sub updatePageNumbers() Dim myDWG As Autodesk.AutoCAD.ApplicationServices.Document Dim myDB As Autodesk.AutoCAD.DatabaseServices.Database Dim myTransManForPageNumbers As Autodesk.AutoCAD.DatabaseServices.TransactionManager Dim myTransForPageNumbers As Transaction
I was wondering if it would be possible to convert an existing block to a leader that uses the same block with the arrow attached without losing the information which is stored inside the block attributes.
I have created the multi leader with the block definition attached but I'm still struggling to incorporate the data into it.
There are to many blocks to do this manually. I have exported the data to a excel but do not know how to insert it back into to multi leader.
Is there a way to get that long tube and that rectangular part all around that middle circle.
[URL]
Open this picture. In the end it would end up looking somthing like that lamp shade. I got one part down so is there a way to get a bunch of those around instead of redrawing it?
I got too smart for myself today in bringing an old drawing up to current standards...Everyone seems to want their block attributes to be zero - I have blocks where the attributes are best when they match the rotations of each blocks.
I have an old drawing that was rotated (as it should be) at approx 2deg.
I used a lisp routine to global edit all the blocks that needed to be at zero. BUT for some reason (and after hundreds of blocks were corrected), I noticed I now have two blocks that should NOT have been in the set have had their attributes rotated to zero....and the attributes should be at the same rotation as their block's rotation.
Because those two blocks have a fixed tic mark, I can click on the mark to see what the block rotation is, then rotate its attribute to that rotation, but I have hundreds of blocks! One-at-a-time sucks....
Any chance there is a GLOBAL way to edit an attribute rotation to match its own block's rotation?
Function ReadDWG(ByVal DWGName As String) Dim AcadApp As AcadApplication Dim AcadDoc As AcadDocument Dim Extracted_title As String RichTextBox1.AppendText(Path.GetFileName(DWGName)) RibbonLabel1.Text = "Opening AutoCAD"
[Code]...
I am using the above code to read block attributes depending on the name. But now I need to read the active drawing (drawing will be open and should read from the active document). In the above code I have referenced interop.dll. without that can I retrieve the block attributes. How to read the block attributes from the active document.
Using ACAD2014LT. I want to use the first variable attribute value as a variable in subsequent attributes in the same block. This will be extracted and used for tag references in a PLC program.
Along the line, i know I can change the enclosed character ( ' ), but can I remove it?
And I generated this code for read this file and insert one block with attributes for each line of text…..
If txtPath.Text() = "" Then MsgBox("Select DB .txt.", MsgBoxStyle.Exclamation) End If On Error GoTo ControlErroresBD Dim AcadDocPt As Document = [Code] ....
‘To the end of this line I can insert the block,,,,,,, but I don’t know how to write the attributes…… I tried with the next code but it doesn’t work…. My bloque has 3 attributes and every tag named with “PN”, “CD” and “CT”
Dim AcadObj As Entity For Each acObjId As ObjectId In AcadBlockRef.AttributeCollection AcadObj = AcadTransPt.GetObject(acObjId, OpenMode.ForWrite) Dim acAttDef As AttributeDefinition = TryCast(AcadObj, AttributeDefinition)
I have used the FDO to connect to my SHP files. I have used one data attribute to get a rotation for my blocks. I have also used a feature Label to display the text I am interested in.
When I save to DWG, the feature labels come in as Text. I would like the text to go to the correct block attribute.
Is there a way to do this? I did not see anything in the Style Editor to use my blocks' attributes, only the geometry.
I am aware of using MAPIMPORT to set attributes from the data, but they do not come in rotated, and I have more conditions on which block to use, not just one field to decide the block name.