Команда Вычитания кривых (CSub) предназначена для работы в 2D с полилиниями, сплайнами и другими кривыми. Команда вычитает из одной кривой другую, так как будто кривые обозначают границы некой области, из которой надо удалить участок другой области. Точно так же работает обычная команда вычитания _SUBTRACT с плоскими регионами (Region). Но теперь вам не понадобиться преобразовывать замкнутые кривые в регион, вычитать и обратно преобразовывать в кривые. Программа сделает это все сама. Кроме того программа может использоваться для разрезания замкнутых и разомкнутых кривых на части по точкам пересечения с другими кривыми. Программа может создавать зазоры, настраивать слои, сохранять или удалять исходные объекты чертежа и обрезки.
Возможности программы:
За 1 клик можно сразу вычесть множество кривых, не требуется сотни раз вызывать команду для каждой пары кривых. Не нужно копировать вычитаемые кривые, вычитаемая кривая будет удалена только после того, как программа вычтет ее из всех исходных.
Можно не выбирать вычитаемые кривые отдельным запросом, а выделить все кривые сразу. Программа найдет что вычитать по заданному слою.
Почти замкнутые кривые с небольшим разрывом программа считает замкнутыми.
Исходные кривые могут быть как угодно раскиданы и повернуты в 3D-пространстве - программа все спроецирует на плоскость XY текущей пользовательской системы координат UCS. Можно даже работать с 3D-полилиниями.
Вычитаемые замкнутые кривые рассматриваются как сплошные области и эта область исчезнет из исходного контура, а разомкнуты кривые рассматриваются как режущая линия.
Вы можете настроить зазор между результирующим контуром и обрезком. То есть программа умеет автоматически смещать (делать офсет) вычитаемую кривую, строить области вокруг незамкнутых кривых.
Результатам и обрезкам может быть назначен любой существующий или новый слой.
Исходные кривые можно удалять из чертежа, а можно сохранить.
Можно настроить до 9и разный стилей команды с разными настройками и быстро переключать их при каждом вызове команды.
Плагин AVC_CurveSub, помимо команды Вычитания Кривых, содержит еще команды:
Пересечения Кривых (CInt)
Объединение кривых (CUnion)
О загрузке и установке плагина читайте тут.
Для запуска плагина вам придется зарегистрироваться и пополнить баланс учетной записи или получить бонусы.
Затем можно активировать одну из лицензий:
Пример работы трех команд с нулевым зазором, без сохранения обрезков.
В качестве исходных кривых использованы замкнутые и разомкнутые полилинии, линия, сплайн, эллипс. Вычитаемые кривые выделены красным.
Результаты - это линии, полилинии, сплайны. Зеленый цвет.
В процедуре объединения не поучаствовали две линии и они остались в чертеже.
Настроить все опции команды можно в Палитре Настроек AVC на вкладке Вычитание Кривых.
Настройте систему координат - программа будет проецировать все кривые на XY.
Самопересекающиеся кривые не годятся для построения регионов и не будут обработаны. Рекомендуется предварительно обработать кривые командами Упрощения полилиний (CPoly) или Внешний контур (OSL).
Исходные кривые вы можете выбрать до вызова команды.
Вызовите команду CSub. Если ничего не выбрано заранее, то программа попросит вас выбрать кривые. Вы можете работать с любыми конечными кривыми: линиями, полилиниями, 2Д-полилиниями, 3Д-полилиниями, сплайнами, окружностями, дугами, эллипсами. Не обрабатываются бесконечные лучи, xLine, мульти-линии.
В запросе выбора кривых есть опции для быстрого переключения стиля и для открытия диалога настроек.
Если настроен выбор вычитаемых по слою, то программа сразу отделит исходные и вычитаемые объекты из тех, что уже выбраны. Если отсутствует слой вычитаемых кривых, то программа откроет диалог для выбора слоя из всех имеющихся.
Если вычитаемые кривые не выбраны по слою, то программа сделает еще один запрос выбора кривых, чтоб вы указали вычитаемые кривые.
Все кривые будут спроецированы на XY. Если задан зазор, то замкнутые вычитаемые кривые будут смещены (офсечены) наружу, а вокруг незамкнутых будет построена зона шириной в два зазора.
После вычитания или разрезания все замкнутые контуры останутся замкнутыми. Результатом будет замкнутая полилиния или сплайн. Но вы можете настроить, чтоб результатом вычитания для замкнутой исходной кривой стал регион.
Кривые, не поучаствовавшие ни в одном вычитании, останутся в чертеже без изменений (даже если настроено удалять исходные).
Процесс вычитания сотен и тысяч кривых может занять много времени. Вы увидите полосу прогресса и сможете прервать работу команды по ESC.
Следите за командной строкой. Программа будет выводить сообщения о текущих настройках, обо всех сбоях и результатах работы.
Настроить все опции можно в Палитре Настроек AVC на вкладке Вычитание Кривых. Имейте ввиду, что настройки этой команды общие с командами Пересечения Кривых и Объединения кривых.
Название для этого стиля вычитания кривых. Не используется в работе программы. Только для удобства выбора.
Вы можете выбирать вычитаемые кривые вручную в отдельном запросе. Но если всем вычитаемым кривым назначить один и тот же слой, то можно включить эту опцию, и программа сама перенесет кривые из списка исходных в список вычитаемых и не будет задавать вам лишних вопросов. По умолчанию для вычитаемых кривых используется слой Отверстия, тот же что и в программе Сверловка. Если слой не указан или отсутствует в чертеже, то команда CSub выведет диалог со списком всех слоев, чтоб вы могли слой.
Назначить слой для всех кривых, из которых удалось хоть что-то вычесть. Если такого слоя нет в чертеже, то программа попытается вытащить его из вашего шаблона. Или создаст новый. Оставьте поле пустым, чтоб сохранить слой исходной кривой.
После вычитания замкнутых кривых как регионов, программа может еще найти пересечение регионов для каждой пары исходная-вычитаемая кривая. Этот регион пересечения может быть сохранен в чертеже. Таким образом вы получите результаты сразу двух команд - вычитания и пересечения. Если исходная кривая была незамкнутая, то в чертеже останется вырезанный из нее кусок.
Обрезкам можно поменять слой. Если такого слоя нет в чертеже, то программа попытается вытащить его из вашего шаблона. Или создаст новый. Оставьте поле пустым, чтоб сохранить слой исходной кривой.
Увеличить (офсетить наружу) вычитаемую кривую на это число перед вычитанием. Причем для получения обрезков используется не увеличенная кривая. Поэтому в результате вы увидите щель между контурами результата и обрезка. Если вычитаемая кривая не замкнутая, то программа построит симметричную зону путем смещения кривой в обе стороны на заданный зазор. То есть зона буте шириной в 2 зазора. Таким образом вы можете разрезать исходные замкнутые кривые на части, оставив щель между частями.
Пользователи часто забывают обнулить зазор и думают, что вычитают кривые без зазора. И получают ошибочные контуры. Чтоб избежать этих ошибок программа по умолчанию сбрасывает значение зазора в конце работы. Но если вы хотите много раз вызывать программу с одним и тем же значением зазора, то отметьте эту опцию и зазор не будет обнуляться. Лучше создать отдельный стиль настроек команды вычитания, в котором указан зазор и отмечена эта опция.
Обрабатывать кривые, которые не удалось замкнуть. Если отключить эту опцию, то все незамкнутые кривые будут проигнорированы - и исходные, и вычитаемые.
После вычитания не взрывать регионы, а ставить их в чертеже. Настройка работает только для замкнутых исходных кривых.
Удалять исходные кривые, если из них хоть что-то вычтено. Если выбранная кривая не была обработана из-за сбоев или просто не пересеклась ни с одним вычитаемым, то такая кривая в любом случае останется в чертеже без изменений.
Удалить из чертежа вычитаемые кривые, если они были задействованы хотя бы в одной операции вычитания.
Настройка точности вычислений находится на вкладке Общие Настройки. Линейная точность влияет на допустимые зазоры при замыкании кривых, построении офсетов и другие операции.