Размерные стили в автокаде. Создание размерного стиля в AutoCAD. Аннотативность размеров – спасатель при мелких размерах на крупных строительных чертежах

В данной заметке показан подробный пример по созданию и настройке размерного стиля в AutoCAD. Рассмотрена программная настройка каждой опции каждой вкладки диалогового окна редактирования размерных стилей.

Результат работы обозначенного ниже кода (команда CreateDimStyle ) будет выглядеть следующим образом:


В коде каждая изменяемая нами опция настроек помечена комментарием, содержащим наименование этой опции в англоязычной версии AutoCAD.

/* DimStyleSample.cs * © Андрей Бушман, 2014 * Пример создания и настройки размерного стиля. */ using System; using cad = Autodesk.AutoCAD.ApplicationServices .Application ; using Ap = Autodesk.AutoCAD.ApplicationServices; using Db = Autodesk.AutoCAD.DatabaseServices; using Ed = Autodesk.AutoCAD.EditorInput; using Rt = Autodesk.AutoCAD.Runtime; using Clr = Autodesk.AutoCAD.Colors; //************************************ namespace Bushman.CAD.Samples.Styles { public class DimStyleSample { public void CreateDimStyle() { Ap.Document doc = cad .DocumentManager .MdiActiveDocument; if (doc == null ) return ; Ed.Editor ed = doc.Editor; Db.Database db = doc.Database; using (Db.Transaction tr = db.TransactionManager.StartTransaction()) { // Создадим новый текстовый стиль для // использования его в наших размерных // стилях Db.TextStyleTable tst = (Db.TextStyleTable )tr.GetObject(db.TextStyleTableId, Db.OpenMode .ForWrite); Db.TextStyleTableRecord textStyle = new Db.TextStyleTableRecord (); textStyle.Name = "Тип А прямой" ; textStyle.FileName = "Arial.ttf" ; textStyle.XScale = 0.75; tst.Add(textStyle); tr.AddNewlyCreatedDBObject(textStyle, true ); // Создаём новый размерный стиль... Db.DimStyleTable dst = (Db.DimStyleTable )tr.GetObject(db.DimStyleTableId, Db.OpenMode .ForWrite); Db.DimStyleTableRecord dimStyle = new Db.DimStyleTableRecord (); dimStyle.Name = "Основной без допусков" ; // Откройте диалоговое окно "Modify // Dimension Style" (команда _DIMSTYLE) и // нажмите кнопку "Modify.." - мы будем // программно изменять эти настройки. // Наименования вкладок, групп настроек и // конкретных опций будут приводиться для // английской версии AutoCAD. // *** Вкладка LINES *** // Группа настроек "Dimension lines": Db.ObjectId lineTypeId = // db.ContinuousLinetype; // или по блоку: db.ByBlockLinetype; // цвет "ByLayer" Clr.Color colorByLayer = Clr.Color .FromColorIndex(Clr.ColorMethod .ByLayer, 256); // Размерным линиям назначаем цвет // "ByLayer" dimStyle.Dimclrd = colorByLayer; // Color // Linetype dimStyle.Dimltype = lineTypeId; // Lineweight dimStyle.Dimlwd = Db.LineWeight .ByLineWeightDefault; // Extend Beyond Ticks dimStyle.Dimdle = 2; dimStyle.Dimdli = 7; // Baseline Spacing // Suppress dim line 1 dimStyle.Dimsd1 = false ; // Suppress dim line 2 dimStyle.Dimsd2 = false ; // Группа настроек "Extension Lines": dimStyle.Dimclre = colorByLayer; // Color // Linetype Ext 1 dimStyle.Dimltex1 = lineTypeId; // Linetype Ext 2 dimStyle.Dimltex2 = lineTypeId; dimStyle.Dimlwe = Db.LineWeight .ByLineWeightDefault; // Lineweight // Suppress Ext line 1 dimStyle.Dimse1 = false ; // Suppress Ext line 2 dimStyle.Dimse2 = false ; // Extend Beyond Dim Lines dimStyle.Dimexe = 2.0; // Offset From Origin dimStyle.Dimexo = 0; // Fixed Length Extension Lines dimStyle.DimfxlenOn = false ; dimStyle.Dimfxlen = 1; // Length // *** Вкладка SYMBOL AND ARROWS *** // Группа "Arrowheads": // Внимание: Аннотативные блоки не могут // быть использованными в качестве // пользовательского варианта для опций // First, Second и Leader. В обозначенных // опциях пользовательский вариант // представлен в виде элемента "User // Arrow..." в самом низу раскрывающегося // списка. Db.BlockTable bt = (Db.BlockTable )tr .GetObject(db.BlockTableId, Db.OpenMode .ForRead); // Получаем идентификаторы интересующих // нас определений блоков Db.ObjectId id1 = GetArrowObjectId_dim("DIMBLK1" , "_DOT" ); Db.ObjectId id2 = GetArrowObjectId_dim("DIMBLK2" , "_CLOSED" ); Db.ObjectId id3 = GetArrowObjectId_dim("DIMBLK2" , "_Oblique" ); // Убедитесь, что вы установили в true // значение свойства "Dimsah", если вам // нужно назначить опциям First и Second // разные значения! dimStyle.Dimsah = true ; // В качестве значения опций группы // Arrowheads вы можете назначить // Db.ObjectId.Null - в этом случае будет // использоваться маркер по умолчанию. // Опция "First" на вкладке "Symbols and // Arrows" (системная переменная Dimblk1) dimStyle.Dimblk1 = id3; // Опция "Second" на вкладке "Symbols and // Arrows" (системная переменная Dimblk2) dimStyle.Dimblk2 = id3; // При желании, вы можете изменить оба // параметра (First и Second) // одновременно, задав значение свойству // Dimblk. Но в этом случае вы не должны // в коде назначать значения для свойств // "Dimblk1" и "Dimblk2": // dimStyle.Dimblk = id3; // Опция Leader. Если в качестве значения // указать ObjectId.Null, то будет // использоваться вариант "Closed filled" dimStyle.Dimldrblk = Db.ObjectId .Null; dimStyle.Dimasz = 3; // Arrow Size // Группа "Center marks": // "Dimcen": // 0 - None; // 1 - Mark; // -1 - Line Int32 centerMarks = -1; Double centerMarksSize = 2.0; // Размер центрального маркера или // центральной линии dimStyle.Dimcen = centerMarks * centerMarksSize; // Значение опции "Dimension Break" // хранится в расширенных данных (XData) // размерного стиля. Давайте доберёмся до // него... // Для начала, получаем таблицу имён // зарегистрированных приложений Db.RegAppTable regTable = (Db.RegAppTable )tr.GetObject(db.RegAppTableId, Db.OpenMode .ForRead); String xName = "cad_DSTYLE_DIMBREAK" ; // Если нужный нам элемент не // зарегистрирован - выполняем его // регистрацию if (!regTable.Has(xName)) { regTable.UpgradeOpen(); Db.RegAppTableRecord app = new Db.RegAppTableRecord (); app.Name = xName; regTable.Add(app); tr.AddNewlyCreatedDBObject(app, true ); } Db.ResultBuffer rb = new Db.ResultBuffer (new Db.TypedValue ((Int32 )Db.DxfCode .ExtendedDataRegAppName, xName), new Db.TypedValue ((Int32 )Db.DxfCode .ExtendedDataInteger16, 391), new Db.TypedValue ((Int32 )Db.DxfCode .ExtendedDataReal, 0.0 /* Наше значение свойства "Dimension * Break" */ )); dimStyle.XData = rb; // Группа (опция) "Arc Length Symbol": // Значения, допустимые для свойства // "Dimarcsym" (три переключателя): // 0 - Precending dimension text // 1 - Above dimension text // 2 - None // Опция "Arc Length Symbol" dimStyle.Dimarcsym = 1; // Группа "Radius Jog Dimensions": // Jog Angle dimStyle.Dimjogang = 45 * Math .PI / 180; // Группа "Linear Jog Dimensions": // Значение "Linear Jog Size" хранится в // расширенных данных (XData) размерного // стиля. xName = "cad_DSTYLE_DIMJAG" ; if (!regTable.Has(xName)) { regTable.UpgradeOpen(); Db.RegAppTableRecord app = new Db.RegAppTableRecord (); app.Name = xName; regTable.Add(app); tr.AddNewlyCreatedDBObject(app, true ); } rb = new Db.ResultBuffer (new Db.TypedValue ((Int32 )Db.DxfCode .ExtendedDataRegAppName, xName), new Db.TypedValue ((Int32 )Db.DxfCode .ExtendedDataInteger16, 388), new Db.TypedValue ((Int32 )Db.DxfCode .ExtendedDataReal, 1.4995 /* Значение для свойства "Linear Jog * Size" */ )); dimStyle.XData = rb; // *** Вкладка TEXT *** // Группа "Text Appearance": // Text Style dimStyle.Dimtxsty = textStyle.ObjectId; dimStyle.Dimclrt = Clr.Color .FromColorIndex(Clr.ColorMethod .ByAci, 210); // Text Color // Свойство "Dimtfill" влияет на // поведение опции "Fill Color" и // принимает одно из следующих значений: // 0 - Фон отсутствует // 1 - Использовать текущий фон чертежа // 2 - Фон, указанный в свойстве // Dimtfillclr. dimStyle.Dimtfill = 0; dimStyle.Dimtfillclr = Clr.Color .FromColorIndex(Clr.ColorMethod .ByAci, 256); // Fill Color (см. Dimtfill выше) dimStyle.Dimtxt = 3.5; // Text Height // Fraction Height Scale dimStyle.Dimfrac = 2; // Включить\Отключить опцию "Draw Frame // Around Text" Boolean drawFrameAroundText = false ; // Группа "Text Placement": // Опция Vertical (свойство "Dimtad") // может принимать только следующие // значения: // 0 - Centered: центрировать размерный // текст между выносными линиями. // 1 - Above: разместить размерный текст // над размерной линией, за // исключением случаев, когда // размерная линия не горизонтальна и // текст внутри выносных линий рамещён // горизонтально (DIMTIH = 1). // Расстояние от размерной линии до // самой нижней строки текста // определяется значением переменной // DIMGAP (свойство Dimgap). // 2 - Outside: разместить размерный // текст в стороне от размерной линии, // подальше от определённых точек. // 3 - JIS: разместить размерный текст в // соответствии с Японским // Индустриальным Стандартом. dimStyle.Dimtad = 1; // Vertical // Опция Horizontal (свойство "Dimjust") // принимает только следующие значения: // 0 - Centered // 1 - At Ext Line 1 // 2 - At Ext Line 2 // 3 - Over Ext Line 1 // 4 - Over Ext Line 2 dimStyle.Dimjust = 0; // Horizontal // View Direction #if NEWER_THAN_2009 dimStyle.Dimtxtdirection = true; #endif // Offset from Dim Line dimStyle.Dimgap = 1 * (drawFrameAroundText ? -1: 1); // Группа "Text Alignment": // Для того, чтобы выбрать один из трёх // доступных вариантов, следует назначить // значение сразу двум свойствам: Dimtih // и Dimtoh. // // Horizontal: // Dimtih = true; // Dimtoh = true; // // Aligned with Dimension Line: // Dimtih = false; // Dimtoh = false; // // ISO Standard: // Dimtih = false; // Dimtoh = true; // // Text Alignment dimStyle.Dimtih = false ; dimStyle.Dimtoh = false ; // *** Вкладка FIT *** // Группа "Fit Options": // Свойство "Dimatfit" может принимать // 0 - Выбрать опцию Both text and arrows // 1 - Выбрать опцию Arrows // 2 - Выбрать опцию Text // 3 - Выбрать опцию "Either text or // arrows (best fit)" // Для того, чтобы назначить свойству // "Dimatfit" нужное значение 0-3, нужно // сначала назначить false свойству // Dimtix. Если Dimtix назначить true, то // будет выбрана опция "Always Keep Text // Between Ext Lines". // Опция "Always Keep Text Between Ext // Lines" dimStyle.Dimtix = false ; // Не забываем предварительно установить // "Dimtix" в false dimStyle.Dimatfit = 3; // Suppress Arrows If They Don"t Fit // Inside Extension Lines dimStyle.Dimsoxd = false ; // Группа "Text placement" group: // Свойство Dimtmove может принимать // только следующие значения: // 0 - Выбрана опция "Beside the // dimension line" // 1 - Выбрана опция "Over dimension // line, with leader" // 2 - Выбрана опция "Over dimension // line, without leader" dimStyle.Dimtmove = 1; // Группа"Scale for Dimension Features": dimStyle.Annotative = Db.AnnotativeStates .True; // Annotative dimStyle.Dimscale = 1.0; // Dimscale // Для того, чтобы установить опцию // "Scale Dimensions To Layout" нужно // свойству Dimscale присвоить 0: // dimStyle.Dimscale = 0; // Группа "Fine Tuning": // Place Text Manually dimStyle.Dimupt = false ; // Draw Dim Line Between Ext Lines dimStyle.Dimtofl = false ; // *** Вкладка Primary Units *** // Группа "Leader dimensions" // Опция "Unit format" (свойство // "Dimlunit") может принимать только // следующие значения: // 1 - Scientific // 2 - Decimal // 3 - Engineering // 4 - Architectural // 5 - Fractional // 6 - Windows Desktop // Unit format dimStyle.Dimlunit = 2; // Масштабный коэффициент высоты // текста, записанного в виде дроби. Эта // высота расчитывается путём умножения // указанного в свойстве Dimtfac коэффи- // циента на высоту текста, указанную в // свойстве Dimtxt. dimStyle.Dimtfac = 0.5; // Количество знаков после запятой: dimStyle.Dimdec = 0; // Precision // Опция "Fraction format" (свойство // "Dimfrac") принимает одно из следующих // значений: // 0 - Horizontal // 1 - Diagonal // 2 - Not stacked (например 1/2) dimStyle.Dimfrac = 0; // Fraction Format // Если опции "Unit format" в качестве // значения назначен "Decimal", то в тек- // сте размеров, вместо точки, в качестве // разделителя десятичной части будет // использоваться иной разделитель, кото- // рый указывается при помощи свойства // "Dimdsep". Если свойству "Dimdsep" // присвоить NULL в качестве значения, то // в качестве десятичного разделителя // будет использоваться точка. // Опция "Decimal separator" (свойство // "Dimdsep") может принимать только // следующие значения: // "." - Точка // "," - Запятая // " " - Пробел // Decimal Separator dimStyle.Dimdsep = "," ; dimStyle.Dimrnd = 0.0; // Round Off // присваиваемого свойству Dimpost. // Пример: "L = <> // <> // " m" - суффикс dimStyle.Dimpost = "<>" ; // Группа "Measurement Scale": dimStyle.Dimlfac = 1; // Scale Factor // Выделить или снять выделение опции // "Apply to Layout Dimensions Only" на // вкладке "Primary Units": Boolean applyToLayoutDimensionsOnly = false ; // Если свойству "Dimfrac" назначить // отрицательное значение, то опция // "Apply to Layout Dimensions Only" // будет включена: dimStyle.Dimlfac = applyToLayoutDimensionsOnly ? -1 * Math .Abs(dimStyle.Dimlfac) : Math .Abs(dimStyle.Dimlfac); // Подгруппа "Zero Suppression" группы // "Leader dimensions": // Свойству "Dimzin" property" следует // футов и дюймов // футов и дюймов // для дюймов // для футов // записывается как,5000) // записывается как 12,5) // как,5) dimStyle.Dimzin = 8; #if NEWER_THAN_2009 // размерного стиля с именами "DIMMZF" и // "DIMMZS" #endif // Группа "Angular Dimensions": // Опции "Units format" (свойство // "Dimaunit) следует назначать одно из // следующих значений: // 0 - Decimal degrees // 1 - Degrees/minutes/seconds // 2 - Gradians // 3 - Radians dimStyle.Dimaunit = 1; // Units Format // Опция Precision (свойство "Dimadec") // должно содержать одно из следующих // значений: // -1 - В угловых размерах отображается // количество знаков после запятой, // указанных с помощью переменной // DIMDEC. // 0-8 - Указывает количество знаков // после запятой, отображаемых в // угловых размерах (независимо от // переменной DIMDEC) dimStyle.Dimadec = 4; // Precision // группы "Angular Dimensions" управляет // подавлением нулей для всех угловых // размеров. // Свойство "Dimazin" должно содержать // одно из следующих значений: // 0 - Отображает все ведущие и замыкаю- // щие нули. // 1 - Подавляет ведущие нули в десятич- // ных размерах (например, 0,5000 // записывается как,5000) // 2 - Подавляет замыкающие нули в // десятичных размерах (например, // 12,5000 записывается как 12,5) // 3 - Подавление ведущих и замыкающих // нулей (например, 0,5000 записывает- // ся как,5) dimStyle.Dimazin = 2; // *** Вкладка ALTERNATIVE UNITS *** // Display Alternate Units dimStyle.Dimalt = false ; // Группа "Alternate Units": // Опция "Unit Format" (свойство // "Dimaltu") должна содержать одно из // следующих значений: // 1 - Scientific // 2 - Decimal // 3 - Engineering // 4 - Architectural Stacked // 5 - Fractional Stacked // 6 - Architectural // 7 - Fractional // 8 - Windows Desktop dimStyle.Dimaltu = 2; // Unit Format dimStyle.Dimaltd = 0; // Precision // Multiplier for Alternate Units dimStyle.Dimaltf = 25.4; // Round Distances To dimStyle.Dimaltrnd = 0; // Prefix (префикс) и Suffix (суффикс) // Префикс и суффикс указываются в // составе строкового значения, // присваиваемого свойству Dimapost. // Пример: "L = <> m" // Где: // "L = " - префикс // <> - вычисленное числовое значение // " m" - суффикс dimStyle.Dimapost = "<>" ; // Группа "Zero Suppression": // Свойству "Dimaltz" property" следует // назначать одно из следующих значений: // 0 - Подавляет нулевые значения для // футов и дюймов // 1 - Записывает нулевые значения для // футов и дюймов // 2 - Записывает нулевые значения для // футов и подавляет нулевые значения // для дюймов // 3 - Записывает нулевые значения для // дюймов и подавляет нулевые значения // для футов // 4 - Подавляет ведущие нули в десятич- // ных размерах (например, 0,5000 // записывается как,5000) // 8 - Подавляет замыкающие нули в деся- // тичных размерах (например, 12,5000 // записывается как 12,5) // 12 - Подавляет и ведущие, и замыкающие // нули (например, 0,5000 записывается // как,5) dimStyle.Dimaltz = 0; // Zero Suppression // Если включено подавление ведущих ну- // лей, то становятся доступными для // редактирования опции "Sub-units // factor" и "Sub-units suffix". #if NEWER_THAN_2009 // TODO: Автору кода не удалось программ- // но добраться до этих свойств, т.к. // не существует переменных и свойств // размерного стиля с именами "DIMALTMZF" // и "DIMALTMZS". #endif // Группа "Placement": const String bpv = @"\X" ; // Переключение опций данной группы // выполняетя при помощи добавления или // удаления суффикса "\X" в значении // свойства Dimpost: // Если нужно выбрать опцию "Below // primary value": // dimStyle.Dimpost = dimStyle.Dimpost // .EndsWith(bpv) ? dimStyle.Dimpost: // dimStyle.Dimpost + bpv; // Если нужно выбрать опцию "After // primary value": dimStyle.Dimpost = !dimStyle.Dimpost .EndsWith(bpv) ? dimStyle.Dimpost: dimStyle.Dimpost.Substring(0, dimStyle.Dimpost.Length - bpv.Length); // *** Вкладка Tolerances *** // Группа "Tolerance Format": // Dimtol = true, Dimlim = true - // "Limits", but don"t set this // combinations(!!!), or you will get // "Style Overrides" for Dimension // Style name. For getting the // "Limits" value, look below. // // Symmetrical: // Dimtol = true // Dimlim = false // // Limits (рекомендуемый вариант): // Dimtol = false // Dimlim = true // // None: // Dimtol = false // Dimlim = false // // Basic: // dimStyle.Dimgap = -1 * Math.Abs( // dimStyle.Dimgap); // // Deviation: // Dimtol = true // Dimtm = 1.0e-009 dimStyle.Dimtol = false ; dimStyle.Dimlim = false ; dimStyle.Dimtdec = 0; // Precision dimStyle.Dimtp = 1; // Upper Value dimStyle.Dimtm = 0; // Lower Value // Scaling for Height dimStyle.Dimtfac = 0.5; // Опция "Vertical Position" (свойство // "Dimtolj") должно принимать одно из // следующих значений: // 0 - Bottom // 1 - Middle // 2 - Top // Vertical Position dimStyle.Dimtolj = 1; // Группа "Tolerance Alignment": // TODO: Автору кода не удалось изменить // состояние переключателей "Align // Decimal Separators" и "Align // Operational Symbols" // Подгруппа "Zero Suppression" в группе // "Tolerance Format": // "Dimtzin" property"s allowed values: // 0 - Подавляет нулевые значения для // футов и дюймов // 1 - Записывает нулевые значения для // футов и дюймов // 2 - Записывает нулевые значения для // футов и подавляет нулевые значения // для дюймов // 3 - Записывает нулевые значения для // дюймов и подавляет нулевые значения // для футов // 4 - Подавляет ведущие нули в десятич- // ных размерах (например, 0,5000 // записывается как,5000) // 8 - Подавляет замыкающие нули в деся- // тичных размерах (например, 12,5000 // записывается как 12,5) // 12 - Подавляет и ведущие, и замыкающие // нули (например, 0,5000 записывается // как,5) dimStyle.Dimtzin = 8; // Zero Suppression // Группа "Alternate Unit Tolerance": dimStyle.Dimalttd = 0; // Precision // Подгруппа "Zero Suppression" в составе // группы "Alternate Unit Tolerance": // "Dimalttz" property"s allowed values: // 0 - Подавляет нулевые значения для // футов и дюймов // 1 - Записывает нулевые значения для // футов и дюймов // 2 - Записывает нулевые значения для // футов и подавляет нулевые значения // для дюймов // 3 - Записывает нулевые значения для // дюймов и подавляет нулевые значения // для футов // // Для подавления ведущих или замыкающих // нулей к выбранному значению может быть // добавлено: // // 4 - Подавление ведущих нулей // 8 - Подавление замыкающих нулей. // Zero Suppression dimStyle.Dimalttz = 0; // *** // Сохраняем выполненные изменения dst.Add(dimStyle); tr.AddNewlyCreatedDBObject(dimStyle, true ); // Устраняем потенциально возможную // проблему появления в перечне размерных // стилей дополнительного элемента, // именованного как "Style Overrides": db.Dimstyle = dimStyle.ObjectId; db.SetDimstyleData(dimStyle); // Теперь, на базе созданного нами основ- // ного размерного стиля, можно создавать // его деталлизированные варианты для: // - радиальных размеров // - угловых размеров // - линейных размеров // - и т.д. // Для дополнительной информации можно // почитать раздел документации: // ObjectARX Reference Guide > Additional // Information > Dimension Styles > // Dimension Style Families. // Дочерние размерные стили создаются на // основе базового. Имена формируются по // правилу: ИмяБазовогоСтиля + Суффикс. // В качестве суффиксов используется один // из следующих вариантов: String names = new String { "$0" , // Линейный "$2" , // Угловой "$3" , // Диаметральный "$4" , // Радиальный "$6" , // Ординатный "$7" // Выноски }; foreach (String item in names) { Db.DimStyleTableRecord childStyle; String childName = dimStyle.Name + item; if (dst.Has(childName)) { childStyle = (Db.DimStyleTableRecord )tr .GetObject(dst, Db.OpenMode .ForWrite); } else { childStyle = (Db.DimStyleTableRecord )dimStyle .Clone(); childStyle.Name = childName; dst.Add(childStyle); tr.AddNewlyCreatedDBObject(childStyle, true ); } } // Далее можно выполнять настройку // унаследованных размерных стилей, // выполняя тем самым необходимую // деталлизацию для конкретных типов // размеров. // Редактирование выполняется точно так // же, как мы это проделали выше с базо- // вым стилем, поэтому в нашем примере // не будем повторяться и на этом // завершим работу. tr.Commit(); } } static Db.ObjectId GetArrowObjectId_dim(string arrow, string newArrName) { Db.ObjectId arrObjId = Db.ObjectId .Null; Ap.Document doc = cad .DocumentManager .MdiActiveDocument; Db.Database db = doc.Database; string oldArrName = cad .GetSystemVariable(arrow) as string ; // (эта операция может создать в чертеже // новое определение блока) cad .SetSystemVariable(arrow, newArrName); // Восстанавливаем предыдущее значение if (oldArrName.Length != 0) cad .SetSystemVariable(arrow, oldArrName); // Получаем идентификатор блока Db.Transaction tr = db.TransactionManager .StartTransaction(); using (tr) { Db.BlockTable bt = (Db.BlockTable )tr .GetObject(db.BlockTableId, Db.OpenMode .ForRead); arrObjId = bt; tr.Commit(); } return arrObjId; } } }

В этом уроке мы поговорим о том, как правильно выставить настройки в AutoCAD по ГОСТ.

Это касается следущих тем:

– Какие шрифты для Автокада соответствуют ГОСТ;

– Как сделать чтобы размеры и тексты были по ГОСТ;

– Какие ГОСТы еще используются в чертежах;

– Как настроить линии по ГОСТ в Автокаде;

– Как лучше вставлять рамки по ГОСТ в Автокад;

– Какие есть штриховки по ГОСТ в AutoCAD.

Видео версия урока:

Текстовая версия урока:

Привет дорогой коллега! Несмотря на то, что существует СПДС модуль, который помогает и облегчает жизнь пользователю Автокада, есть вероятность всегда, что потребуется ручная настройка программы по ГОСТ. Я говорю сейчас о размерах по гост, тексту по гост, штриховке и других не менее важных элементах. Предлагаю сразу перейти к уроку и начнем мы с первого вопроса.

Вопрос 1. Как настроить штриховку по ГОСТ в Автокаде?

Если быть более точным, то сейчас мы поговорим про соответствие образцов, которые есть в Автокаде, с ГОСТовскими обозначениями, которые следует использовать при

Поясню. Образцов штриховок в Автокаде очень много, но не все они соответствуют ГОСТу, поэтому сейчас я ниже покажу, какие штриховки соответствуют ГОСТу и что они обозначают.

