Сегодня разбираем, как поставить размеры в компасе. После создания видов чертежа, необходимо сделать (проставить) размеры в компасе, ведь именно размеры отличают чертеж от рисунка. Разнообразие размеров в программе невелико, поэтому простановка размеров в компасе не составит труда даже для новичка.
Как поставить размеры в компасе
Итак, перед нами задача в компас 3d на чертеже расставить необходимые размеры. Для примера и пояснений подготовлен чертеж простого вала. Вал имеет 2 шпоночных паза, две шейки под установку подшипников и два резьбовых отверстия.
Чертеж простой, но и его будет достаточно для понимания проставления размеров.
Прежде чем разобраться, как проставить размеры в компасе, ознакомимся с инструментами, с помощью которых компас осуществляет нанесение размеров.
Перед нами вынесенная панель с размерными инструментами. О том, как вынести панель подобным образом, читайте в одном из уроков. Слева на право, на ней располагаются автоматический размер, линейный размер, диаметральный, радиальный, угловой размер дуги окружности и высоты.
В компас 3d построен вал, затем сделаны виды для чертежа, теперь необходимо расставить размеры. Виды в данном чертеже построены с 3d модели, поэтому очень важно для проставления размеров делать вид активным (активный вид подсвечивается синими линиями, а не активные черными), чтобы избежать искажения значений размеров при масштабировании. Удобнее всего пользоваться автоматическим размером, так как он при правильной привязке изменяется при перестроении чертежа и не слетает.
Поставим размер длины вала с помощью автоматического размера. Обязательно важно правильно дать привязки для размера.
Первая привязка должна быть к отрезку, а вторая к точке. При первой привязке необходимо навести курсор мыши на отрезок, он изменит свой цвет, с синего на красный, щелкнуть. Для второй привязки выбираем точку. Теперь выводим размер в удобное место и при необходимости редактируем. Для редактирования щелкаем один раз левой кнопкой мыши по размеру, затем правой и выбираем редактирование, щелкаем по размерной надписи.
При редактировании мы можем добавить записи до и после значения, под значением, указать фаску и назначить допуск. В левом нижнем углу будет видно, как будет выглядеть наша размерная надпись. Важно оставить галочку в квадратике «Авто». Отклонения можно задать вручную или же по квалитету. Для отображения допусков и квалитетов необходимо поставить галочку у «Включить». Размер можно заключить в прямоугольную рамку, что будет обозначать, что он номинальный, или в круглые скобки, что будет означать значение после сборки.
Линейный размер, в отличие от автоматического размера, имеет привязки из точек. Если точки привязки находятся на разном уровне, то необходимо выбрать тип размера горизонтальный, вертикальный, или параллельный объекту. Редактирование происходит аналогично автоматическому размеру.
Теперь рассмотрим, как задать допуски по квалитету. Также выбираем автоматический или линейный размер, жмем редактирование.
Знак диаметра ставится в поле единицы измерения, для этого достаточно кликнуть мышью по треугольнику в окне и выбрать диаметр. Нажимаем квалитет, появляется окно выбора квалитета, ставим точку у вала или отверстия, после чего выбираем нужный квалитет, подтверждаем, ставим галочки «Включить» у допуска и отклонений. Как и прежде, сформированную размерную надпись, до полного подтверждения, видно в левом нижнем углу задания размерной надписи.
Диаметральный и радиальный размеры для привязки требуют окружность или дугу, отличаются лишь тем, что измеряется диаметр и радиус соответственно (Знаки Ф и R ставятся автоматически). Нажав на радиальный размер левой кнопкой мыши, и, не отпуская ее, можно выбрать радиальный размер с изломом, который нужен в том случаи, когда центр окружности или дуги находится вне поля чертежа.
На примере диаметрального размера, рассмотрим изменение расположения надписи. Расположение надписи меняется при редактировании, для этого выбираются параметры, и далее выбирается расположение, после чего двигается надпись размера по полю чертежа в любое удобное место. Дополнительно изменять расположение надписи можно, выбрав кнопку правее, отмеченную на картинке цифрой 2. Располагать полки с размерной надписью можно у всех видов размеров.
У отверстия ставим глубину, дину резьбы, размер фаски и размер самой резьбы. Для обозначения резьбы в единицах измерения выбираем букву «М», в графе «Текст после» можно написать «-7Н» или написать шаг, если он нестандартный. Для указания фаски, в графе «Текст после» достаточно нажать на кнопку 45 градусов.
Постепенно переходим к угловому размеру. Угловой размер ставится с привязкой к двум отрезкам, при этом в роли отрезка не могут выступать автоматически нанесенные осевые линии.
После выбора привязок выбираем тип угла, это может быть минимальный острый угол между выбранными отрезками, максимальный тупой или больший 180 градусов. Допуски назначаются аналогично, как у автоматического и линейного размера, аналогично и размещается полка размерной надписи.
Заключающим этапом рассмотрим размер длины дуги и размер с обрывом. На картинке слева изображена длина дуги, а справа размер от оси симметрии.
Обращаю внимание, размер дуги считает именно длину дуги, а не радиус и диаметр, что для наглядности показано размером радиуса и длиной дуги. Такой размер поставить просто, привязка идет к дуге. Размер с обрывом можно поставить двумя способами: 1)Нажать на кнопку линейного размера и выбрать линейный с обрывом, затем привязаться к отрезку и любой точке и вручную ввести значение. 2) Поставить как обычный автоматический или линейный размер, затем отредактировать в размер с обрывом. Второй способ более удобный, его и рассмотрим. На картинке в качестве первой привязки отрезок, в качестве второй ось симметрии.
Слева и справа от редактирования расположения размерной полки, можно редактировать вид размерных стрелок. Слева две кнопки отвечают за первую стрелку, а справа за вторую. Сначала выбираем «Без стрелки», затем делаем неактивной отрисовку второй линии. Одна стрелка стала невидимой.
В этом уроке мы рассмотрели, как поставить размеры в компасе. Конечно, есть и другие способы, но доля их применения ничтожна мала. Еще раз обращаю Ваше внимание, что все размеры в компасе ставятся на активном виде.
В следующем уроке рассмотрим, как изменить размеры, как менять текст размерной надписи, как менять цвет текста размера и другие интересные настройки размеров.
Продолжаем цикл статей по работе с API САПР КОМПАС-3D. Управляющие символы уже несколько раз встречались нам на предыдущих уроках цикла. Тогда каждый раз говорилось, что выводимые строки не должны их содержать, так как КОМПАС обрабатывает их особым образом. Теперь пришло время познакомиться с ними поближе.
Освоив работу с ними, вы поймете, что создание сложных составных строк – тривиальная задача, в большинстве случаев не требующая написания большого объёма кода.
В уроке мы рассмотрим, как с помощью управляющих символов выводить спецсимволы и символы шрифта, поговорим о том, как с их помощью создавать дроби и отклонения, а также рассмотрим их использование совместно с параграфами.
Содержание цикла уроков «Работа с API КОМПАС-3D»
Беглый обзор
, ^ и #. К сожалению в КОМПАС SDK крайне мало информации о том, как их использовать. Более подробная информация приведена в справке КОМПАС, в разделе «9. Настройки КОМПАС-3D/Хранение настроек системы/Служебные файлы/Файл пользовательских меню/Синтаксис файла».
Все управляющие символы условно можно разделить на две группы: основные и вспомогательные. Вспомогательные символы используются только совместно с основными и, сами по себе не описывают какую-либо компоненту. В таблице ниже приводится краткое описание управляющих символов.
Рассмотрим их более подробно.
Вставка специальных символов
Мы уже рассматривали специальные символы (см. уроки 4 и 10). Тогда для вставки одного спецсимвола использовался отдельный экземпляр интерфейса ksTextItemParam. С помощью управляющих символов вы можете вставлять в строку столько спецсимволов, сколько сочтете нужным без многократного использования интерфейса ksTextItemParam.
Синтаксис вставки специальных символов имеет вид:
где
АА – строка, располагаемая до специального символа,
Y – модификатор представления кода спецсимвола,
XXXX – код вставляемого спецсимвола.
BB – строка, располагаемая после спецсимвола.
Код вставляемого спецсимвола указывается между @ и
. При этом в зависимости от значения модификатора Y, он может задаваться в десятичной или шестнадцатеричной системе счисления. Допустимые значения модификатора Y приведены в таблице ниже.
Примечание: как показывают мои эксперименты, КОМПАС нормально обрабатывает отсутствие символа
Ниже приводится пример программы, демонстрирующей вывод спецсимволов.
В данном примере дважды выводится один и тот же символ (α альфа). В первый раз его код задается в десятичной системе счисления, во второй раз – в шестнадцатеричной. На рисунке ниже показан результат работы программы.
Управляющие символы позволяют выводить в одной строке несколько спецсимволов. Так, в следующем примере демонстрируется вывод первых трех букв греческого алфавита за один вызов метода ksText.
На рисунке ниже показан результат работы этой программы.
Модификатор + является модификатором по умолчанию. Поэтому приведенную выше строку можно записать так:
При этом результат работы программы останется прежним.
Если после @ стоит недопустимый символ, то строка между @ и
опускаются. Например, при строке:
В документ будет выведено:
Примечание: такое поведение КОМПАС является недокументированным и может различаться в разных версиях программы.
Примечание: управляющие символы не подходят для вставки спецсимволов, содержащих строку. Дело в том, что для ограничения их действия нужно использовать флаг SPECIAL_SYMBOL_END (более подробно см. 10 урок цикла), но управляющие символы не позволяют использовать флаги.
Вставка символов шрифта
. Их синтаксис приведен ниже
где
AA – строка располагаемая до вставляемого символа,
FNAME – наименование шрифта, из которого берется символ,
Y – модификатор представления кода символа (аналогично @),
XXXX – числовой код вставляемого символа,
BB – строка располагаемая после вставляемого символа.
По своему назначению управляющий символ ^ похож на @. У них даже схожий синтаксис. Но между ними есть два важных отличия:
- ^ вставляет не специальный символ, а символ шрифта по его коду;
- для вставляемого символа можно задать шрифт в поле FNAME (@ этого не позволяет).
Коды символов можно посмотреть с помощью приложения charmap (Таблица символов), входящего в состав операционной системы Windows.
Если шрифт не указан, то используется шрифт по умолчанию. Ниже приводится пример использования символа ^.
В данном примере в результирующую строку вставляются два символа, для первого мы выбираем шрифт Arial, для второго оставляем шрифт по умолчанию. На рисунке ниже показана строка, которая выводится в документ.
Обратите внимание: шрифт задается только для выводимого символа. Как показывают мои эксперименты, КОМПАС нормально обрабатывает отсутствие завершителя
. Однако я не рекомендую полагаться на такое поведение и всегда ставить завершитель.
Если после ^ указан недопустимый символ (или недопустимый код), то ^ и
опускаются, а строка между ними выводится как есть с использованием шрифта по умолчанию. Например, при строке
В документ будет выведено:
“До Q(Arial)*B1 После”
Если в поле FNAME будет указано некорректное имя шрифта, то КОМПАС сам подберет шрифт и выведет символ в нём.
Если в строке нет закрывающей круглой скобки, то такая строка будет выведена не полностью. Например, при строке:
В документ будет выведено только
Примечание: приводимое выше поведение при некорректном синтаксисе управляющих символов справедливо для КОМПАС-3D V17 и не документировано. В других версиях оно может отличаться.
Дополнительные способы вставки символов
У символов @ и ^ есть аналоги – & и # соответственно. Они имеют схожий синтаксис:
AA – строка, выводимая до вставляемого символа,
XX – код вставляемого символа (для & – спецсимвола, для # – символа шрифта),
BB – строка, выводимая после вставляемого символа,
FNAME – наименование шрифта.
Различий между символами @ и ^, и их аналогами всего два:
- В символах & и # нет модификатора Y. Код символа всегда задается в десятичной системе счисления.
- Код вставляемого символа задается максимум двумя цифрами.
Ниже приводится исходный код программы, демонстрирующей работу с символами & и #.
На рисунке ниже показан результат работы этой программы.
Многострочный текст
. Ниже приводится исходный код программы, демонстрирующей вывод многострочного текста с помощью управляющих символов.
Обратите внимание: благодаря использованию управляющих символов мы выводим двустрочный текст всего одним вызовом метода ksText. На рисунке ниже показан результат работы этой программы.
Вставка управляющих символов
Мы разобрались, как вставлять произвольные спецсимволы и символы Unicode. Но что если требуется вставить сам управляющий символ? Тут можно пойти двумя путями. Первый способ это использовать символ ^ и вставить их как обычные символы шрифта. Но есть и более простой способ.
Символ ; является вспомогательным и может быть вставлен непосредственно в текст. Для вставки других управляющих символов их нужно задвоить. То есть пара символов @@ вставляет в текст один символ @. Это же справедливо и для других управляющих символов.
Ниже приводится пример программы, демонстрирующей вставку управляющих символов в строку.
На рисунке ниже показан результат работы этой программы.
Верхнее и нижнее отклонения
Для вставки отклонений используется следующий синтаксис:
AA – текст выводимый до отклонений;
XX – верхнее отклонение;
YY – нижнее отклонение;
BB – текст выводимый после отклонений.
Обратите внимание: вся конструкция ограничивается символами $, а символ «;» служит разделителем между верхним и нижним отклонениями.
Если между символами $ нет разделителя «;», то вся строка между ними интерпретируется как верхнее отклонение. Если компонента XX отсутствует, то есть после первого $ сразу идет «;», то вся последующая строка до ближайшего $ интерпретируется как нижнее отклонение.
Примечание: текст верхнего отклонения не должен начинаться с букв b, d, s, m и l (строчная L). Причина этого будет объяснена чуть позже.
Ниже приводится пример программы, демонстрирующей вывод текста с отклонениями
На рисунке ниже показан результат работы этой программы:
Учтите, КОМПАС обрабатывает только один символ «;». Второй символ «;» может интерпретироваться как завершитель всей конструкции. Например, при строке «11$22;33;44$» на экран будет выведено:
Примечание: такое поведение КОМПАС не документировано, поэтому полагаться на него нельзя.
Дробь
Синтаксис дроби похож на синтаксис отклонений и имеет два равнозначных варианта:
AA – текст выводимый до дроби;
XX – числитель;
YY – знаменатель;
BB – текст выводимый после дроби.
Обратите внимание: единственное, чем отличается вывод дроби от вывода отклонений это наличие буквы d или b сразу после первого знака $. Во всем остальном их синтаксисы идентичны.
Если между символами $d ($b) и $ нет символа «;», то вся строка между ними будет интерпретироваться как числитель. Если компонента XX отсутствует, то есть после $d ($b) сразу идет «;», то вся последующая строка до ближайшего $ интерпретируется как знаменатель.
Примечание: текст числителя не должен начинаться с букв s, m или l (строчная L). Причина этого будет объяснена чуть позже.
Ниже приводится пример программы, демонстрирующей вывод дроби с использованием управляющих символов.
На рисунке ниже показан результат работы этой программы.
Учтите, КОМПАС обрабатывает «лишние» символы «;» также как и в случае отклонений. Такое поведение является недокументированным, и полагаться на него нельзя.
Управление размером отклонений и дроби
В самом начале конструкции построения отклонений или дроби может находиться одна из букв: s, m или l (строчная L). Они задают размер отклонений и элементов дроби (числителя и знаменателя). Их назначение описывается в таблице ниже.
Если ни одна из этих букв не указана, то для дроби используется l, а для отклонений m. Ниже приводится пример программы, демонстрирующей использование этих букв.
На рисунке ниже показан результат работы этой программы.
Хотя в данном примере буквы s, m и l используются для дроби, их применение для отклонений ничем не отличается.
Учтите, что если между началом дроби или отклонения ($, $d или $b) и буквой s, m или l находится хотя бы один «посторонний» символ (например, пробел), то КОМПАС «не увидит» букв, и дробь или отклонение будут иметь размер по умолчанию.
Вложенные управляющие символы
При выводе дробей и отклонений, входящие в их состав строки обрабатываются рекурсивно. Это значит, что при формировании числителя и знаменателя так же могут использоваться управляющие символы. Этот подход демонстрируется в следующем примере.
На рисунке ниже показан результат работы этой программы.
Для вставки букв греческого алфавита мы используем управляющие символы @ и ^ (для буквы пи). Степень в первом слагаемом выводится с помощью отклонений. Ее выводит подстрока $s2$. Буква s указывает на малый размер отклонения, а благодаря отсутствию разделителя «;» выводится только верхнее отклонение.
Для формирования дроби используется комбинация $d;$. Причем в состав числителя и знаменателя входят управляющие символы, которые обеспечивают вывод букв греческого алфавита.
Последнее вычитаемое (π пи) выводится как символ шрифта Symbol с помощью управляющих символов ^ и
К сожалению возможности такой «рекурсии» сильно ограничены. Мы не можем дробь и отклонения вкладывать друг в друга. Проблема в том, что они оба формируются с помощью управляющего символа $. Из-за этого КОМПАС не может правильно разобрать, какой $ к какому элементу относится.
Управляющие символы в параграфе
Частично обойти ограничение с вложенными управляющими символами можно с помощью параграфов. Совместное использование управляющих символов и параграфов позволяет строить еще более сложные конструкции. Пример ниже демонстрирует построение 4-уровневой дроби.
В данном примере управляющие символы используются для построения дробей в числителе и знаменателе основной дроби, а также для вставки букв греческого алфавита. На рисунке ниже показан результат работы этой программы.
Заключение
На данном уроке мы познакомились с управляющими символами и научились с помощью них выводить спецсимволы и символы шрифта. Как вы могли убедиться, они предоставляют простой синтаксис создания строк, включающих в свой состав спецсимволы, дроби, отклонения. К сожалению, они плохо подходят для вставки спецсимволов, содержащих строки. Но такие спецсимволы встречаются крайне редко. Это одно из ограничений управляющих символов. Также с их помощью нельзя создавать надстроки и подстроки, и есть ограничения при работе со спецсимволами, включающими строки. Но это ничуть не умаляет их достоинств. На этом мы заканчиваем рассмотрение управляющих символов.
Продолжение следует, следите за новостями блога.
Сергей Норсеев, к.т.н., автор книги «Разработка приложений под КОМПАС в Delphi».
Программа Компас-3D позволяет проставлять точки несколькими различными способами, это позволяет находить оптимальные и менее время затратные варианты в различных ситуациях.
Перед тем, как перейти собственно к механизму построения точек, необходимо немного освоится с интерфейсом. В этом уроке мы будем работать с основным меню и инструментами из вкладки Геометрия. Будет долго постоянно искать нужные инструменты, поэтому лучше вытащить всю вкладку на основной экран. Это можно сделать через Вид – Панель инструментов – Геометрия. Осталось только нажать на нее, уже на инструментальной панели.
Учитывайте, что когда инструментальная панель включается в состав компактной, ее нельзя активировать в основном меню. Для этого необходимо щелкнув на инструментальной панели, извлечь ее из компактной. Используйте видимые маркеры, возле кнопки переключения.
Когда понадобится обратно добавить инструментальную панель, в состав компактной, это сделать просто. Достаточно лишь перетащить нужную панель на поле компактной, при этом зажав клавишу Alt. Как только, возле курсора появится символ +, отпустите клавишу Alt и кнопку мыши.
Однако вернемся к самому принципу построения точек. Первым делом создадим новый фрагмент. Для этого можно использовать основное меню, нажмите Инструменты – Геометрия – Точки – Точка, либо, что гораздо удобнее, активируем кнопку Точка в нашей компактной панели.
Главное задать нужное положение точки, для этого используем мышь. Довольно просто и интуитивно. Альтернативный вариант, задать нужные координаты, выбрав свойства нашей точки. Также необходимо выбрать стиль, в качестве урока рекомендуем Звезда, однако вы можете выбрать любой стиль. Указав окончательное место точки, или задав ей координаты, нажимаем на Enter. Вы всегда можете отменить действия, нажав на кнопку Прервать команду, она находится в панели свойств. Также команду прервать можно вызвать, просто нажав правую клавишу мыши и выбрав в строке сообщений соответствующий пункт.
Всегда можно построить несколько точек, которые разобьют кривую на ровные участки. Фактически автоматизированный метод, выбрать пункт Точки по кривой, для этого выберем кнопку Точка и будем удерживать некоторое время. В выпавшей панели, нам предложат задать количество участков, которые будут разбивать нашу кривую, а мышью необходимо выбрать саму кривую, которую и будем разбивать. Когда кривая одна или не замкнута, то программа сама построит точки, исходя из последних настроек.
Если кривая замкнута, то придется вручную указать первую и последнюю точки.
Еще одна команда Точки пересечения двух кривых используется для построения точек именно на пересечение двух кривых линий. Изначально выбирается первая кривая, которая имеет пересечение, для выбора другой кривой достаточно щелкнуть мощью, а чтобы перестроить точки, нажать на кнопку Указать заново.
Можно указать все места пересечения одной кривой, другими линиями. Для этого достаточно лишь нажать кнопку все точки пересечений кривой. После указания кривой, программа найдет все места пересечения линий и создаст там точки.
Другая полезная команда называется Точка на заданном расстоянии, при ее активации точки ставятся на заданных вами расстояниях, от любой выбранной точки. При этом, необходимо указать количество точек, кривую для их постановки, а также место базовой точки, от которой и будет идти отсчет расстояния. Указанное вами расстояние необходимо занести в специальное поле, на панели свойств. Иногда, расстояние необходимо высчитывать не от одной, а от нескольких точек. В этом случае, достаточно, их просто выделить и программа будет распределять исходя из настроек, по расстоянию между точками.
За рамками урока, остались стили точек, с этим можно ознакомиться самостоятельно. Выбрать меню стилей точек можно в контекстном меню или указать стиль для всех точек в панели свойств.
В ходе урока, мы подробно разобрали механизм установки точек, на кривые лини или чистый лист.