srksphillips Posted September 15, 2014 Posted September 15, 2014 Last week I created a dynamic block that contained Text objects (with inserted Fields) that displayed each Text Object's position within the Block. In other words, my Text objects displayed their own X or Y position as relevant. I had re-opened the drawing several times that day and everything worked fine. I opened the file today and all the fields contain ######. DYNAMIC BLOCK USE: Dynamic map grid DESCRIPTION: Combines a Linear Parameter with an Array Action that arrays the grid lines and their position labels. Once the block is setup it is exploded and regenerated - the labels then display their positions within the drawing. FIELD CONTENTS: Each grid label is a field that looks at its own Text Alignment X or Y position. I set this up by copying and pasting a Field Expression into the formula entry area. As you cannot select the Text Object you are currently in, I used dummy text fields to find the Field Expression I needed for the desired Text Object. Does anyone know why my dynamic blocks work fine one day and not the next - this has happened for some of my other dynamic blocks. When you edit the fields the formulas have gone. Any help would be greatly appreciated - thanks in advance. Quote
srksphillips Posted September 15, 2014 Author Posted September 15, 2014 I can't see any option for attaching DWG files sorry. Quote
Murph_map Posted September 15, 2014 Posted September 15, 2014 I can't see any option for attaching DWG files sorry. When you reply click on the GO ADVANCED bottom right corner, then you get the option to attach a file, the paper clip icon. Quote
srksphillips Posted September 15, 2014 Author Posted September 15, 2014 DynamicGrid.dwg This is the offending Dynamic Block. It has a Visibility States option in the top left and Linear Grips top right and bottom left. The block contains annotative text but there are a number of preset scales in there. Quote
srksphillips Posted September 15, 2014 Author Posted September 15, 2014 This is an example of what should be contained in one of the the fields: %%).TextAlignmentPoint \f "%lu2%pt3%pr2%zs8">% I paste the Field Expression I want into the relevant label. E.g. If I need Label A's position I create a dummy Text object (B). From within B I get the Field Expression for A's position and copy it. Then I open up A and paste the Field Expression into the Formula. Quote
srksphillips Posted September 15, 2014 Author Posted September 15, 2014 Oops - should only be X or Y ticked in the image, not both. Quote
steven-g Posted September 15, 2014 Posted September 15, 2014 You can't get the block back from the broken version, I think the problem is in how you created the fields (or tried to use them - you can't copy the value from the field expression) a field in a text item looks like it is only refering to the position value in reference to the insertion point of the block. Attached is something else to try, one field is in a text object and remains constant untill you explode the block. The second uses an attribute to hold the field and updates with a regen each time you move the block, they both use a point object to get the X and/or Y coordinates. DynamicGrid.dwg Quote
srksphillips Posted September 15, 2014 Author Posted September 15, 2014 The reason I haven't used either methods is because they don't seem to work correctly in an array. When I tried, it appears to make an array of the attribute and points as separate entities without any link between them. In other words, each copy of the attribute is only linked to the original point. I've tried making arrays of them as groups and sub-block but nothing works. Until the block stopped working today it was perfect - I could setup the block, hit explode and viola, all my coordinates would be displayed. I just can't figure out why it would stop working the next day. Quote
steven-g Posted September 15, 2014 Posted September 15, 2014 I didn't think to check the array part, you can't array an attribute (well I can't) not directly. So I array'd a block, but you still need to explode it to get the correct coordinates unless you always insert the block at 0,0 then it's OK. But it might not work tomorrow. The problem with copying the field expression as you were doing is that it refers to a unique object, so copying that to a different object mucks things up, I don't know the exact reason behind it but I have tried similar things in the past that failed. array.dwg Quote
srksphillips Posted September 15, 2014 Author Posted September 15, 2014 Thanks for taking the time to look into this for me steven-g. I think your solution is probably the best way forward (if it still works tomorrow lol). It's a pitty we can't use the initial attribute in some clever way to avoid exploding the whole thing but there you go. I've been trying to figure a way out for the block to see its position in the drawing but I just can't figure it out. Thanks again buddy. Quote
srksphillips Posted September 16, 2014 Author Posted September 16, 2014 DYNAMIC_GRID.dwg This is the draft Dynamic Map Grid I made in the end. Using the Visibility States selector (top left), the user can select between 100m, 1,000m & 10,000m grid spacing (Default=All On).The grid labels are annotative so the user can add or use an appropriate scale as required. The user can also change the grid colour via the layers panel. One setup and positioned appropriately, the user must EXPLODE the grid for the labels to display the correct X and Y coordinates. Regards, Steve Quote
steven-g Posted September 16, 2014 Posted September 16, 2014 Nice, just a shame that you can't get the thing to work without exploding, I've tried a couple of ways without success. Quote
srksphillips Posted September 16, 2014 Author Posted September 16, 2014 Not to worry, it's only a slight inconvenience I guess - having said that I'll probably keep trying to figure out a solution during quiet days. Quote
Recommended Posts
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.