Part CompoundFilter/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "==Свойства==")
(Updating to match new version of source page)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/ru
{{Docnav/ru
|[[Part_ExplodeCompound/ru|Explode compound]]
|[[Part_ExplodeCompound/ru|Разъединить соединение]]
|[[Part_Boolean/ru|Булевы операции]]
|[[Part_Extrude/ru|Extrude]]
|[[Part_Module/ru|Part]]
|[[Part_Workbench/ru|Верстак Part]]
|IconL=Part_ExplodeCompound.svg
|IconL=Part_ExplodeCompound.svg
|IconR=Part_Boolean.svg
|IconC=Workbench_Part.svg
|IconC=Workbench_Part.svg
|IconR=Part_Extrude.svg
}}
}}


<div class="mw-translate-fuzzy">
{{GuiCommand/ru
{{GuiCommand/ru
|Name=Part Compound‏‎Filter
|Name=Part Compound‏‎Filter
Line 16: Line 17:
|Version=0.17
|Version=0.17
}}
}}
</div>


[[File:CompoundFilter.png]]
[[File:CompoundFilter.png]]
Line 21: Line 23:
==Описание==
==Описание==


<div class="mw-translate-fuzzy">
CompoundFilter можно использовать для извлечения отдельных частей результата операции вроде [[Part Slice/ru|Part Slice]], с помощью которой вы разбили объект.
CompoundFilter можно использовать для извлечения отдельных частей результата операции вроде [[Part Slice/ru|Part Slice]], с помощью которой вы разбили объект.
</div>


Он может извлекать дочерние элементы по их индексам, тестировать дочерние элементы на предмет столкновений с формой трафарета и фильтровать дочерние элементы на основе их свойств, таких как длина, площадь, объем.
Он может извлекать дочерние элементы по их индексам, тестировать дочерние элементы на предмет столкновений с формой трафарета и фильтровать дочерние элементы на основе их свойств, таких как длина, площадь, объем.
Line 27: Line 31:
Если в результате есть только один дочерний элемент, результатом будет дочерний элемент. Если получается более одного дочернего элемента, на выходе будет новое соединение.
Если в результате есть только один дочерний элемент, результатом будет дочерний элемент. Если получается более одного дочернего элемента, на выходе будет новое соединение.


==Применение==
==Использование==


<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>


==Свойства==
==Свойства==


* {{PropertyData|Base}}: Object to be filtered.
* {{PropertyData|Основание}}: фильтруемый объект.
* {{PropertyData|Filter Type}} selectable options:
* Варианты выбора {{PropertyData|Filter Type}}:
** bypass; нет фильтра. Исходное соединение выводится без изменений.
** bypass; no filter. The original compound is output, unchanged.
** specific items; extract the items listed in the "items" property
** specific items; извлекаются элементы, перечисленные в свойстве "items"
** collision-pass; extract pieces that touch or intersect with 'Stencil' shape.
** collision-pass; извлекаются части, которые касаются или пересекаются с формой 'Stencil'.
** window-volume (default); extract all pieces which have a volume between "Window From" and "Window To" where 100% is the biggest piece - and not the unsliced object. The value of 100% is a reference value which can be overridden by "OverrideMaxVal".
** window-volume (по умолчанию); извлекаются все части, которые имеют объем между «Window From» и «Window To», где 100% - самая большая часть, а не неразрезанный объект. Значение 100% является эталонным значением, которое можно переопределить с помощью «OverrideMaxVal».
** window-area; the same as window-volume where the sliced area determines the selection instead of the volume.
** window-area; то же, что и window-volume, но где вместо объёма выделение определяет нарезанная площадь, а не объем.
** window-length; the same as window-volume where the length of the edges determines the selection instead of the volume.
** window-length; то же, что и window-volume, но где вместо объёма выделение определяет длина краёв.
** window-distance; extract children whose distance to 'Stencil' shape is within value window, defined by properties "WindowFrom", "WindowTo", "OverrideMaxVal".
** window-distance; извлекаются дочерние элементы, расстояние которых до формой 'Stencil' находится в пределах окна значений, определяемого свойствами «WindowFrom», «WindowTo», «OverrideMaxVal».
* {{PropertyData|Invert}}: If set to true the list as described above is excluded instead of included.
* {{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:
** if 'OverrideMaxVal' is nonzero - use it.
** если 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}}: Upper threshold percentage for selecting pieces, 100% is relative to the biggest piece.
* {{PropertyData|Window From}}: процент верхнего порога для выбора частей, 100% относительно самой большой части.
* {{PropertyData|Window To}}: Lower threshold percentage for selecting pieces, 100% is relative to the biggest piece.
* {{PropertyData|Window To}}: процент нижнего порога для выбора частей, 100% относительно самой большой части.
* {{PropertyData|items}}: List or range of elements to be selected if Filter Type is "specific items".
* {{PropertyData|items}}: список или диапазон элементов, которые нужно выбрать, если тип фильтра - «specific items».



==Примечания==


{{Docnav/ru
{{Docnav/ru
|[[Part_ExplodeCompound/ru|Explode compound]]
|[[Part_ExplodeCompound/ru|Разъединить соединение]]
|[[Part_Boolean/ru|Булевы операции]]
|[[Part_Extrude/ru|Extrude]]
|[[Part_Module/ru|Part]]
|[[Part_Workbench/ru|Верстак Part]]
|IconL=Part_ExplodeCompound.svg
|IconL=Part_ExplodeCompound.svg
|IconR=Part_Boolean.svg
|IconC=Workbench_Part.svg
|IconC=Workbench_Part.svg
|IconR=Part_Extrude.svg
}}
}}



Latest revision as of 10:13, 2 June 2022

Part Compound‏‎Filter

Системное название
Part Compound‏‎Filter
Расположение в меню
Деталь → Фильтр соединений
Верстаки
Part
Быстрые клавиши
Нет
Представлено в версии
0.17
См. также
Нет

Описание

CompoundFilter можно использовать для извлечения отдельных частей результата операции вроде Part Slice, с помощью которой вы разбили объект.

Он может извлекать дочерние элементы по их индексам, тестировать дочерние элементы на предмет столкновений с формой трафарета и фильтровать дочерние элементы на основе их свойств, таких как длина, площадь, объем.

Если в результате есть только один дочерний элемент, результатом будет дочерний элемент. Если получается более одного дочернего элемента, на выходе будет новое соединение.

Применение

  1. Выбрать нарезаемый объект
  2. Применить Деталь → Соединенить → Фильтр соединений
  3. Выберите CompoundFilterObject в древе проекта
  4. На вкладке свойств установите "Filter Type" на "specific items"
  5. Заенсите в свойство "items" элементы, которые вы хотите извлечь
    1. Для цельного куска это число, начинающееся с 0, т.е. если вы хотите извлечь первый элемент, введите 0 в это поле, 1 для следующего элемента ...
    2. Если вы хотите извлечь более одного фрагмента за раз, разделите числа знаком ";", например значение «0;2» извлечет первый и третий элементы
    3. Общий случай, который также охватывает упомянутые выше возможности, представляет собой список диапазонов индексов, указанных в нотации 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, ...
      • :;: дважды повторить введенное соединение
  6. Если вы хотите извлечь другой кусок, снова выберите нарезанный объект. Теперь он находится под CompoundFilter в дереве.
  7. Повторите процедуру выбора, описанную выше. Срез и его подэлементы будут отображаться в обоих 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».