Настроить размеры в AutoCAD по ГОСТу, по высоте текста, а также создать свой собственный размерный стиль можно командой Формат / Размерные стили . Чтобы создать новый размерный стиль необходимо в диалоговом окне Диспетчер стилейщелкнутьНовый . Также в этом окне можно задать имя вновь созданного стиля. Рис 1 .
Диспетчер символов имеет много верхних вкладок. Это Линии, Стрелки и символы, Текст, Основные единицы. С помощью этих вкладок можно настроить размерный стиль.
В диалоговом окне Диспетчер стилей можно настроитьво вкладке Линии следующие параметры:
1) Задать шаг в базовых размерах
2) Удлинение за размерные линии – величина удлинения выносных линий за размерную линию
3) Отступ от объекта – отступы выносных линий от объекта
На вкладке Стрелки и символы можно произвести следующие настройки:
1) Стрелки можно задать дизайн стрелок, а именно левой, павой и выносной линии
) 2) Размер стрелки – можно указать размер стрелки
3) Символ длины дуги – задает положение дуги над текстом или под текстом
Вкладка текст, в которой можно настроить текст.
1) Текстовый стиль, в котором можно выбрать шрифт, задать отступ между символами
2) Высота текста – можно задать высоту текста
4) Выравнивание текста – можно задать выравнивание текста по горизонтали и по вертикали
5) Ориентирование текста – можно задать положение текста вдоль размерной линии, горизонтально
На вкладке Размещение можно задать Опции размещения, Выравнивание текста, Масштаб размерных элементов, подгонка элементов.
1) Опции размещения – когда текст и стрелки не могут быть помещены между выносными линиями (не помещаются) , то можно указать что будет первым вынесено за выносными линиями
2) Подавить стрелки если они не помещаются между выносными линиями – необходимо поставить галочку, если, да и ничего не ставить, если нет.
3) Выравнивание текста, можно задать положение размерной линии или стоить выноску, если вы будете перемещать текст на чертеже.
4) Глобальный масштаб, можно задать глобальный масштаб
5) Подгонка элементов, можно задать положение элементов
Вкладка Основные единицы можно указать точность размеров. Указать префикс, допустим, если вы хотите, чтобы перед цифрами размера была буква, например В10, а не просто значение 10. Это необходимо, когда нужно указать, что размер или размер чего. Также в этой вкладке можно указать разделитель между целой и дробной части (точка или запятая).Можно указать масштаб измерений (в зависимости от масштаба чертежа). Можно указать размерность и точность угловых размеров (в градусах или в градусах минутах секундах).
Ну и во вкладках Альтернативные единицы и Допуски , можно указать альтернативные единицы и допуски.
Если вы работаете над чертежом, то однозначно задавались вопросом: как сделать размеры в Автокаде? Ведь это обязательный элемент любого проекта.
В предыдущей статье мы уже рассмотрели, как задать размер в Автокаде , к тому же были изучены основные моменты их нанесения. Теперь самое время поговорить о том, как настраивать размеры, чтобы их внешний вид соответствовал необходимым требованиям к чертежу. Сейчас речь идет не только о размере текста, но и о его ориентации и местоположении, точности числовых значений (т.е. количестве знаков после запятой), внешнем виде стрелок (засечки, точки и т.п.), а также настройке выносных/размерных линий (цвет, тип, вес и т.п.).
Как настроить размеры в Автокаде?
За внешнее отображение размеров на чертеже отвечает Размерный стиль. Достаточно один раз выполнить его настройку, сохранить чертеж как шаблон и в дальнейшем применять его в работе, не теряя время на редактирование размеров.
Итак, в AutoCAD изменить размер, а вернее, настроить его внешний вид, можно в Диспетчере размерных стилей. Есть несколько способов, чтобы вызвать данное диалогового окно:
На вкладке «Главная» - на панели «Аннотации» раскрыть внизспадающий список и нажать на небольшую иконку с изображением размера, как показано на рис. 1.
На вкладке «Аннотации» на панели «Размеры» нажать на небольшую стрелочку в правом нижнем углу панели, как показано на рис. 2.
Прописать в командной строке «_dimstyle».
Какой бы способ вы не выбрали, отроется диалоговое окно «Диспетчер размерных стилей» (см. рис. 3), в котором можно редактировать или создавать новые стили.
Несмотря на то, что настроек довольно-таки много, все они сгруппированы и объединены на соответствующих вкладках «Линии», «Символы и стрелки», «Текст» и т.д.
Настройка размеров в Автокаде. Пример.
Описывать каждый параметр – не целесообразно. Однако, все же перечислю основные моменты, на которые стоит обратить внимание. Также приведу пример настроек, которыми я постоянно пользуюсь.
Лучше всегда создавать новые стили и задавать им названия, которые будут их характеризовать.
Итак, сначала нужно вызвать «Диспетчер размерных стилей». Задать имя нового стиля «ГОСТ_3.5К» на основе «ISO-25»:
1. Вкладка «Линии»:
Цвет и тип линий → По слою.
Вес линии → 0.18 мм.
Шаг в базовых размерах → 10 мм.
Цвет, а также тип выносной линии 1 и 2 → «По слою».
Отступ от объекта → 0 мм.
2. Вкладка «Символы и стрелки»:
Стрелки → Первая, Вторая → Наклон.
Стрелки → Выноска → Закрашенная замкнутая.
Цвет и тип линий → По слою.
Размер стрелки → 3.
Маркер центра → Линия (значение 2.5).
Символ длины дуги → «Над текстовым размером».
3. Вкладка «Текст»:
Текстовый стиль → Выбрать ранее созданный или создать новый (читайте подробнее, про настройку текста). Вот небольшой пример: для создания нового стиля перейти в редактор стилей текста, создать новый на основе «ГОСТ_3.5К» → задать имя «Размерный_3.5» → Имя шрифта «Simplex.shx». Шрифт с расширение *.shx может использовать значение веса линии. Применить → Закрыть → Выбрать вновь созданный стиль.
Цвет текста → По слою.
Цвет заливки → Без заливки (значение «нет»).
Все остальные параметры – по умолчанию.
4. Вкладка «Основные единицы»:
Точность → 0 (все остальные параметры оставить по умолчанию).
5. Все остальные вкладки – по умолчанию.
После всех настроек размеры на чертеже могут выглядеть следующим образом (рис. 4).
Размерный стиль со знаком «диаметр».
Рассмотрим еще один пример, как в AutoCAD изменить размер. Для того чтобы поставить размер со знаком диаметра ∅, нужно перейти на вкладку «Аннотации» → Панель «Размеры» → «Диспетчер размерных стилей» → Новый… → на основе «ГОСТ_3.5К» → Имя «ГОСТ_3.5К_диаметр». На вкладке «Основные единицы» установить значение префикса → %%с (значение спецсимвола на латинице). Читать подробнее,
Чертеж детали неприемлем без нанесенных на него размеров. Размеры должны полностью определять величину изделия. Их должно быть достаточное количество, но лишних размеров наносить также не нужно.
Размеры на чертеже могут быть линейные, угловые, радиальные. А так же советую почитать статью « » Линейные размеры определяют длину, ширину, высоту изделия и указываются в миллиметрах без обозначения единицы измерения. Угловые размеры измеряются в градусах, минутах, секундах с обозначением единицы измерения. Радиальные размеры указывают длину радиусов или диаметров дуг и кругов. Размер состоит из:
- Выносных линий, проведенных перпендикулярно отрезку, которые измеряется. Выносные линии угловых размеров проводят радиально, а при нанесении размера дуги — перпендикулярно ее хорде или радиально.
- Размерных линий, проведенных параллельно отрезку, размер которого определяется на расстоянии не менее 10 мм от контура детали. Концы размерных линий ограничиваются стрелками насечками или точками. Выносные линии выходят за размерные на 1 — 5 мм. При нанесении нескольких параллельных размерных линий ближе к контуру наносится меньший размер. Размерными линиями угловых размеров являются дуги с центром в вершине угла или дуги.
- Размерных чисел, которые указывают величину изделия.
В зависимости от изделия и ориентации выносных линий размеры могут быть горизонтальными, вертикальными, параллельными, повернутыми, ординатными. Можно проставлять размеры от общей базы и образовывать размерные цепочки.
Нанесение размеров можно выполнить одним из двух методов. Первый состоит в том, что после введения команды курсором мышки указывается объект, размер которого измеряется и задается положение размерной линии. При использовании второго метода курсором мышки указываются начальные точки выносных линий и положение размерной линии. В последнем случае рекомендуется включить режим объектной привязки.
Варианты нанесения размеров или их редактирования содержатся в команде меню Dimension , а также в виде кнопок на панели Dimension .
AutoCAD создает ассоциативные размеры. Ассоциативность заключается в том, что при изменении объектов командами редактирования элементы размеров автоматически обновляются.
Вид размера на чертеже зависит от выбранного стиля. По умолчанию предлагается стиль ISO-25, предназначенный для машиностроительного черчения. AutoCAD предоставляет возможность вносить изменения в существующие стили, а также создавать собственные стили. От выбранного размерного стиля зависит отображения выносных линий, размер и положение текста, длина и тип стрелок, базовый интервал между размерными линиями и т. и др. Руководят процессом нанесения размеров размерные переменные, значения которых можно изменить при помощи соответствующими командами или в диалоговом окне Dimension Style Manager . Внесение изменений в существующий стиль происходит в диалоговом окне Modyfy Dimension Style . На соответствующих вкладках данного окна можно изменить значение размерных переменных. Вызывается окно нажатием кнопки Modify в окне Dimension Style Manager .
Для создания нового стиля нажать кнопку New в окне Dimension Style Manager в поле New Style Name ввести имя стиля и нажмите кнопку . После чего на вкладках окна Modyfy Dimension Style задать характеристик размеров.
На вкладке Line и вкладке Symbols and Arrows задается цвет, толщина и другие характеристики размерных и выносных линий. Выбирается тип и размер стрелок. На этой же вкладке выбирается отображать или не отображать маркеры в центре круга, а также их размер.
На вкладке Text выбираются параметры размерного текста: цвет, стиль, выравнивание.
На вкладке Fit осуществляется управление взаимным размещением размерных, выносных линий и текста, а также масштабом размеров.
На вкладках Primary Units и Alfernate Units определяется формат единиц измерения, задается точность.
На вкладке Tolerance определяется формат и точность допусков.
Нанесение линейных размеров
Линейные размеры могут быть горизонтальными, вертикальными, ординатного, образовывать стабильные цепи или могут быть нанесены от общей базы. Команда DIMLINEAR (DLI) (Линейный) Способы ввода команды:
Ввести команду одним из перечисленных способов. Система выдаст запрос: Specify first extension line origin or
- Mtext . Откроется окно многострочного текстового редактора Multiline Text Editor , в котором можно внести изменения в размерный текст. Угловые скобки < > обозначают размерное число, определенное системой.
- Text . Позволяет внести изменения в размерный текст, воспользовавшись редактором однострочного текста. При внесении изменений можно набирать определеные последовательности символов, чтобы вставить перед размерным числом знак диаметра (%%с), вставить в текст знак градуса (%%d) и т.д.
- Angle . Можно изменить угол наклона размерного числа или размерного текста. После выбора данной опции система выдаст запрос на значение угла: Specify angle of dimension text:
- Horizontal . Используется для нанесения горизонтального размера. Система выдаст запрос относительно положения размерной линии: Specify dimension line location or [ Mtext / Text / Angle ] :
- Vertical . Используется для нанесения вертикального размера. Система выдаст запрос на положение размерной линии: Specify dimension line location or [ Mtext / Text / Angle ] :
- Rotated (Повернутый). Используется, если необходимо задать угол наклона размерной линии. Система выдаст запрос на значение угла: Specify angle of dimension line <0 > : и запрос относительно положения размерной линии: Specify dimension line location or [ Mtext / Text / Angle ] :
Диалог при нанесении повернутого размера:
При нанесении размеров AutoCAD строит выносные линии перпендикулярно размерной. Однако в случае, если выносные линии ухудшают читаемость других элементов чертежа, угол их наклона можно изменить уже после создания размера.
Для изменения наклона выносных линий:
1. Построить линейный размер.
2. Из меню Dimension выбрать Oblique .
3. Выбрать размер или размеры. Нажать ENTER .
4. Ввести значение угла наклона или указать две точки.
Данной командой строится размерная линия, угол наклона которой совпадает с углом наклона выбранного объекта. Размер наносится аналогично линейному.
Команда DIMBASELINE (DBA) (Базовый) Способы ввода команды:
Ряд размеров (линейных, угловых, ординатных) наносится от общей базовой. За базовую принимается первая выносная линия размера, проставленного предварительной командой, или можно выбрать другую базовую линию. Запрос, относительно положения размерной линии не выдается, поскольку базовый интервал определяется размерным стилем. Выполняется команда в том случае, когда на чертеж нанесен хотя бы один размер, любой из команд DIMLINEAR , или DIMANGULAR .
Система поддерживает такой диалог:
Команда DIMCONTINUE (Продолжить) Способы ввода команды:
Команда создает размерную цепочку, в которой вторая выносная линия предыдущего размера является исходной для размера, который проставляется. Размерные линии принадлежат одной прямой и запросы по их положение не выдаются. Работа команды аналогична работе предыдущей команды .
Команда DIMORDINATE (Ординатный) Способы ввода команды:
Ординатные размеры указывают координаты X или Y точек относительно базовой точки. Базовой точкой, как правило, левый нижний угол детали. Центр системы координат перед простановкой ординатных размеров можно переместить в базовую точку командой UCS с опцией New . Ординатный размер задает расстояние точки до базовой точки соответственно вдоль оси Х или по оси Y и состоит из выносной линии и значение расстояния. Вдоль какой оси проставить значение расстояния, система определяет автоматически.
Для нанесения координатного размера ввести одним из способов команду, а дальше поддерживайте диалог:
Нанесение радиальных размеров
Размер дуги или окружности определяется значением радиуса или диаметра. Для этих объектов существует также возможность нанесения маркеров центра и центровых линий. Команда DIMDIAMETER (Диаметр) Способы ввода команды:
Для нанесения диаметра ввести команду одним из способов. На запрос: Select arc or circle: показать перекрестком любую точку объекта. AutoCad позволяет создать размерную линию произвольной длины и разместить ее под любым углом. Пользуясь опциями команды, можно редактировать размерный текст, а также изменить угол его наклона. Перед значением диаметра AutoCad автоматически вставляет символ. Размерная линия для данного размере не должна быть вертикальной или горизонтальной.
Команда DIMRADIUS (Радиус) Способы ввода команды:
Нанесение радиуса осуществляется аналогично нанесению диаметра. Перед значением радиуса AutoCad автоматически вставляет символ R.
Нанесение угловых размеров
Угловые размеры можно определить для дуги, двух отрезков, трех точек, которые не принадлежат прямой. Выводятся угловые размеры с обозначением единицы измерения о (градус). Размерной линией углового размера является дуга, с центром в вершине угла, выносные линии формируются автоматически. Угловые размеры можно наносить от общей базы, а также создавать размерную цепь. Команда DIMANGULAR (Угловой) Способы ввода команды:
Нанесение угловых размеров сопровождается диалогом:
Command: _dimangular | Команда Угловой. |
Select arc, circle, line, or |
Указать дугу, окружность, линию или <параметр по умолчанию>: От данного выбора зависят, которые запросы система выдаст дальше. |
Select second line: | Указать вторую линию. |
Specify dimension arc line location or : m | Определить положение размерной линии или выбрать параметр. Выбрать функцию Mtext для редактирования размерного текста. |
Specify dimension arc line location or: | Определить положение размерной линии. |
Dimension text = 36 | Система выдает значение размерного текста. |
На этом изучение методов нанесения размеров окончено. А в следующем уроке мы расскажем о .
В данной заметке показан подробный пример по созданию и настройке размерного стиля в 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; } } }
Размеры в Автокаде рекомендуется ставить после того, как будут готовы все виды и элементы чертежа. Научившись их ставить, Вы поймете и как изменять размеры в Автокаде. Тема очень важная, так как наличие размеров отличает чертеж от обычной картинки. Большинство размеров имеют допуски и соответствующие квалитеты точности изготовления, грамотный специалист обязан их назначать и указывать на чертежах. Я не буду учить назначать допуски, но, как указывать значения в Автокаде, обязательно покажу.
На панели всего две кнопки, связанные с размерами. Под цифрой 1 имеется возможность выбора типа размера, под цифрой 2 автоматический выбор размера, то есть программа сама определяет, какой тип размера пользователь хочет указать (диаметр, угол, длина дуги и другие).
Для выбора типа размера вручную, щелкаем по треугольнику рядом с кнопкой 1 и видим возможные варианты.
Прежде чем ставить размеры, необходимо настроить стиль. Без соответствующих настроек, картина будет выглядеть следующим образом.
Длина вала 280 миллиметров, но при этом практически не видно размерных стрелок и его значения. Это говорит о том, что ничего не настроено. Настраиваем. Итак, на панели выбираем «Аннотации».
Затем выбираем строку размерного стиля. Это вторая строка с символом размера. Жмем по надписи «Standard» и далее «Управление размерными стилями».
Текущий стиль нужно отредактировать, задав необходимые настройки. В настройках линий необходимо указать цвет и тип линий по слою. Вес линий указываем 0,18 миллиметра.
Задаем шаг в базовых размерах 10, затем цвет выносных линий, а также тип первой и второй линии – по слою. Вес линии задаем также 0,18 миллиметра, или 0,2 миллиметра, что не очень принципиально, нулевой отступ от объекта. Переходим к символам и стрелкам.
В данном разделе достаточно настроить размеры стрелки и расположение длины дуги над текстом размера. При желании Вы можете выбрать, как будут выглядеть стрелки. Закрашенная замкнутая стрелка – классический вид. Одна из самых интересных и важных вкладок – текст.
Редактируем цвет и размещение текста. Я предпочитаю вертикальное размещение по центру линии, а ориентацию вдоль линии. Расположение и размер текста размерной линии на чертеже регламентируется, обратите на это внимание. Необходимо отредактировать текстовый стиль, или создать новый, для этого нажимаем многоточие рядом с название стиля по умолчанию. На картинке показано стрелкой и цифрой 1.
Есть выбор настроить текущий стиль, или создать новый. В стиле можно настроить имя шрифта, начертание, высоту символов, степень растяжения и эффекту. Начертание может быть обычным, курсивом, полужирным, полужирным курсивом. Значение высоты можно выбрать любым, но обращайте внимание на регламентации. Степень растяжения чаще всего ставят 0,8. После ввода всех значений, жмем «Применить» и переходим к вкладке размещения.
В размещении не имеет особого смысла вводить изменения. При желании можно задать масштаб размеров по листу и подгонку элементов. Подгонку элементов, если решили задать, то рекомендую размещение вручную.
Основные единицы позволяют определить точность размеров, а также масштаб. В уроке, я говорил, что при масштабировании размеры изменяются. В разделе основных единиц можно ввести масштабный коэффициент, который будет учитывать масштаб вида.
Точность отвечает за количество символов после запятой. Масштаб оставляем по умолчанию, или назначаем противоположный чертежу, чтобы сразу появлялись истинные значения размеров.
На альтернативные единицы заострять внимание не имеет смысла, так как они используются очень редко, и, при желании, Вы сможете разобраться с ними самостоятельно.
В допусках задаем отклонения для номинального размера.
Выбираем тип размера, или автоматический размер. Для указания диаметра, выбирайте тип размера диаметр, для радиуса, соответственно, радиус. Для редактирования любого размера достаточно дважды по нему щелкнуть левой кнопкой мыши и вносить изменения.
В этом уроке я старался объяснить, как сделать размеры в Автокаде, настроить значения отклонений, размеров и расположения основных элементов. Теперь Вы знаете, как поставить размеры в Автокаде и можете ответить, .
Все, что осталось непонятным, прошу излагать в комментариях внизу страницы.