Шаг 1. Напомним, для входа в режим штрихования элементов, требуется нажать на специальную одноименную команду “штриховка”. Которая находится на вкладке “главная” на панельке “рисование”.

Шаг 2. Перед тем, как начать штриховать объекты, мы должны выбрать “образец”, которым и будем штриховать. Но напомню, не все “образцы” соответствуют нашим ГОСТам, поэтому запомните или запишите наименования “образцов” штриховок, которые следует использовать по ГОСТу.

Образец ANSI 31 – По ГОСТу обозначают металлы .

Если сделать угол 45 градусов, то такой штриховкой обозначают дерево.

Образец ANSI 32 – По ГОСТу обозначают кирпич .

Образец ANSI 35 – По ГОСТу обозначают железобетон .

Образец ANSI 36 – По ГОСТу обозначают бетон .

Образец ANSI 37 – По ГОСТу обозначают утеплители, гипс и т.д .

Вопрос 2. Как настроить текст по ГОСТ в Автокаде?

Шаг 1. Заходим в стили текста.

Шаг 2. Заходим в нужный размерный стиль.

Шаг 3. В окне “изменения размерного стиля” переходим на вкладку “Символы и стрелки” и выставляем в стрелках “двойные засечки”. Делаем это во всех трех пунктах, первая, вторая и выноска.

Шаг 4. Следующим шагом мы переходим на вкладку “текст” и в свойствах текста в пункте “текстовый стиль” выбираем наш текстовый стиль, который мы настроили во втором вопросе. Тем самым шрифт текста у размеров будет по ГОСТу.

Вопрос 4. Как настроить толщины линий по ГОСТ в Автокаде?

Шаг 2. Чтобы задать нужную толщину весу линий, нужно всего лишь нажать на столбец “Вес линий” у нужного слоя и задать требуемую толщину по ГОСТу.

Вопрос 5. Как настроить рамку и штамп по ГОСТ в Автокаде?

Проще всего создать рамку и штамп можно через СПДС модуль в Автокаде.

Шаг 1. Если у Вас нету , скачайте и установите его. Если есть, переходите на вкладку СПДС и кликните по команде “формат”.

Шаг 2. В новом окне, раскрываем список под названием “Шаблон листа. Рабочий чертеж СПДС”, в нем выбираем нужный нам шаблон листа, например, альбомный А3. Кликаем ОК.

Шаг 3. Выберите место для вставки рамки и Вы получите уже оформленный лист, причем с правильным штампом. Так касается любого формата.

Давайте подведем итоги друзья! В России при оформлении и работе с проектами в Автокаде мы должны придерживаться наших ГОСТов. Соответственно, перед началом работы следует настроить и выставить все по ГОСТу и уже затем приступать к созданию проектов. А как настроить все по ГОСТ мы вкратце обсудили в этом уроке, но если у Вас остались вопросы смело задавайте их в комментариях.

В этой статье мы поговорим о правильной работе с размерами в программе Автокад. Вот какие нюансы я рассмотрю:

– Как поставить, сделать размеры в AutoCAD

– Как изменять размеры в Автокад

– Как проставить легко размерную цепь в Автокаде

– Как масштабировать размерные числа

– Как настроить стиль размеров

– Что такое аннотативный размер в Автокад

– Как добавить к размерному число значок диаметра

Приятного просмотра 🙂

Видео версия урока:

Пройдите базовый курс “AutoCAD за 40 минут” от автора, который Вы найдете по .

Текстовая версия урока:

Для того чтобы проставить обычный линейный размер (это размер, параллельный либо оси Х, либо оси Y), нужно выбрать соответственную команду на Ленте команд Автокада, во вкладке “Главная”, в блоке ленты “Аннотации”. Команда-кнопка так и называется – “Линейный размер”. Смотри картинку:

Причем в Автокаде размер автоматически привязывается к некоторым типам объектов, например, к Полилиниям, к отрезкам.

К примеру, Вам надо уменьшить образмеренный участок детали (верхняя горизонтальная поверхность). Если у Вас контур детали выполнен Полилинией, то достаточно сделать вот что:

  1. Выделить полилинию
  2. Взяться за прямоугольную синюю “ручку” в месте, указанном на рисунке ниже. Для этого щелкаем левой кнопкой мыши один раз по этой ручке.
  3. Повести курсор влево (для уменьшения длины участка), и снова щелкнуть левой кнопкой.

