FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

ExplodeCompound
Boolean
Part

Part Compound‏‎Filter

Menu location
Part → Compound → Compound Filter
Workbenches
Part
Default shortcut
None
Introduced in version
0.17
See also
None

Description

The Part CompoundFilter command 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.

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.

Usage

  1. Select the sliced object
  2. There are several ways to invoke the command:
    • Press the Compound Filter button.
    • Select the Part → Compound → Compound Filter option from the menu.
  3. Select the CompoundFilter Object in the Tree View.
  4. In the properties tab set "Filter Type" to "specific items".
  5. Set items to the elements you want to extract:
    1. 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 …
    2. 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.
    3. 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:
      • 7:10 take children of indexes 7, 8 and 9 (indexes are zero-based; range-to index is excluded).
      • 1;2 take children 1 and 2 (first range is child 1, second range is child 2, ranges joined by semicolon).
      • 0;-1 take first children (index 0) and last one (index -1 means last child, -2 - one but last, and so on).
      • 1: take all but first child (missing index means "all the way to the end").
      • ::-1 take all children in reversed order.
      • ::2 take all odd-indexed children, i.e. indexes, 1,3,5,…, which are the elments 2,4,6, …
      • :;: repeat the input compound twice.
  6. If you want to extract another piece select the sliced object again. It is now placed under the CompoundFilter in the Tree View.
  7. 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.

Properties

  • DataBase: Object to be filtered.
  • DataFilter Type selectable options:
    • bypass: no filter. The original compound is output, unchanged.
    • specific items: extract the items listed in the "items" property
    • collision-pass: extract pieces that touch or intersect with 'Stencil' shape.
    • 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-area: the same as window-volume where the sliced area determines the selection instead of the volume.
    • window-length: the same as window-volume where the length of the edges determines the selection instead of the volume.
    • window-distance: extract children whose distance to 'Stencil' shape is within value window, defined by properties "Window From", "Window To", "Override Max Val".
  • DataInvert: If set to true the list as described above is excluded instead of included.
  • DataOverride 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.
    • 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.
  • DataStencil: 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.
  • DataWindow From: Upper threshold percentage for selecting pieces, 100% is relative to the biggest piece.
  • DataWindow To: Lower threshold percentage for selecting pieces, 100% is relative to the biggest piece.
  • Dataitems: List or range of elements to be selected if Filter Type is "specific items".


ExplodeCompound
Boolean
Part

This page is retrieved from https://wiki.freecad.org/Part_CompoundFilter

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub