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!

DetachWireFromTerminal
Edit
Cables

Cables CompoundPath

Menu location
Cable Wires → CompoundPath
Workbenches
Cables
Default shortcut
C P
Introduced in version
0.2.0
See also
Cables WireFlex

Description

The CompoundPath command is designed to create a wire object based on a group of other wire objects. Its topological shape is a compound of wire shapes or a single wire shape.

It is possible to use CompoundPath as a base for Cable or CableConduit. Proper combination of WireFlex and CompoundPath can be used to simplify process of creation complex cable bundles or cables inside cable conduits avoiding unnecessary redundant base wires. Single WireFlex object can be a part of a few different CompoundPath objects influencing their shapes.

The below example ilustrates the main purpose and possibilities of CompoundPath object. The source example file can be downloaded from here: compoundPath_Test2.FCStd.

CompoundPath built of two distant wires

The CompoundPath cannot be directly edited like WireFlex. Its shape is a result of algorithms behind the Path Type property values: Complex, Wire or Simple and other additional properties processing its base wires declared under Links property.

Path Type: Complex

The Path Type:Complex algorithm creates a single wire shape based on all objects listed in Links property and partially on their Points property. Therefore, the use of this algorithm is possible only if all base objects listed in Links have Points property. Otherwise it will fail. Additionally the algorithm uses other properties "guessing" user intentions to create the desired shape.

Here are some rules used by the algorithm:

  • Gaps between base objects are allowed. They will be connected automatically with lines and arcs or Bézier curve. A smaller distance between ends of base objects is chosen to create the connection.
  • Direction of single base object is not important. The base objects will be connected in the order in the Links property.
  • If there is no gap between base objects the connection will be corrected with arc fillets.
  • If connection offset properties are used the boundary edges of base objects are shifted to reach the offset point.
  • If two consecutive line edges form a single line they are replaced by a single edge.
  • Tangency is preserved across all connections if possible (e.g. if MinimumFilletRadius allows it).

Path Type: Wire

The Path Type:Wire algorithm creates a single wire shape from Points property of all objects listed in Links property. Therefore, the use of this algorithm is possible only if all base objects listed in Links have Points property. Otherwise it will fail. It produces a wire shape based on a given points which is similar to what the command Draft Wire would do.

The rules used by the algorithm are similar to those used by the Path Type:Complex with the exception of a Bézier curve usage. The only allowed edge shapes in this mode are lines and arcs. If base object contains other shapes (e.g. BSpline), they will be replaced by the above two.

Path Type: Simple

The Path Type:Simple algorithm creates a compound of wire shapes listed in Links property. It produces exactly the same result like the command Part Compound would do.

Here any wire like objects (see Note 1) can be used as a base for CompoundPath shape not guaranteeing the success of producing the right wire to be useful as a base for a Cable or CableConduit. To successfully create such a wire (for CableConduit) the base shapes have to touch with their end vertices and additionally (to be useful as a base for Cable) they have to be properly ordered, i.e. the first vertex of the first shape must be the beginning of CompoundPath and the last vertex of the last shape must be the end of CompoundPath.

No additional automatic actions are done with Simple algorithm. If e.g. tangent connections between base shapes are needed, they have to be done manually.

The Simple algorithm can be used if results produced by Complex or Wire algorithms are not satisfactory. Keeping in mind the above rules, the series of connected sketches freely aligned in a 3D space can be used for example as a base shapes for a CompoundPath.

Usage

  1. Select at least two existing wire objects (see Note 1) in the 3D View or Tree View.
  2. Create CompoundPath by one of these methods:
    • Press the CompoundPath button.
    • Select the Cable Wires → CompoundPath option from the menu.
    • Right-click in the Tree View or the 3D View and select the Cable Wires → CompoundPath option from the context menu.

Example

The example shows how to create three different CompoundPaths by using base wires marking the beginning, middle and end of path. Gaps between individual wires are filled in automatically. In addition the middle wire is used by all three paths with a different offset. For details see the example document file: compoundPath_x3.FCStd.

(1) Set of base wires, (2) 3x CompoundPath with offsets built upon base wires, (3) Cables based on CompoundPaths

Notes

  • Note 1: The following wire objects can be safely used for selection as base: WireFlex, Draft Wire or another existing CompoundPath. Other objects containing Points property (e.g. Draft BSpline, Draft BezCurve) can also be used, but results can be different from the expected outcome (especially when Path Type property has value: Complex). Using other objects (e.g.Sketches) can be successful when Path Type property has value: Simple. However Cable or Cable Conduit creation can fail if there are e.g. gaps between such objects.
  • Note 2: There can be some unexpected shape results or errors especially when using Connection Offset Dist property with relatively high values. When troubleshooting such a shape it is recommended to start with Connection Offset Dist set to 0 and other parameters close to defaults and increase these values with small steps trying to understand what is happening.

Properties

Data

Base

  • DataLinks (LinkList): contains list of objects added to CompoundPath

Compound Path

  • DataConnection Offset Angle (Angle): specifies the angle of a connection offset distance.
  • DataConnection Offset Dist (Length): specifies the distance of the offset point in relation to the calculated connection point of the boundary edges of two consecutive base wires. It is used e.g. to fit different CompoundPaths based on the same base wire inside a single cable conduit.
  • DataConnection Type (Enumeration): specifies the type of curves used to connect base wires. Possible values are: Arc or Bez . Valid for Complex Path Type only.
  • DataDegree (Integer): specifies the degree of a Bezier function used in Connection Type property.
  • DataEdge With Smallest Bending Radius (String): (read-only) shows the name of edge containing smallest radius or preceding smallest radius if radius is 0. It can be used, together with Smallest Bending Radius, for identification of the edge with the smallest bending radius and comparing it with the specification of the cable built on its basis.
  • DataLength (Length): specifies the length of this CompoundPath.
  • DataMinimum Fillet Radius (Length): specifies the minimum fillet radius in the connections between base wires. The final radius can be longer if possible.
  • DataPath Type (Enumeration): specifies the type of the CompoundPath shape. Possible values are: Complex, Wire or Simple. They are presented in the Description.
  • DataPoints (VectorList): specifies the points of the CompoundPath in its local coordinate system.
  • DataRatio (Float): specifies the proportions of segments in the curve created inside the gap between base wires. Usually the value between 1 and 2 gives the best results.
  • DataSmallest Bending Radius (Length): (read-only) shows the smallest detected radius across all edges.


DetachWireFromTerminal
Edit
Cables

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

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