В итоге, как мы увидим, размер автоматически обновится – уменьшится:

Теперь поговорим о настройках размерного стиля в AutoCAD – самой важной теме, пожалуй. Ведь в настройках стиля мы можем сделать тексты по ГОСТ, засечки вместо стрелок (для строительных чертежей), настроить точность размерных чисел – количество знаков после запятой.

Для того чтобы зайти в настройки стиля, нужно развернуть блок ленты “Аннотации” (см. рисунок ниже), нажать по кнопке “Размерный стиль”. Далее во всплывшем окне надо слева выбрать название настраиваемого стиля (Размерный стиль в Автокаде – это набор настроек, объединенных одним названием), и нажать справа кнопку “Редактировать”:

Теперь давайте научимся быстро выполнять размерную цепь в Автокаде.

Для этого есть очень волшебная и простая функция – “Быстрый размер” (или “Экспресс-размер”). Для его вызова нужно зайти на вкладку “Аннотации” нашей Ленты команд, далее найти и нажать по команде с соответствующим названием (смотри картинку ниже).

Также иногда новичков волнует вопрос –
как проставить значок диаметра или градуса в размерах в Автокаде?

Здесь тоже нет на самом деле ничего сложного. Просто выделяете нужный размерный текст, дважды щелкнув левой кнопкой мыши по нему, далее в преобразившейся ленте жмете справа по большой кнопке “Обозначение”. После этого из списка выбираете нужное обозначение – будь то диаметр или градус (либо что-либо другое):

