Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
New Custom Feature: EZ Wire

I'm still playing with the UI and logic rules, but basically it's a way to quickly route wire/pipe/cable when exact positioning isn't critical (like for our robots, when we need a basic path).
The example below shows a path that would require 7 points in RoutingCurve, but mine does it with just 3 MC positions.
https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/w/b8355f5cf6f02bcaeade2553/e/26b8cb50d10f4b14394f2077
3
Comments
It is probably enough for many simple applications where we would just want to show that "There is a wire required!" and have it in the BOM. It relying on MCs could make it easy to handle.
It gets serious hiccups, when I play with the MCs not being perpendicular to any of the basic planes, though …
I often make simple wires on a 3D curve through points (which includes MCs).
yes, this is why i need to figure how to handle weirdness. for our robots, perpendicular is ok, but yeah, it breaks for "strange" things I want to keep its behavior of forcing the wire to conform to each mc's Zaxis
That'll be both an important and a surprising issue when one MC moves with the part it is assigned to … ;0)
It might be a good approach to optimize for the wire length. Weirdness is probably long.
I updated it to use lines, arcs, and circles, rather than MCs because we will usually be working in Context.
.https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/w/b8355f5cf6f02bcaeade2553/e/20535b592817c77c3d553d34
Wa-wa-wa-wait a moment. What does that exactly do now? I need to play ….
ive rewritten it several times today, but it's stable now, though only for edges at the moment. I need to add back in axes from circles and arcs. And work on the UI, which is not quite where I want it.
So the idea is to make it orient straight sections along existing edges and use existing arcs or their axis to place the bends in order to easily create a routing that has a meaningful relationship with the design? I know Neil's FS, but I find it grew too complicaed for the mere basics in wiring I usually do, so I see a valid use case for this appoach of yours during conceptual or prototype stages and in moving assembies.
One important thing with wires I always run into is we need their length to order material for manufacturing, and we need to order that early (because of ridiculously long lead times). A good approximation would probably do. Could you (at some point) include that in the naming or some other part property that can show up in a BOM? I have added cable types to my custom material library before, so …
yes, length is trivial.
I have been working hard on this and now have manipulators for segment endpoints as well as controls for bspline weights at either end of each bridge curve. can you play around some more?
If I can figure out how to make it follow portions of arbitrary curves, it will be nearly complete. but everything i try to do is very difficult for me, so it takes time.
https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/w/b8355f5cf6f02bcaeade2553/e/20535b592817c77c3d553d34
@martin_kopplow
I hacked myself a solution for now, but it could be better. Maybe one of the good FS coders will help me…
You can now use MCs, Arcs, Circles, Curves, and Lines. and it names the final sweep with the length
https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/w/b8355f5cf6f02bcaeade2553/e/26b8cb50d10f4b14394f2077
A quick spin revealed it is still rather fast to use and easy to predict. That's good. I am working in metric, though, and though wire thickness follows document units, it will only show lenght in inches, it appears.
I'll play more with it later today: My current model has no wires. ;0)
yeah, I need to figure out how to output in doc units, but rounded
More improvements. added rounded polyline mode in addition to bspline. also length and output units.
future improvements:
- incorporate curve
- corner type per corner instead of global
- wire gauge and weight
- offset wire from picked locations
https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/w/874c608d127a359e989dadb4/e/20535b592817c77c3d553d34
Hi @joshtargo,
IMHO the point "Offset Wire From Picked Locations" is a (the?) very important one. If the idea is to use existing geomerty to orient the wire, the wire can't obviously be in the same location as say a part wiches edge was picked for the wire to follow. There would need to be an offset direction per section, which could make the corners quite interesting to calculate.
Are we talking wires or cables? What about multi core, then. In a concept design, Only the outer diameter is what counts (to me), just so enough space is reserved in the design for the routing. That is IMO met sufficiently by diameter. Wire gauges are not widely used outside the US anyway. Here, for example, wires are usually identified by cross section in mm². And then, apart from the copper, there's insulation of various thickness. I think the type of wire/cable should be user specified and then go into the part properties, so it shows up in the BOM. The part name could rather be an identifier along the lines of "Wire 23" with type and lenght being a BOM property. That would allow the part name to be consistent through versions.
@martin_kopplow I now have full triad manipulators for the wire points, but the manip is in global xyz. I need to figure out how to orient it aligned with the wire, and remap the transformation of the manipulator to each point's coordsys. could be working at some point, but this is by far my most complex FS, so it's taking some time.
@martin_kopplow holy s*** I think I made it work with manipulators to drag wire sections around.
EDIT: still some bugs, but almost there :(
basic workflow:
https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/v/8ef5c1f9fb5814bcfaae8444/e/20535b592817c77c3d553d34
Wow! The manipulators a great! I have a little thing with wires coming up, where I could try it. It is very small and space is tight, so I need to wrap the wires around everything inside …
theres still bugs to fix, the script is maybe getting out of hand for me, but I'm trying
Today; I tried it a bit. I have a simple vibration test rig that needs to be wired up.
It took a while until I got the hang of the selection behaviour, it's a bit tricky, for it gets unresponsive when the wrong item is active in the edit box. Then, I had a hard time connecting the start point to my plugs. That is mainly because each reference point appears to be a two-directional mid point. It would be helpful, if the start and end point would only have one direction, while all the other references inbetween were two-directional.
Then, it was difficult to get the wire run from one side of a part to the other, around the edge, see wiggle line in the picture. That is a situation where rotating the manipulator would be super helpful: Then, the wire could even be made to spiral around the edge.
I did all this in-context. I found it interesting, that I needed to create the start mate connectors before using EZwire FS. With the edit box open, they would not activate the target geometry. After returning back to the assembly, only 4 of the 5 mate connectors would transfer, and all under the first wire. I have no clue why.
@joshtargo I am not a coding wizard, so I can not help here, but I fully appreciate the work you do. If you think it is getting too wild, don't feel pushed, okay?
I'm glad you're trying it!
I've completely rewritten it possibly 2-3 times since our last message and it keeps getting better. I haven't added in Manipulators yet to the new code, but could you take a look at the latest? Also look at my example in the context example studio.
as for Mate connectors, it is not possible in featurescript to infer mate connectors in context (at least not more than 1) it is a huge pain, but unless a better coder tells me how to do it, it seems not possible. but using axis of a circle, arc, or line is a good way to have a similar effect, and those are built in to my new code.
Also remember, this is supposed to be "EZwire", and so it may not have all of the features of Routing Curve
https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/w/f5498f04cfe042af60e91d3f/e/20535b592817c77c3d553d34
Update with triad manipulators to move your selections
https://cad.onshape.com/documents/6661cf93ab8de38ee21084ba/w/b8355f5cf6f02bcaeade2553/e/20535b592817c77c3d553d34
@joshtargo
That looks good in the images posted. I'll try it later today. I agree it should be easy wire and not overloaded. All who don't thave their wire harnesses manufactured in large batches will probably agree that it does not always pay to go into too much detail. My stuff is usually one-off or prototype level, and the wires will be done by the team during first assembly in the shop. They just need to know where and how many wires to expect. That's what I like in your approach.
Else, we would even have to create full blown associative pinout tables and stuff for all the plugs of every wire in the design, which is certainly useful for serial production, but takes too much time for small batch manufacturing. Always use the right tool for the job …
my next step is to try and add manips for the ends of each selected segment, and for the start and end bspline weights for each segment. I'll See what I can do. But it seems to work as is
@joshtargo
I just rebuilt the wiring from the test rig with it. Placing start and end references is now much easier. The follow option is nice, but it seems it'll always follow all the way? It would be very nice if the start and the end of the follow could be pushed back a bit, for example if the wire was to follow only half a circle, or half an edge.
While playing around, I referenced the ends of wire 2, 3, 4 and 5 onto the end of wire 1 with a bit offset (offset=diameter). If I now readjust the end of wire 1, all the other wires will follow. Nice side effect. I guess that MCs as start and end points would still be useful, though. They're the onshape way.
Anyway, while I got along well with the b-spline option, I couln't get the polyline option to work at all. Maybe I misunderstood the concept.
(And what the hell am I doing here on a sunday? The weather forecast was as wrong as could be, the weather is fine, I should be flying.. :0/ )
@martin_kopplow Updated to allow MC's in Axis mode!
It's nice here too, where i live across the street from a municipal airport :) KBMG