Part CompoundFilter/ru: Difference between revisions
(Created page with "==Примечания==") |
(Updating to match new version of source page) |
||
(17 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{Docnav/ru |
{{Docnav/ru |
||
|[[Part_ExplodeCompound/ru| |
|[[Part_ExplodeCompound/ru|Разъединить соединение]] |
||
|[[Part_Boolean/ru|Булевы операции]] |
|||
|[[Part_Extrude/ru|Extrude]] |
|||
|[[ |
|[[Part_Workbench/ru|Верстак Part]] |
||
|IconL=Part_ExplodeCompound.svg |
|IconL=Part_ExplodeCompound.svg |
||
⚫ | |||
|IconC=Workbench_Part.svg |
|IconC=Workbench_Part.svg |
||
⚫ | |||
}} |
}} |
||
<div class="mw-translate-fuzzy"> |
|||
{{GuiCommand/ru |
{{GuiCommand/ru |
||
|Name=Part CompoundFilter |
|Name=Part CompoundFilter |
||
Line 16: | Line 17: | ||
|Version=0.17 |
|Version=0.17 |
||
}} |
}} |
||
</div> |
|||
[[File:CompoundFilter.png]] |
[[File:CompoundFilter.png]] |
||
==Описание== |
|||
==Description== |
|||
<div class="mw-translate-fuzzy"> |
|||
The CompoundFilter can be used to extract the individual pieces of the result of e.g. a [[Part Slice]] operation, with which you have split an object. |
|||
CompoundFilter можно использовать для извлечения отдельных частей результата операции вроде [[Part Slice/ru|Part Slice]], с помощью которой вы разбили объект. |
|||
</div> |
|||
Он может извлекать дочерние элементы по их индексам, тестировать дочерние элементы на предмет столкновений с формой трафарета и фильтровать дочерние элементы на основе их свойств, таких как длина, площадь, объем. |
|||
It can extract children by their indexes, test children for collisions with stencil shape, and filter children based on their properties, such as length, area, volume. |
|||
Если в результате есть только один дочерний элемент, результатом будет дочерний элемент. Если получается более одного дочернего элемента, на выходе будет новое соединение. |
|||
If there is only one child in the result, the output is the child. If there is more than one child to output, the output is a new compound. |
|||
==Применение== |
|||
==Использование== |
|||
<div class="mw-translate-fuzzy"> |
|||
# Select the sliced object |
|||
# Выбрать нарезаемый объект |
|||
# Apply {{MenuCommand|Menu → Part → Compound → CompoundFilter}} |
|||
# Применить {{MenuCommand|Деталь → Соединенить → Фильтр соединений}} |
|||
# Select the CompoundFilterObject in the tree |
|||
# Выберите CompoundFilterObject в древе проекта |
|||
# In the properties tab set "Filter Type" to "specific items" |
|||
# На вкладке свойств установите "Filter Type" на "specific items" |
|||
# Set items to the elements you want to extract |
|||
# Заенсите в свойство "items" элементы, которые вы хотите извлечь |
|||
## For a single piece this is a number starting with 0, i.e. if you want to extract the first element enter 0 in this field, 1 for the next element ... |
|||
## Для цельного куска это число, начинающееся с 0, т.е. если вы хотите извлечь первый элемент, введите 0 в это поле, 1 для следующего элемента ... |
|||
## If you want to extract more than one piece at a time separate the numbers with ";", e.g. a value of "0;2" will extract the first and the third element |
|||
## Если вы хотите извлечь более одного фрагмента за раз, разделите числа знаком ";", например значение «0;2» извлечет первый и третий элементы |
|||
## The general case - which covers the possibilities mentioned above as well - is a list of index ranges, specified in Python notation, but without brackets. Ranges can be chained with semicolon. For example: |
|||
## Общий случай, который также охватывает упомянутые выше возможности, представляет собой список диапазонов индексов, указанных в нотации Python, но без скобок. Диапазоны можно объединять точкой с запятой. Например: |
|||
##* <tt>7:10</tt> take children of indexes 7, 8 and 9 (indexes are zero-based; range-to index is excluded). |
|||
##* <tt>7:10</tt> принимает дочерние элементы индексов 7, 8 и 9 (индексы отсчитываются от нуля; индекс диапазона до исключается). |
|||
##* <tt>1;2 </tt> take children 1 and 2 (first range is child 1, second range is child 2, ranges joined by semicolon) |
|||
##* <tt>1;2 </tt> принимает потомков 1 и 2 (первый диапазон - дочерний 1, второй диапазон - дочерний 2, диапазоны соединяются точкой с запятой) |
|||
##* <tt>0;-1</tt> take first children (index 0) and last one (index -1 means last child, -2 - one but last, and so on) |
|||
##* <tt>0;-1 </tt> взять первого дочернего элемента (индекс 0) и последнего (индекс -1 означает последний дочерний элемент, -2 - один перед последним и так далее) |
|||
##* <tt>1: </tt> take all but first child (missing index means "all the way to the end"). |
|||
##* <tt>1: </tt> взять все, кроме первого дочернего элемента (отсутствие индекса означает «полностью до конца»). |
|||
##* <tt>::-1</tt> take all children in reversed order |
|||
##* <tt>::-1 </tt> взять все дочерние элементоы в обратном порядке |
|||
##* <tt>::2 </tt> take all odd-indexed children, i.e. indexes, 1,3,5,..., which are the elments 2,4,6, ... |
|||
##* <tt>::2 </tt> взять все дочерние элементы с нечетным индексом, то есть индексы, 1,3,5, ..., которые являются элементами 2,4,6, ... |
|||
##* <tt>:;: </tt> repeat the input compound twice |
|||
##* <tt>:;: </tt> дважды повторить введенное соединение |
|||
# If you want to extract another piece select the sliced object again. It is now placed under the CompoundFilter in the tree |
|||
# Если вы хотите извлечь другой кусок, снова выберите нарезанный объект. Теперь он находится под CompoundFilter в дереве. |
|||
# Repeat the selection procedure from above. The slice and its subelements will be displayed under both CompoundFilters; they are, of course not repeated in the model. A very fast way to extract another piece is to copy the CompoundFilter. But '''watch out''': You are asked if you want to copy the elements under the CompoundFilter too, which you must answer with ''no'', you don't want to copy them, you only reference them. |
|||
# Повторите процедуру выбора, описанную выше. Срез и его подэлементы будут отображаться в обоих CompoundFilters; разумеется, они не повторяются в модели. Самый быстрый способ извлечь другой фрагмент - скопировать CompoundFilter. Но '''будьте осторожны''': вас спросят, хотите ли вы скопировать также элементы из CompoundFilter, на что вы должны ответить «нет», вы не хотите их копировать, вы только ссылаетесь на них. |
|||
</div> |
|||
==Свойства== |
|||
==Properties== |
|||
* {{PropertyData| |
* {{PropertyData|Основание}}: фильтруемый объект. |
||
* {{PropertyData|Filter Type}} |
* Варианты выбора {{PropertyData|Filter Type}}: |
||
** bypass; нет фильтра. Исходное соединение выводится без изменений. |
|||
** bypass; no filter. The original compound is output, unchanged. |
|||
** specific items; |
** specific items; извлекаются элементы, перечисленные в свойстве "items" |
||
** collision-pass; |
** collision-pass; извлекаются части, которые касаются или пересекаются с формой 'Stencil'. |
||
** window-volume ( |
** window-volume (по умолчанию); извлекаются все части, которые имеют объем между «Window From» и «Window To», где 100% - самая большая часть, а не неразрезанный объект. Значение 100% является эталонным значением, которое можно переопределить с помощью «OverrideMaxVal». |
||
** window-area; |
** window-area; то же, что и window-volume, но где вместо объёма выделение определяет нарезанная площадь, а не объем. |
||
** window-length; |
** window-length; то же, что и window-volume, но где вместо объёма выделение определяет длина краёв. |
||
** window-distance; |
** window-distance; извлекаются дочерние элементы, расстояние которых до формой 'Stencil' находится в пределах окна значений, определяемого свойствами «WindowFrom», «WindowTo», «OverrideMaxVal». |
||
* {{PropertyData|Invert}}: |
* {{PropertyData|Invert}}: если установлено значение true, список, как описано выше, исключается, а не включается. |
||
* {{PropertyData|Override Max Val}}: диапазон окна значений определяется в процентах от максимального значения. Максимальное значение вычисляется в соответствии со следующим набором правил: |
|||
* {{PropertyData|Override Max Val}}: Value window range is defined in percentages of maximum value. The maximum value is computed according to the following set of rules: |
|||
** |
** если OverrideMaxVal отличен от нуля - используется оно. |
||
** в противном случае, если указана ссылка 'Stencil' - вычисляется соответствующее значение формы трафарета (не применимо к расстоянию между окнами 'FilterType') |
|||
** otherwise, if 'Stencil' link is supplied - calculate the corresponding value of stencil shape (not applicable to window-distance 'FilterType') |
|||
** в противном случае берется максимальное значение от дочерних элементов в компаунде для фильтрации. |
|||
** otherwise, take maximum value from children in compound to be filtered. |
|||
* {{PropertyData|Stencil}}: ссылка на фигуру трафарета. Для Collision-Pass и Window-Distance FilterType stencil - это объект, с которым нужно проверить столкновение/расстояние. Для других типов фильтров «window-***» трафарет используется для предоставления справочного значения для процентных значений окна (переопределение максимального значения). Во всех остальных режимах «Stencil» игнорируется. |
|||
* {{PropertyData|Stencil}}: Link to a stencil shape. For collision-pass and window-distance FilterType's, stencil is the object to test collision/distance against. For other "window-***" filter types, stencil is used to provide reference value for window percentages (maximum value override). In all other modes, 'Stencil' is ignored. |
|||
* {{PropertyData|Window From}}: |
* {{PropertyData|Window From}}: процент верхнего порога для выбора частей, 100% относительно самой большой части. |
||
* {{PropertyData|Window To}}: |
* {{PropertyData|Window To}}: процент нижнего порога для выбора частей, 100% относительно самой большой части. |
||
* {{PropertyData|items}}: |
* {{PropertyData|items}}: список или диапазон элементов, которые нужно выбрать, если тип фильтра - «specific items». |
||
==Примечания== |
|||
{{Docnav |
{{Docnav/ru |
||
|[[Part_ExplodeCompound|Explode compound]] |
|||
|[[Part_ExplodeCompound/ru|Разъединить соединение]] |
|||
|[[Part_Extrude|Extrude]] |
|||
|[[Part_Boolean/ru|Булевы операции]] |
|||
|[[Part_Module|Part]] |
|||
|[[Part_Workbench/ru|Верстак Part]] |
|||
|IconL=Part_ExplodeCompound.svg |
|IconL=Part_ExplodeCompound.svg |
||
⚫ | |||
|IconC=Workbench_Part.svg |
|IconC=Workbench_Part.svg |
||
⚫ | |||
}} |
}} |
||
Latest revision as of 10:13, 2 June 2022
Part CompoundFilter |
Системное название |
---|
Part CompoundFilter |
Расположение в меню |
Деталь → Фильтр соединений |
Верстаки |
Part |
Быстрые клавиши |
Нет |
Представлено в версии |
0.17 |
См. также |
Нет |
Описание
CompoundFilter можно использовать для извлечения отдельных частей результата операции вроде Part Slice, с помощью которой вы разбили объект.
Он может извлекать дочерние элементы по их индексам, тестировать дочерние элементы на предмет столкновений с формой трафарета и фильтровать дочерние элементы на основе их свойств, таких как длина, площадь, объем.
Если в результате есть только один дочерний элемент, результатом будет дочерний элемент. Если получается более одного дочернего элемента, на выходе будет новое соединение.
Применение
- Выбрать нарезаемый объект
- Применить Деталь → Соединенить → Фильтр соединений
- Выберите CompoundFilterObject в древе проекта
- На вкладке свойств установите "Filter Type" на "specific items"
- Заенсите в свойство "items" элементы, которые вы хотите извлечь
- Для цельного куска это число, начинающееся с 0, т.е. если вы хотите извлечь первый элемент, введите 0 в это поле, 1 для следующего элемента ...
- Если вы хотите извлечь более одного фрагмента за раз, разделите числа знаком ";", например значение «0;2» извлечет первый и третий элементы
- Общий случай, который также охватывает упомянутые выше возможности, представляет собой список диапазонов индексов, указанных в нотации Python, но без скобок. Диапазоны можно объединять точкой с запятой. Например:
- 7:10 принимает дочерние элементы индексов 7, 8 и 9 (индексы отсчитываются от нуля; индекс диапазона до исключается).
- 1;2 принимает потомков 1 и 2 (первый диапазон - дочерний 1, второй диапазон - дочерний 2, диапазоны соединяются точкой с запятой)
- 0;-1 взять первого дочернего элемента (индекс 0) и последнего (индекс -1 означает последний дочерний элемент, -2 - один перед последним и так далее)
- 1: взять все, кроме первого дочернего элемента (отсутствие индекса означает «полностью до конца»).
- ::-1 взять все дочерние элементоы в обратном порядке
- ::2 взять все дочерние элементы с нечетным индексом, то есть индексы, 1,3,5, ..., которые являются элементами 2,4,6, ...
- :;: дважды повторить введенное соединение
- Если вы хотите извлечь другой кусок, снова выберите нарезанный объект. Теперь он находится под CompoundFilter в дереве.
- Повторите процедуру выбора, описанную выше. Срез и его подэлементы будут отображаться в обоих CompoundFilters; разумеется, они не повторяются в модели. Самый быстрый способ извлечь другой фрагмент - скопировать CompoundFilter. Но будьте осторожны: вас спросят, хотите ли вы скопировать также элементы из CompoundFilter, на что вы должны ответить «нет», вы не хотите их копировать, вы только ссылаетесь на них.
Свойства
- ДанныеОснование: фильтруемый объект.
- Варианты выбора ДанныеFilter Type:
- bypass; нет фильтра. Исходное соединение выводится без изменений.
- specific items; извлекаются элементы, перечисленные в свойстве "items"
- collision-pass; извлекаются части, которые касаются или пересекаются с формой 'Stencil'.
- window-volume (по умолчанию); извлекаются все части, которые имеют объем между «Window From» и «Window To», где 100% - самая большая часть, а не неразрезанный объект. Значение 100% является эталонным значением, которое можно переопределить с помощью «OverrideMaxVal».
- window-area; то же, что и window-volume, но где вместо объёма выделение определяет нарезанная площадь, а не объем.
- window-length; то же, что и window-volume, но где вместо объёма выделение определяет длина краёв.
- window-distance; извлекаются дочерние элементы, расстояние которых до формой 'Stencil' находится в пределах окна значений, определяемого свойствами «WindowFrom», «WindowTo», «OverrideMaxVal».
- ДанныеInvert: если установлено значение true, список, как описано выше, исключается, а не включается.
- ДанныеOverride Max Val: диапазон окна значений определяется в процентах от максимального значения. Максимальное значение вычисляется в соответствии со следующим набором правил:
- если OverrideMaxVal отличен от нуля - используется оно.
- в противном случае, если указана ссылка 'Stencil' - вычисляется соответствующее значение формы трафарета (не применимо к расстоянию между окнами 'FilterType')
- в противном случае берется максимальное значение от дочерних элементов в компаунде для фильтрации.
- ДанныеStencil: ссылка на фигуру трафарета. Для Collision-Pass и Window-Distance FilterType stencil - это объект, с которым нужно проверить столкновение/расстояние. Для других типов фильтров «window-***» трафарет используется для предоставления справочного значения для процентных значений окна (переопределение максимального значения). Во всех остальных режимах «Stencil» игнорируется.
- ДанныеWindow From: процент верхнего порога для выбора частей, 100% относительно самой большой части.
- ДанныеWindow To: процент нижнего порога для выбора частей, 100% относительно самой большой части.
- Данныеitems: список или диапазон элементов, которые нужно выбрать, если тип фильтра - «specific items».
Part
- Примитивы: Куб(Параллелограмм), Конус, Цилиндр, Сфера, Тор, Полый цилиндр,Примитивы, Связующие формы
- Создание и правка: Выдавливание, Построение фигуры вращения, Отражение, Скругление, Фаска, Создать плоскость из граней, Ruled Surface, Профиль, Sweep, Section, Cross sections, 3D Offset, 2D Offset, Создать полый объект, Projection on surface, Прикрепление
- Булевы операции: Соединить, Разорвать связь, Compound Filter, Булевы операции, Cut, Fuse, Common, Connect, Embed, Cutout, Boolean fragments, Slice apart, Slice, XOR
- Измерительные: Measure Linear, Measure Angular, Measure Refresh, Clear All, Toggle All, Toggle 3D, Toggle Delta
Документация пользователя
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework