I'm working on a dynamic door block, which allows me to add some height and width values to the door. everything works fine when I put in the attributes right away when I insert the block. Only if I want to mirror and stretch the block before I enter the values they want move to the correct position. After I run "attsync" it moves to it's correct place.
I have a dynamic block that I am trying to add some pretty basic functionality to (at least it seems like it should be simple!). Since I’m still relatively new to DB’s, I figured I’d give some background on what I’m trying to do, cause maybe it could be done with a much easier approach than I have come up with. So if you don’t feel like reading the details, see the fourth paragraph for my actual question.
The block is a sheet reference annotation (that shows: SheetNum/TotalNumOfSheets) that we typical put in the notes section of our construction drawings. It looks nice when the text (which are attributes), lines up with the text in the note (usually Mtext, but sometimes a Mleader). So I constantly find myself completing the tedious task of placing the block at the insert point of the Mtext (which is always justified LEFT TOP), and then calculating the distance down to line that I want the block to line up with.
So what I want the block to be able to do is to be able to have the user grab the block by its basepoint, place it at the insert point of the Mtext object, and just enter the text height of the Mtext note, the line space factor, and the target line of the note that the sheet reference block should line up (the input would all be done via custom block properties in the Properties Palette). And since we almost always use a text height of 0.125 and Line Space factor of 1, those will be the defaults, and really the only thing that would need to be entered would be the line number of the Mtext that the annontation should line up with.
I already figured out most of the constraint parameters necessary and calculated the offset equation using custom parameters. I have all the linework moving correctly using the vertical constraint parameters, however, I cannot figure out how to get the Attributes to move along with the linework. I know how to move text and attributes using Action Parameters, but I can’t do it with Constraint Parameters. So I figured that maybe I could chain an Action Parameter to the Constraint Parameter, but I couldn’t figure out how to do this either. Also, I am using visibity states and would like the visibility grip to move along with everything else as well.
My block is attached. I used some lines for the Constraint Parameters to be associated with, but they are only there for the block to operate correctly, therefore they are invisible in both of the visiblity states. Probably not the best way, but it works.
I have this Dynamic Block which has a few distance parameters on it and an attribute at beginning of each parameter which are attached to a stretch action. If manually bring the block in. And set a value to attribute and then stretch the it , attribute move along with action. But when I do it pragmatically it doesn't . Basically attribute stays at original location of original block before stretch. What is wrong with my code. Or Shall I do something to Attributes when I change the distance parameters in Program? I don't know .
I have a function which bring the block in and set attribute first and then another call which change the distance . So I don't show the first function which to me works fine . The problem is this part.
For Each myBRP As DynamicBlockReferenceProperty In myBRC For I = 1 To NumbderOfDistanceParamsinDynBlk If myBRP.PropertyName = "Distance" & Trim(i.ToString) Then myBRP.Value = DynDistancevalue(i) End If Next Next
So I have created a block witch is a pin out for a device with some attributes. I have created a dynamic block away so that I can have multiple pinouts on a device... how can I work it so that each element of the array has different attributes?
Output1, output2, output3 for example? but when i use the grip to give me another pin it allows me to do output4?
I am trying to create a dynamic block with two attributes, a double grid head, when I add a stretch parameter to the head it only affects the first assigned attribute.
I have added a stretch parameter to each attribute and only the firt attribute will move. What are the rules with attributes in dynamic blocks, the only thing I found was I have to lock posistion for attributes to be affected by the paramter assigned by the dynamic block.
I'm trying to set up a dynamic block with an attribute/field within it that the user(s) edit using a lookup table.
I understand basically that a field must be created as the attribute that then references a lookup table with the inputs listed. However, I really do not know how to create a lookup that has custom information such as below:
Site: Unit Code Site X 100 Site Y 200 Site Z 300
All I have seen explains how to create a lookup from an existing parameter (liner etc) and I don't seem able to create something specific to my requirements. I forgot add that I want the user to see "Site X", "Site Y" etc in the dropdown - but the attribute to reflect only the Unit Code.
I need to know if there is a way to link an attributed F-N bubble with qty's to the BOM. This is for electrical wiring diagrams for aircraft. So I have serveral part numbers to a BOM, but no real accurate way of finding total quantities other than manually going though the drawing.
I am trying to create an attribute that displays the product of an Area of an object in the block and the value of a different attribute. For instance, here is what makes up the dynamic block:
1 rectangle (with width and height parameters and stretch actions) 1 Attribute called "ForcePerSQIN" - the value of this is entered separately for every instance of the block by the user 1 Attribute called "Total Force"
In the "Total Force" attribute, I want to create a field that contains a formula to multiply the area of the rectangle (which I am able to obtain with no problems using the Area property of the rectangle object type) by the value of the "ForcePerSQIN" attribute, which is user-defined. The problem I have is that it appears as if the value of this attribute is treated as text and thus cannot be used in the calculation; I get ######.
Is there a way to make the "ForcePerSQIN" parameter treat the user-defined value as a number instead of text so that it can be used in the calculation? Or is there a better way to accomplish my ultimate goal?
I just have a quick question (hopefully) about an activity I want a Dynamic block to perform.
I have a simple electric switch block (a line with an S over it), that in some cases is enclosed by a simple rectangle. When the switch is enclosed, I'd like the attribute to move further, to keep the spacing the same.
Is there a way to make the attribute move automatically with the display of the rectangle, maybe through some combination of Linear Move parameters, Visibility parameters, and a formula?
Is it possible to increment text or attributes in a dynamic block? I'm want to create elevation text for grids that can start at a certain value and increment up or down from there.
I am experimenting with Annotation, trying to create annotative blocks with dynamic properties. I am having trouble with including attributes in the blocks. Basically the problem is when I modify the dynamic parameters of the block and change the scale (and annotative scale) of the viewport then the attribute gets moved out of position - the size of the text scales properly with the annotative scale, but the text position gets moved considerably out of the proper position.
Attached is an example of the problem - an annotative dynamic block of a grid bubble. There is a basepoint parameter set along the circle and a rotation parameter justified to the center of the circle. The rotation parameter is suppose to rotate the basepoint so then the block can be scaled out from the basepoint regardless of its location along the bubble.
Is it possible for a dynamic block to have one attribute which is set to different visibility parameters; eg. i have a block made for a Setting Out Point. I wish to have 4 different locations that the user can place the attribute after insertion of the block ie top, bottom, left, right, of the SOP.
I was curious to know if it is possible to flip the orientation of an attribute when using a mirror parameter. I would like to orient my text to the right when I flip it one way and to the left when I flip it the other way.
When I insert Annotative blocks and change the scale drawing (E.g. 1:100 to 1:200), attributes of Annotative blocks move to anywhere. I tried already ANNORESET and ATTSYNC, and it solved at that moment. But when I close and open the file, the problem appears again. I have to apply ANNORESET and ATTSYNC every moment. How can I definitely solve this problem?
My entire office has been experiencing drawing crashes as a result of moving or copying certain blocks within a dwg. The problem seems to occur only while executing a Move or Copy command on a block with attributes, and zooming or panning while doing so. My heart sinks instantly because the block will disappear when placed, and I know I am doomed to crash.
I am usually able to pan or zoom a few times, and if I act quickly a Save will work before the drawing then crashes. We have recently switched from 2011 to Civil 3D 2013, and the problem still persists. The two culprits are our slope arrow block as well as hex call-out. Both blocks contain attributes and are frequently used through out our drawings, and this problem proves to be most frustrating when pressed for a deadline.
We have a drawing here that involves many annotative blocks mirrored to create a layout, then on reopening the drawing the annottaive text of the blocks that have been mirrored are in the correct place but the objects have 'pinged' off the layout,
Have a look - if you change the anno scale to any scale you will see the blocks but change to 1:50 (the scale i want it at!) they shoot off to the left of the layout (outside the defpoint rectangle).
I have a couple of attributes suing fields within a block. But they don't update on opening. I need to do a manual field update to get them updated to the latest values.Tried various combinations of "fieldeval", but this was no good.
I "work in both worlds" It's somewhat important. (Windows at my "day job", Mac Student Ed for my University teaching.
I have an Annotative Associative block with attributes (TTFs). The Title attribute is multi-line. When the block used in a file that is opened in Windows, obvkously everything is fine. If that same drawing is opened in ACAD Mac, the position of the top attribute shifts and can't be corrected until the block is edited in Windows. (It has to be Windows because ACADmac can't edit associative blocks in this release.)
Process I used (MacBookPro 7,1): Start ACAD12win (Parallels 7 w/WinXP), used default ACAD.DWT.inserted block "Tag Drawing Title", accepted all attribute value defaults, accepted default annotation scale of 1:1save fileopened file in ACAD12mac (multi-line attribute in wrong position)save fileOpened again in ACAD12win, and multi-line attribute is still in wrong position. Save fileOpened again in ACAD12mac, and multi-line attribute is in a greater incorrect position.
I'm new to dynamic blocks. In my first attempt to create a simple dynamic block with various visibility states in which each would have it's own attribute, the only attribute that works is the attribute in the first visibility state listed. I have read all the postings I could find here in the group on this subject and have made the following changes suggested here to the block:
1. All attributes have distinct tags and prompts. (I even erased all the originial attributes and created new with original tags.)
2. All attributes are locked in position.
3. I REGEN after selecting a different visibility state.
None of these changes has had any effect. Still, then only attribute that opens an attribute edit dialogue box is the "W" attribute in the first visibility state listed.
I made what seems to be a very simple dynamic block with text attributes and a few grips attached to stretch and polar stretch actions, but the file size is about 2mb! This is huge... roughly the size of one of our firm's full floor plans. There seems to be nothing purgeable in the file, so I am wondering if this is just the size necessary for the functionality or if I am bloating this somehow.
I have a group of blocks, when I click the blocks I get the editable attribute pop-up box. I can now enter a text of my liking.
I have now made a dynamic block of these blocks, with a visibility states dropdown. So that only one block is shown at a time and when I need to change it I copy the block and use the dropdown button to select the one I need.
The problem I have is that the when I click the blocks from the dropdown only one of them allows me to use the editable attribute pop up window. The others say 'The selected block has no editable attributes'.
If I can't have multiple blocks with editable attributes in one dynamic block or if I can and have done something wrong.
I've attached the block so you can see what I mean. Single Socket allows editable attributes others wont.
When i use Battman to re-arrange my attributes (in order to be able to auto-number them easily with a numbering-lisp), all values, rotation actions etc. are messed up and the block becomes unusable.
I use 2009, I've also tried it in ACAD 2014, same story.
The next step would be to create the block from scratch.
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 want to rotate and scale the pump, which that seems to still be working fine.
It has a rectangular box that I what to move around the pump, keeping the box and text East-West, I had been able to do this before in AutoCAD 2010, I am currently using 2013.
I would like to find a way to give a maximum and minimum length to a stretch (or move) but without absolute values.
simplified example of my block:
I have 2 squares, of which one big on, and a smaller one within the bigger one. I want to be able to stretch both squared indefinatly (no problem there), but the big square may never become smaller than the small one, and the small one may never become bigger than the big one...
In other words: the inside square should always stay inside the bigger one, no matter the size of the squares.
The problem with this block is that I have a hatch pattern between the squares, and as soon as i stretch the small square outside (or equal) to the big square... the hatch pattern 'crashes'.
1. Move the right piece so it ends at 3', 4', & 5'. 2. the move right hook and 'backing' to stretch/copy (or array) so it adds a hook to the right and fills in the backing.
so this means that a 3' gets 4 hooks, 4' gets 5 hooks and 5' gets 6 hooks.
3. the block as shown is the smallest configuration with 3 hooks.
I could just set up a visibility and draw each one at it's appropriate length but I'm trying to keep this simple block to a min size. If all else fails, that's the route I'll take.
I've tried a couple different configurations and I keep getting duplicates or the end piece doesn't move the correct distance.
For our office I'm trying to figure out (so far without success) how it might be possible to constrain movement of a block's geometry to a single plane?
I can use a stretch grip but that will mean you can go in one direction only (positive) not negative, I want the freedom to be able to move backwards and forwards in the X-Plane.
Block I'm working on (progress so far) attached. It is designed to display height relative to a datum point in the block, and for use in drawings so you can place it all over and pick up levels to top of things like steels.
The block allows the use to pick the stretch grip to go up, so the objects moved will be to a point which will be relative to the base point of the block, which will be set at a datum level for the drawing. Relative to the base point a field will extract the y-coordinate of an object in the block, add a suffix of mm, that will then be the level relative to the base point.
I want the move command constrained to move the block geometry in the drawing but only in the x-plane; if the entire block moves accidentally in the y-plane it will also move the base point also, which destroys the idea of measuring against a fixed datum.