Аннотативность размеров – спасатель при мелких размерах на крупных строительных чертежах!

Строители, которые чертят в Автокаде, сталкивались с тем, что если чертить здание в масштабе 1:1 (а так кстати и положено работать, см. то размеры вообще не видно, как и не видно засечек и стрелочек.

На самом деле всё очень даже логично – Ваш чертеж измеряется метрами, а размерные числа и засечки – всего лишь миллиметрами, то есть в 1000 раз меньше. Поэтому их и не заметно на чертеже, но они есть 🙂

Тут то нас и спасает Аннотативность размеров и текстов , которая визуально увеличивает аннотации – размеры, тексты и другие поясняющие элементы чертежа. Нужно сделать 2 главные настройки в размерном стиле для этого:

Еще один великий плюс аннотативных размеров и текстов.

При оформлении чертежей на , какой бы Вы не задали масштаб чертежу, размеры и тексты всегда будут иметь одну и ту же высоту, и не будут масштабироваться.

Обязательно получите мой более развернутый базовый Видео-курс “AutoCAD за 40 минут”, нажав по картинке ниже:

Другие уроки по теме


В этом видео и уроке мы покажем, как работать со свойствами в AutoCAD, а также как работает панель свойств и их копирование. Урок ответит на такие вопросы: – Что такое Свойства в Автокаде? – Как включать панель свойств в Автокаде? – Что такое быстрые свойства и как их отключить? – Как копировать свойства в AutoCAD […]

Размеры – важная деталь на чертеже. Поэтому я решил написать эту статью о том, что же такое размеры в AutoCAD, как поставить и изменить размеры.

Размер в AutoCAD является сложным объектом, воспринимаемым как единое целое. Он состоит из выносных линий, размерной линии со стрелками (или засечками) и значения размера.

Все размеры принципиально делятся на две группы: линейные и угловые . Линейные размеры характеризуют такие параметры, как длина, ширина, толщина, высота, диаметр, радиус. Угловой размер характеризует величину угла.

Правила нанесения размеров.

Эти правила в нашей стране регламентируются ГОСТ 2.307 - 68 . Так что за правилами нанесения размеров Вы можете обратиться туда. Я советую Вам придерживаться этих правил, даже если Вы не профессиональный проектировщик или инженер.

Сейчас я лишь остановлюсь на том, как проставлять те или иные размеры на чертежах в AutoCAD.

На вкладке “Аннотации” на панели “Размер” щелкните мышкой по кнопке “Линейный размер” . Как Вы уже, наверное, знаете, в AutoCAD есть специальные команды вызова инструментов. В нашем случае это команда “РЗМЛИНЕЙНЫЙ” . Попробуйте ввести в командную строку первые буквы команды, например, "РЗМЛ". Команда сама допишется в командную строку. Теперь нажмите “Enter”.

В командной строке появится соответствующий запрос: “Начало первой выносной линии или <выбрать объект>:”. Укажите щелчком ЛКМ первую точку размера на объекте, затем вторую.

После этого в командной строке отображается запрос: “Положение размерной линии или [МТекст/Текст/Угол/Горизонтальность/Вертикальный/Повернутый]:”. Т.е. сейчас надо указать расположение размерной линии. По ГОСТ это значение равно 10мм.

Просто отводя курсор приблизительно в то место, где должен располагаться размер, с клавиатуры наберите значение 10. При этом вы увидите, как это значение отобразиться в числовом поле. Теперь не забудьте нажать “Enter”.

Для более быстрой работы, можно не указывать точки размера, а указать часть объекта, которую хотим образмерить.

Для этого в ответ на первый запрос указать начало первой выносной линии просто нажмите “Enter”. У Вас примениться опция “Выбрать объект”.

Теперь Вам надо указать объект, для которого необходимо проставить размер. Например, я укажу внутреннюю стену. И теперь отводя курсор от объекта, следом за ним тянется линейный размер. Здесь положение размерной линии произвольное. Поэтому щелкаем ЛКМ в любом месте.

Всегда обращайте внимание на запросы, которые появляются в командной строке. Ведь почти к каждой команде в AutoCAD есть свои опции.

Опции, которые можно использовать при нанесении размеров.

После простановки второй точки размера - это начало второй выносной линии в командной строке появляется ряд опций - МТекст, Текст, Угол, Горизонтальный, Вертикальный, Повернутый.

Рассмотрим, какие появляются возможности проставления размеров при применении этих опций.

"МТекст". Эта опция вызывает редактор, с помощью которого можно редактировать размерный текст.

Здесь можно изменять само значение размера. Либо к значению добавлять символы "+-", "~" и т.д.

"Текст". Данная опция позволяет отредактировать размерный текст в командной строке (без вызова редактора). Полученное значение размера отображается в угловых скобках.

Введите в командную строку новое числовое значение. Также текст можно поменять и в числовом поле. После ввода значения укажите положение размерной линии.

"Угол". Позволяет изменить угол поворота размерного текста.

Размеры в Автокаде рекомендуется ставить после того, как будут готовы все виды и элементы чертежа. Научившись их ставить, Вы поймете и как изменять размеры в Автокаде. Тема очень важная, так как наличие размеров отличает чертеж от обычной картинки. Большинство размеров имеют допуски и соответствующие квалитеты точности изготовления, грамотный специалист обязан их назначать и указывать на чертежах. Я не буду учить назначать допуски, но, как указывать значения в Автокаде, обязательно покажу.

На панели всего две кнопки, связанные с размерами. Под цифрой 1 имеется возможность выбора типа размера, под цифрой 2 автоматический выбор размера, то есть программа сама определяет, какой тип размера пользователь хочет указать (диаметр, угол, длина дуги и другие).

Для выбора типа размера вручную, щелкаем по треугольнику рядом с кнопкой 1 и видим возможные варианты.

Прежде чем ставить размеры, необходимо настроить стиль. Без соответствующих настроек, картина будет выглядеть следующим образом.

Длина вала 280 миллиметров, но при этом практически не видно размерных стрелок и его значения. Это говорит о том, что ничего не настроено. Настраиваем. Итак, на панели выбираем «Аннотации».

Затем выбираем строку размерного стиля. Это вторая строка с символом размера. Жмем по надписи «Standard» и далее «Управление размерными стилями».

Текущий стиль нужно отредактировать, задав необходимые настройки. В настройках линий необходимо указать цвет и тип линий по слою. Вес линий указываем 0,18 миллиметра.

Задаем шаг в базовых размерах 10, затем цвет выносных линий, а также тип первой и второй линии – по слою. Вес линии задаем также 0,18 миллиметра, или 0,2 миллиметра, что не очень принципиально, нулевой отступ от объекта. Переходим к символам и стрелкам.

В данном разделе достаточно настроить размеры стрелки и расположение длины дуги над текстом размера. При желании Вы можете выбрать, как будут выглядеть стрелки. Закрашенная замкнутая стрелка – классический вид. Одна из самых интересных и важных вкладок – текст.

Редактируем цвет и размещение текста. Я предпочитаю вертикальное размещение по центру линии, а ориентацию вдоль линии. Расположение и размер текста размерной линии на чертеже регламентируется, обратите на это внимание. Необходимо отредактировать текстовый стиль, или создать новый, для этого нажимаем многоточие рядом с название стиля по умолчанию. На картинке показано стрелкой и цифрой 1.

Есть выбор настроить текущий стиль, или создать новый. В стиле можно настроить имя шрифта, начертание, высоту символов, степень растяжения и эффекту. Начертание может быть обычным, курсивом, полужирным, полужирным курсивом. Значение высоты можно выбрать любым, но обращайте внимание на регламентации. Степень растяжения чаще всего ставят 0,8. После ввода всех значений, жмем «Применить» и переходим к вкладке размещения.

В размещении не имеет особого смысла вводить изменения. При желании можно задать масштаб размеров по листу и подгонку элементов. Подгонку элементов, если решили задать, то рекомендую размещение вручную.

Основные единицы позволяют определить точность размеров, а также масштаб. В уроке, я говорил, что при масштабировании размеры изменяются. В разделе основных единиц можно ввести масштабный коэффициент, который будет учитывать масштаб вида.

Точность отвечает за количество символов после запятой. Масштаб оставляем по умолчанию, или назначаем противоположный чертежу, чтобы сразу появлялись истинные значения размеров.

На альтернативные единицы заострять внимание не имеет смысла, так как они используются очень редко, и, при желании, Вы сможете разобраться с ними самостоятельно.

В допусках задаем отклонения для номинального размера.

Выбираем тип размера, или автоматический размер. Для указания диаметра, выбирайте тип размера диаметр, для радиуса, соответственно, радиус. Для редактирования любого размера достаточно дважды по нему щелкнуть левой кнопкой мыши и вносить изменения.

В этом уроке я старался объяснить, как сделать размеры в Автокаде, настроить значения отклонений, размеров и расположения основных элементов. Теперь Вы знаете, как поставить размеры в Автокаде и можете ответить, .

Все, что осталось непонятным, прошу излагать в комментариях внизу страницы.

Loading...Loading...