private string getAttributeValue(_Db.BlockReference block, string attribute) { _Db.DynamicBlockReferencePropertyCollection aa = block.DynamicBlockReferencePropertyCollection; foreach (_Db.DynamicBlockReferenceProperty a in aa) { if (a.PropertyName == attribute) { return(a.Value.ToString()); } } return(null); }
private static void DisplayDynBlockProperties(_AcEd.Editor ed, _AcDb.BlockReference br, string name) { // Only continue is we have a valid dynamic block if (br != null && br.IsDynamicBlock) { ed.WriteMessage("\nDynamic properties for \"{0}\"\n", name); // Get the dynamic block's property collection _AcDb.DynamicBlockReferencePropertyCollection pc = br.DynamicBlockReferencePropertyCollection; // Loop through, getting the info for each property foreach (_AcDb.DynamicBlockReferenceProperty prop in pc) { // Start with the property name, type and description ed.WriteMessage("\nProperty: \"{0}\" : {1}", prop.PropertyName, prop.UnitsType); if (prop.Description != "") { ed.WriteMessage("\n Description: {0}", prop.Description); } // Is it read-only? if (prop.ReadOnly) { ed.WriteMessage(" (Read Only)"); } // Get the allowed values, if it's constrained bool first = true; foreach (object value in prop.GetAllowedValues()) { ed.WriteMessage((first ? "\n Allowed values: [" : ", ")); ed.WriteMessage("\"{0}\"", value); first = false; } if (!first) { ed.WriteMessage("]"); } // And finally the current value ed.WriteMessage("\n Current value: \"{0}\"\n", prop.Value); } } }
private List <G.Area> getBoxAreas(List <_Db.BlockReference> blocks) { List <G.Area> parse = new List <G.Area>(); foreach (_Db.BlockReference block in blocks) { _Ge.Point3d IP = block.Position; G.Point min = new G.Point(IP.X, IP.Y); double dX = 0; double dY = 0; _Db.DynamicBlockReferencePropertyCollection aa = block.DynamicBlockReferencePropertyCollection; foreach (_Db.DynamicBlockReferenceProperty a in aa) { if (a.PropertyName == "X Suund") { dX = (double)a.Value; } else if (a.PropertyName == "Y Suund") { dY = (double)a.Value; } } if (dX != 0 || dY != 0) { G.Point max = new G.Point(IP.X + dX, IP.Y + dY); G.Area area = new G.Area(min, max); parse.Add(area); } } return(parse); }
private void setReinforcementBlockParameters(_Db.BlockReference newBlockReference, R.Raud _ALFA_) { _Db.DynamicBlockReferencePropertyCollection aa = newBlockReference.DynamicBlockReferencePropertyCollection; foreach (_Db.DynamicBlockReferenceProperty a in aa) { if (a != null) { if (_ALFA_ is R.A_Raud) { R.A_Raud _BETA_ = _ALFA_ as R.A_Raud; if (a.PropertyName == "A") { a.Value = _BETA_.A; } } else if (_ALFA_ is R.B_Raud) { R.B_Raud _BETA_ = _ALFA_ as R.B_Raud; if (a.PropertyName == "A") { a.Value = _BETA_.A; } else if (a.PropertyName == "B") { a.Value = _BETA_.B; } } else if (_ALFA_ is R.C_Raud) { R.C_Raud _BETA_ = _ALFA_ as R.C_Raud; if (a.PropertyName == "A") { a.Value = _BETA_.A; } else if (a.PropertyName == "B") { a.Value = _BETA_.B; } else if (a.PropertyName == "U") { a.Value = Math.PI - _BETA_.U; // HERE } } else if (_ALFA_ is R.D_Raud) { R.D_Raud _BETA_ = _ALFA_ as R.D_Raud; if (a.PropertyName == "A") { a.Value = _BETA_.A; } else if (a.PropertyName == "B") { a.Value = _BETA_.B; } else if (a.PropertyName == "C") { a.Value = _BETA_.C; } else if (a.PropertyName == "A/C") { a.Value = _BETA_.A; } } else if (_ALFA_ is R.E_Raud) { R.E_Raud _BETA_ = _ALFA_ as R.E_Raud; if (a.PropertyName == "A") { a.Value = _BETA_.A; } else if (a.PropertyName == "B") { a.Value = _BETA_.B; } else if (a.PropertyName == "C") { a.Value = _BETA_.C; } else if (a.PropertyName == "U") { a.Value = Math.PI - _BETA_.U; // HERE } else if (a.PropertyName == "V") { if (_BETA_.B > 6000) { a.Value = _BETA_.V + Math.PI; } else { a.Value = _BETA_.V; } } else if (a.PropertyName == "X") { a.Value = _BETA_.X; } else if (a.PropertyName == "Y") { a.Value = _BETA_.Y; } } else if (_ALFA_ is R.U_Raud) { R.U_Raud _BETA_ = _ALFA_ as R.U_Raud; if (a.PropertyName == "A") { a.Value = _BETA_.A; } else if (a.PropertyName == "B") { a.Value = _BETA_.B; } else if (a.PropertyName == "C") { a.Value = _BETA_.C; } } } } }